Merge remote-tracking branch 'abeudin/master'
This commit is contained in:
commit
c7606f5eed
24
README.md
24
README.md
@ -63,30 +63,31 @@ It is possible to add a menu to your homepage that links to static pages. To do
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- about: "About Me"
|
||||
- contact: "Contact"
|
||||
- about: "About"
|
||||
- first_gallery: "My first gallery"
|
||||
- http://twitter.com: "Twitter"
|
||||
```
|
||||
|
||||
The first part (`about` and `contact`) here are the name of the files (without
|
||||
the `.yaml`) and the second part are the menu title that will be displayed in
|
||||
the templates. So, here, you'll need to create a ``about.yaml`` and a
|
||||
``contact.yaml`` files in the root directory. Their content are similar to
|
||||
galleries (see [bellow](#gallery-settingsyaml)).
|
||||
|
||||
For example, this could be the content of `contact.yaml`:
|
||||
For example, this could be the content of `settings.yaml` in `about` folder:
|
||||
|
||||
```yaml
|
||||
title: "Contact"
|
||||
title: "About"
|
||||
static: true
|
||||
public: false
|
||||
sections:
|
||||
- type: text
|
||||
text: Some text, HTML <b>is allowed</b>.
|
||||
```
|
||||
|
||||
The `static` option is use it for don't need to give date and cover at the static page.
|
||||
If you don't want see the page in front page you can use the `public` option.
|
||||
|
||||
### Gallery settings.yaml
|
||||
|
||||
This settings.yaml will describe:
|
||||
|
||||
* the title, subtitle and cover picture of your gallery that will be used on the homepage
|
||||
* the tags is optional
|
||||
* if your gallery is public (if not, it will still be built but won't appear on the homepage)
|
||||
* the date of your gallery: this will be used on the homepage since **galleries are sorted anti chronologically** on it
|
||||
* the list of sections that will contains your gallery. A section will represent either one picture, a group of pictures or text. The different kind of sections will be explained in the next README section.
|
||||
@ -98,6 +99,9 @@ title: Gallery title
|
||||
sub_title: Gallery sub-title
|
||||
date: 2016-01-15
|
||||
cover: my_cover_picture.jpg
|
||||
tags:
|
||||
- #yolo
|
||||
- #travel
|
||||
sections:
|
||||
- type: full-picture
|
||||
image: big_picture.jpg
|
||||
|
@ -1,5 +0,0 @@
|
||||
title: "Menu 1"
|
||||
sections:
|
||||
- type: text
|
||||
text: « voici plein de blabla à rajouter et <b>ceci est du gras</b> et encore plein plein plein plein de text car je veux voir comment ça va wrapper car c'est important et il faut pas que j'oublie de mettre des margins en % sinon ça va pas le faire alala là ça devrait aller »
|
||||
|
6
example/about/settings.yaml
Normal file
6
example/about/settings.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
title: "About"
|
||||
static: true
|
||||
public: false
|
||||
sections:
|
||||
- type: text
|
||||
text: Some text, HTML <b>is allowed</b>.
|
@ -1,5 +0,0 @@
|
||||
title: "Menu 2"
|
||||
sections:
|
||||
- type: text
|
||||
text: « voici plein de blabla à rajouter et <b>ceci est du gras</b> et encore plein plein plein plein de text car je veux voir comment ça va wrapper car c'est important et il faut pas que j'oublie de mettre des margins en % sinon ça va pas le faire alala là ça devrait aller »
|
||||
|
@ -1,4 +1,5 @@
|
||||
title: "Example gallery"
|
||||
menu:
|
||||
- about: "Menu 1"
|
||||
- contact: "Menu 2"
|
||||
- about: "About"
|
||||
- first_gallery: "My first gallery"
|
||||
- http://twitter.com: "Twitter"
|
||||
|
@ -149,15 +149,16 @@ def main():
|
||||
|
||||
error(isinstance(gallery_settings, dict), "Your %s should be a dict" % (os.path.join(gallery, "settings.yaml")))
|
||||
error(gallery_settings.get("title"), "You should specify a title in %s" % (os.path.join(gallery, "settings.yaml")))
|
||||
error(gallery_settings.get("cover"), "You should specify a path to a cover picture in %s" % (os.path.join(gallery, "settings.yaml")))
|
||||
|
||||
cover_image_path = os.path.join(gallery, gallery_settings["cover"])
|
||||
|
||||
error(os.path.exists(cover_image_path), "File for %s cover image doesn't exists at %s" % (gallery, cover_image_path))
|
||||
if gallery_settings.get("public", True):
|
||||
error(gallery_settings.get("cover"), "You should specify a path to a cover picture in %s" % (os.path.join(gallery, "settings.yaml")))
|
||||
cover_image_path = os.path.join(gallery, gallery_settings["cover"])
|
||||
error(os.path.exists(cover_image_path), "File for %s cover image doesn't exists at %s" % (gallery, cover_image_path))
|
||||
|
||||
gallery_title = gallery_settings["title"]
|
||||
gallery_sub_title = gallery_settings.get("sub_title", "")
|
||||
gallery_date = gallery_settings["date"] if "date" in gallery_settings else ""
|
||||
gallery_tags = gallery_settings["tags"] if "tags" in gallery_settings else ""
|
||||
|
||||
if gallery_settings.get("public", True):
|
||||
front_page_galleries_cover.append({
|
||||
@ -165,6 +166,7 @@ def main():
|
||||
"link": gallery,
|
||||
"sub_title": gallery_sub_title,
|
||||
"date": gallery_date,
|
||||
"tags": gallery_tags,
|
||||
"cover": cover_image_path,
|
||||
})
|
||||
|
||||
@ -175,15 +177,13 @@ def main():
|
||||
Image.base_dir = os.path.join(os.getcwd(), gallery)
|
||||
Image.target_dir = os.path.join(os.getcwd(), "build", gallery)
|
||||
|
||||
open(os.path.join("build", gallery, "index.html"), "w").write(gallery_index_template.render(settings=settings, gallery=gallery_settings, Image=Image).encode("Utf-8"))
|
||||
if gallery_settings.get("static") == True:
|
||||
open(os.path.join("build", gallery, "index.html"), "w").write(page_template.render(settings=settings, gallery=gallery_settings, Image=Image).encode("Utf-8"))
|
||||
else:
|
||||
open(os.path.join("build", gallery, "index.html"), "w").write(gallery_index_template.render(settings=settings, gallery=gallery_settings, Image=Image).encode("Utf-8"))
|
||||
|
||||
front_page_galleries_cover = reversed(sorted(front_page_galleries_cover, key=lambda x: x["date"]))
|
||||
|
||||
for item in settings.get("menu", []):
|
||||
file_name, menu_name = item.items()[0]
|
||||
error(os.path.exists(os.path.join(os.getcwd(), file_name + ".yaml")), "I can't find a " + file_name + ".yaml in the current working directory as specified by your menu description in your root settings.yaml")
|
||||
open(os.path.join("build", file_name + ".html"), "w").write(page_template.render(settings=settings, pages=yaml.safe_load(open(file_name + ".yaml", "r")), galleries=front_page_galleries_cover).encode("Utf-8"))
|
||||
|
||||
Image.base_dir = os.getcwd()
|
||||
Image.target_dir = os.path.join(os.getcwd(), "build")
|
||||
|
||||
@ -192,3 +192,4 @@ def main():
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
|
@ -90,7 +90,7 @@ a {
|
||||
text-align: center;
|
||||
z-index: 3;
|
||||
background: transparent linear-gradient(rgba(255, 255, 255, 0) 0%, transparent 1%, rgba(0, 0, 0, 0.07) 26%, rgba(0, 0, 0, 0.5) 71%, rgba(0, 0, 0, 0.7) 100%) repeat scroll 0% 0%;
|
||||
padding: 20% 0 0;
|
||||
padding: 20% 0 10px 0;
|
||||
}
|
||||
|
||||
.gallery-header {
|
||||
@ -145,7 +145,6 @@ a {
|
||||
}
|
||||
|
||||
.gallery-datetime {
|
||||
margin-bottom: 1em;
|
||||
font-family: 'crimson', serif;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 2px;
|
||||
@ -233,3 +232,23 @@ nav ul li > a.item-menu::before {
|
||||
line-height: 1;
|
||||
color: #ebebeb;
|
||||
}
|
||||
|
||||
.gallery-tag {
|
||||
font-size: 13px;
|
||||
text-transform: uppercase;
|
||||
font-style: normal;
|
||||
display: inline;
|
||||
font-family: "adobe-garamond-pro", serif;
|
||||
}
|
||||
|
||||
.gallery-tag span {
|
||||
font-size: 12px;
|
||||
border-bottom: solid 1px rgba(255,255,255,0.2);
|
||||
display: inline-block;
|
||||
margin: 0 0 0 3px;
|
||||
font-weight: bold;
|
||||
font-family: "europa", sans-serif;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
font-style: normal;
|
||||
}
|
||||
|
@ -2,8 +2,6 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link type="text/css" rel="stylesheet" href="static/css/fonts.css" media="screen,projection"/>
|
||||
<link type="text/css" rel="stylesheet" href="static/css/style.css" media="screen,projection"/>
|
||||
{% block css %}
|
||||
{% endblock %}
|
||||
|
||||
@ -15,7 +13,8 @@
|
||||
<body>
|
||||
|
||||
<div class="gallery-header">
|
||||
<img id="logo" src="static/img/logo.svg" />
|
||||
{% block logo %}
|
||||
{% endblock %}
|
||||
<h1>{{ settings.title }}</h1>
|
||||
{% if settings.sub_title -%}<h4>{{ settings.sub_title }}</h4>{% endif -%}
|
||||
<hr>
|
||||
|
@ -1,5 +1,14 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block css %}
|
||||
<link type="text/css" rel="stylesheet" href="static/css/fonts.css" media="screen,projection"/>
|
||||
<link type="text/css" rel="stylesheet" href="static/css/style.css" media="screen,projection"/>
|
||||
{% endblock %}
|
||||
|
||||
{% block logo %}
|
||||
<img id="logo" src="static/img/logo.svg" />
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="galleries-grid">
|
||||
{% for galleries_line in galleries|reverse|batch(3)|reverse %}
|
||||
@ -11,6 +20,7 @@
|
||||
<h2>{{ gallery.title }}</h2>
|
||||
{% if gallery.sub_title %}<h3>{{ gallery.sub_title }}</h3>{% endif %}
|
||||
{% if gallery.date %}<div class="gallery-datetime">{{ gallery.date.strftime("%d %B %Y") }}</div>{% endif %}
|
||||
{% if gallery.tags %}<div class="gallery-tag">IN {% for tag in gallery.tags -%} <span>{{ tag }}</span> {% endfor -%}</div>{% endif %}
|
||||
</div>
|
||||
</a>
|
||||
{% set cover = Image(gallery.cover) %}
|
||||
@ -21,6 +31,5 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<p style="visibility: hidden">.</p>
|
||||
{% endblock %}
|
||||
|
@ -1,14 +1,19 @@
|
||||
<nav>
|
||||
<div class="nav-wrapper">
|
||||
<ul>
|
||||
{% for line in settings.menu -%}
|
||||
{% set file_name, menu_name = line.items()[0] %}
|
||||
{% if loop.first %}
|
||||
<li><a href={{ file_name }}.html class=first-item-menu>{{ menu_name }}</a></li>
|
||||
{%- for line in settings.menu -%}
|
||||
{% set file_name, menu_name = line.items()[0] %}
|
||||
{% if file_name.startswith('http') %}
|
||||
{% set file_name = file_name %}
|
||||
{% elif gallery %}
|
||||
{% set file_name = "../"+file_name %}
|
||||
{%- endif -%}
|
||||
{%- if loop.first -%}
|
||||
<li><a href={{ file_name }} class=first-item-menu>{{ menu_name }}</a></li>
|
||||
{% else %}
|
||||
<li><a href={{ file_name }}.html class=item-menu>{{ menu_name }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor -%}
|
||||
<li><a href={{ file_name }} class=item-menu>{{ menu_name }}</a></li>
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
@ -1,26 +1,32 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block css %}
|
||||
<link type="text/css" rel="stylesheet" href="static/css/style-page.css" media="screen,projection"/>
|
||||
<link type="text/css" rel="stylesheet" href="../static/css/fonts.css" media="screen,projection"/>
|
||||
<link type="text/css" rel="stylesheet" href="../static/css/style.css" media="screen,projection"/>
|
||||
<link type="text/css" rel="stylesheet" href="../static/css/style-page.css" media="screen,projection"/>
|
||||
{% endblock %}
|
||||
|
||||
{% block logo %}
|
||||
<img id="logo" src="../static/img/logo.svg" />
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="text">
|
||||
<h2>{{ pages.title }}</h2>
|
||||
<h2>{{ gallery.title }}</h2>
|
||||
</section>
|
||||
|
||||
{% for section in pages.sections %}
|
||||
{% for section in gallery.sections %}
|
||||
{% include "sections/" + section.type + ".html" %}
|
||||
{% endfor %}
|
||||
|
||||
<div class="back-to-home">
|
||||
<hr>
|
||||
<a href="./index.html">
|
||||
<div id="logo" src="static/img/logo.svg"/>
|
||||
<a href="../index.html">
|
||||
<div id="logo" src="../static/img/logo.svg"/>
|
||||
HOME
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="static/js/jquery-2.1.4.min.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="../static/js/jquery-2.1.4.min.js" charset="utf-8"></script>
|
||||
{% endblock %}
|
||||
|
Loading…
x
Reference in New Issue
Block a user