init staticcms
Signed-off-by: Nico Schottelius <nico@nico-notebook.schottelius.org>
This commit is contained in:
commit
57d66eb0c1
16 changed files with 221 additions and 0 deletions
42
assets/static/style.css
Normal file
42
assets/static/style.css
Normal file
|
@ -0,0 +1,42 @@
|
|||
body {
|
||||
font-family: 'Verdana', sans-serif;
|
||||
margin: 50px 25px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2a99b6;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #33bbdf;
|
||||
}
|
||||
|
||||
header, footer, div.page {
|
||||
width: 760px;
|
||||
margin: 0 auto;
|
||||
background: #daeef3;
|
||||
padding: 20px 30px;
|
||||
}
|
||||
|
||||
header h1 {
|
||||
color: #169bbd;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
font-size: 42px;
|
||||
}
|
||||
|
||||
header nav ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
header nav ul li {
|
||||
display: inline;
|
||||
margin: 0 8px 0 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.page {
|
||||
background: #f1fbfe;
|
||||
}
|
7
content/about/contents.lr
Normal file
7
content/about/contents.lr
Normal file
|
@ -0,0 +1,7 @@
|
|||
title: About this Website
|
||||
---
|
||||
body:
|
||||
|
||||
This is a website that was made with the Lektor quickstart.
|
||||
|
||||
And it does not contain a lot of information.
|
3
content/blog/contents.lr
Normal file
3
content/blog/contents.lr
Normal file
|
@ -0,0 +1,3 @@
|
|||
_model: blog
|
||||
---
|
||||
title: Blog
|
9
content/blog/first-post/contents.lr
Normal file
9
content/blog/first-post/contents.lr
Normal file
|
@ -0,0 +1,9 @@
|
|||
title: Hello Website
|
||||
---
|
||||
pub_date: 2019-09-24
|
||||
---
|
||||
author: ungleich
|
||||
---
|
||||
body:
|
||||
|
||||
This is an example blog post. Not much here but that's not the point :)
|
6
content/contents.lr
Normal file
6
content/contents.lr
Normal file
|
@ -0,0 +1,6 @@
|
|||
title: Welcome to ungleich static cms!
|
||||
---
|
||||
body:
|
||||
|
||||
This is a basic demo website that shows how to use Lektor for a basic
|
||||
website with some pages and a blog.
|
9
content/projects/contents.lr
Normal file
9
content/projects/contents.lr
Normal file
|
@ -0,0 +1,9 @@
|
|||
title: Projects
|
||||
---
|
||||
body:
|
||||
|
||||
This is a list of the projects:
|
||||
|
||||
* Project 1
|
||||
* Project 2
|
||||
* Project 3
|
29
models/blog-post.ini
Normal file
29
models/blog-post.ini
Normal file
|
@ -0,0 +1,29 @@
|
|||
[model]
|
||||
name = Blog Post
|
||||
label = {{ this.title }}
|
||||
hidden = yes
|
||||
|
||||
[fields.title]
|
||||
label = Title
|
||||
type = string
|
||||
size = large
|
||||
|
||||
[fields.author]
|
||||
label = Author
|
||||
type = string
|
||||
width = 1/2
|
||||
|
||||
[fields.twitter_handle]
|
||||
label = Twitter Handle
|
||||
type = string
|
||||
width = 1/4
|
||||
addon_label = @
|
||||
|
||||
[fields.pub_date]
|
||||
label = Publication date
|
||||
type = date
|
||||
width = 1/4
|
||||
|
||||
[fields.body]
|
||||
label = Body
|
||||
type = markdown
|
16
models/blog.ini
Normal file
16
models/blog.ini
Normal file
|
@ -0,0 +1,16 @@
|
|||
[model]
|
||||
name = Blog
|
||||
label = Blog
|
||||
hidden = yes
|
||||
|
||||
[fields.title]
|
||||
label = Title
|
||||
type = string
|
||||
|
||||
[children]
|
||||
model = blog-post
|
||||
order_by = -pub_date, title
|
||||
|
||||
[pagination]
|
||||
enabled = yes
|
||||
per_page = 10
|
11
models/page.ini
Normal file
11
models/page.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
[model]
|
||||
name = Page
|
||||
label = {{ this.title }}
|
||||
|
||||
[fields.title]
|
||||
label = Title
|
||||
type = string
|
||||
|
||||
[fields.body]
|
||||
label = Body
|
||||
type = markdown
|
6
templates/blog-post.html
Normal file
6
templates/blog-post.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
{% extends "layout.html" %}
|
||||
{% from "macros/blog.html" import render_blog_post %}
|
||||
{% block title %}{{ this.title }}{% endblock %}
|
||||
{% block body %}
|
||||
{{ render_blog_post(this) }}
|
||||
{% endblock %}
|
11
templates/blog.html
Normal file
11
templates/blog.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends "layout.html" %}
|
||||
{% from "macros/blog.html" import render_blog_post %}
|
||||
{% from "macros/pagination.html" import render_pagination %}
|
||||
{% block title %}{{ this.title }}{% endblock %}
|
||||
{% block body %}
|
||||
{% for child in this.pagination.items %}
|
||||
{{ render_blog_post(child, from_index=true) }}
|
||||
{% endfor %}
|
||||
|
||||
{{ render_pagination(this.pagination) }}
|
||||
{% endblock %}
|
29
templates/layout.html
Normal file
29
templates/layout.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="{{ '/static/style.css'|url }}">
|
||||
<title>{% block title %}Welcome{% endblock %} — ungleich static cms</title>
|
||||
<body>
|
||||
<header>
|
||||
<h1>ungleich static cms</h1>
|
||||
<nav>
|
||||
<ul class="nav navbar-nav">
|
||||
<li{% if this._path == '/' %} class="active"{% endif
|
||||
%}><a href="{{ '/'|url }}">Welcome</a></li>
|
||||
{% for href, title in [
|
||||
['/blog', 'Blog'],
|
||||
['/projects', 'Projects'],
|
||||
['/about', 'About']
|
||||
] %}
|
||||
<li{% if this.is_child_of(href) %} class="active"{% endif
|
||||
%}><a href="{{ href|url }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<div class="page">
|
||||
{% block body %}{% endblock %}
|
||||
</div>
|
||||
<footer>
|
||||
© Copyright 2019 by ungleich.
|
||||
</footer>
|
||||
</body>
|
20
templates/macros/blog.html
Normal file
20
templates/macros/blog.html
Normal file
|
@ -0,0 +1,20 @@
|
|||
{% macro render_blog_post(post, from_index=false) %}
|
||||
<div class="blog-post">
|
||||
{% if from_index %}
|
||||
<h2><a href="{{ post|url }}">{{ post.title }}</a></h2>
|
||||
{% else %}
|
||||
<h2>{{ post.title }}</h2>
|
||||
{% endif %}
|
||||
<p class="meta">
|
||||
written by
|
||||
{% if post.twitter_handle %}
|
||||
<a href="https://twitter.com/{{ post.twitter_handle
|
||||
}}">{{ post.author or post.twitter_handle }}</a>
|
||||
{% else %}
|
||||
{{ post.author }}
|
||||
{% endif %}
|
||||
on {{ post.pub_date }}
|
||||
</p>
|
||||
{{ post.body }}
|
||||
</div>
|
||||
{% endmacro %}
|
15
templates/macros/pagination.html
Normal file
15
templates/macros/pagination.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
{% macro render_pagination(pagination) %}
|
||||
<div class="pagination">
|
||||
{% if pagination.has_prev %}
|
||||
<a href="{{ pagination.prev|url }}">« Previous</a>
|
||||
{% else %}
|
||||
<span class="disabled">« Previous</span>
|
||||
{% endif %}
|
||||
| {{ pagination.page }} |
|
||||
{% if pagination.has_next %}
|
||||
<a href="{{ pagination.next|url }}">Next »</a>
|
||||
{% else %}
|
||||
<span class="disabled">Next »</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endmacro %}
|
6
templates/page.html
Normal file
6
templates/page.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
{% extends "layout.html" %}
|
||||
{% block title %}{{ this.title }}{% endblock %}
|
||||
{% block body %}
|
||||
<h2>{{ this.title }}</h2>
|
||||
{{ this.body }}
|
||||
{% endblock %}
|
2
ungleich static cms.lektorproject
Normal file
2
ungleich static cms.lektorproject
Normal file
|
@ -0,0 +1,2 @@
|
|||
[project]
|
||||
name = ungleich static cms
|
Loading…
Reference in a new issue