more updates to match new code, new entry for testing
This commit is contained in:
parent
46751d66ca
commit
008d2d760c
140 changed files with 17228 additions and 12 deletions
23
themes/hyde/README.md
Normal file
23
themes/hyde/README.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
This theme is a port of the [Hyde theme by mdo](http://hyde.getpoole.com/) Everything that's good in it is mdo's fault, everything bad is mine.
|
||||
|
||||
It supports one variable set in the config:
|
||||
|
||||
```
|
||||
GLOBAL_CONTEXT = {
|
||||
"hyde_subtheme": "theme-base-08"
|
||||
}
|
||||
```
|
||||
|
||||
That changes the color scheme, replace 08 with one of 09, 0a, 0b, 0c, 0d, 0e, 0f.
|
||||
|
||||
You can read a tutorial about how to create/port new theme [at Nikola's site](https://getnikola.com/creating-a-theme.html)
|
||||
|
||||
(*Note:* The `.sidebar` class was renamed to `.hsidebar` to avoid conflicts with reST.)
|
||||
|
||||
License is MIT
|
||||
|
||||
Known Issues:
|
||||
|
||||
* Not all features of Nikola are tested.
|
||||
* Galleries will work better when [Issue #1764](https://github.com/getnikola/nikola/issues/1764) is fixed.
|
||||
* Submenus in navigation links are not supported
|
||||
1107
themes/hyde/assets/css/flaticon.css
Normal file
1107
themes/hyde/assets/css/flaticon.css
Normal file
File diff suppressed because it is too large
Load diff
357
themes/hyde/assets/css/hyde.css
Normal file
357
themes/hyde/assets/css/hyde.css
Normal file
|
|
@ -0,0 +1,357 @@
|
|||
/*
|
||||
* __ __
|
||||
* /\ \ /\ \
|
||||
* \ \ \___ __ __ \_\ \ __
|
||||
* \ \ _ `\/\ \/\ \ /'_` \ /'__`\
|
||||
* \ \ \ \ \ \ \_\ \/\ \_\ \/\ __/
|
||||
* \ \_\ \_\/`____ \ \___,_\ \____\
|
||||
* \/_/\/_/`/___/> \/__,_ /\/____/
|
||||
* /\___/
|
||||
* \/__/
|
||||
*
|
||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
||||
* https://github.com/poole/hyde.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Contents
|
||||
*
|
||||
* Global resets
|
||||
* Sidebar
|
||||
* Container
|
||||
* Reverse layout
|
||||
* Themes
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Global resets
|
||||
*
|
||||
* Update the foundational and global aspects of the page.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
@media (min-width: 48em) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 58em) {
|
||||
html {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sidebar
|
||||
*
|
||||
* Flexible banner for housing site name, intro, and "footer" content. Starts
|
||||
* out above content in mobile and later moves to the side with wider viewports.
|
||||
*/
|
||||
|
||||
div.hsidebar, .hsidebar {
|
||||
padding: 2rem 1rem;
|
||||
color: rgba(255,255,255,.5);
|
||||
background-color: #202020;
|
||||
text-align: center;
|
||||
margin-left: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@media (min-width: 48em) {
|
||||
div.hsidebar, .hsidebar {
|
||||
position: fixed;
|
||||
text-align: left;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 18rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sidebar images */
|
||||
div.hsidebar img, .hsidebar img {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
img#logo {
|
||||
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
/* Sidebar links */
|
||||
div.hsidebar a, .hsidebar a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* About section */
|
||||
.sidebar-about h1 {
|
||||
color: #fff;
|
||||
margin-top: 0;
|
||||
font-family: "Abril Fatface", serif;
|
||||
font-size: 2.75rem;
|
||||
}
|
||||
|
||||
/* Sidebar nav */
|
||||
.sidebar-nav {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.sidebar-nav-item {
|
||||
display: block;
|
||||
line-height: 1.50;
|
||||
}
|
||||
a.sidebar-nav-item:hover,
|
||||
a.sidebar-nav-item:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.sidebar-nav-item.active {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Sticky sidebar
|
||||
*
|
||||
* Add the `sidebar-sticky` class to the sidebar's container to affix it the
|
||||
* contents to the bottom of the sidebar in tablets and up.
|
||||
*/
|
||||
|
||||
@media (min-width: 48em) {
|
||||
.sidebar-sticky {
|
||||
position: absolute;
|
||||
right: 1rem;
|
||||
bottom: 0;
|
||||
left: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Footer
|
||||
*
|
||||
* Edit Styles for footer
|
||||
*/
|
||||
.footer {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.icon_row{
|
||||
width: auto;
|
||||
height: auto;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.icon_row img.social_icon{
|
||||
width: 24px;
|
||||
display: inline-block;
|
||||
margin: 0px auto;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.copyright{
|
||||
font-size: smaller;
|
||||
line-height: 0.5;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Container
|
||||
*
|
||||
* Align the contents of the site above the proper threshold with some margin-fu
|
||||
* with a 25%-wide `.sidebar`.
|
||||
*/
|
||||
|
||||
.content {
|
||||
padding-top: 4rem;
|
||||
padding-bottom: 4rem;
|
||||
}
|
||||
|
||||
@media (min-width: 48em) {
|
||||
.content {
|
||||
max-width: 38rem;
|
||||
margin-left: 20rem;
|
||||
margin-right: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64em) {
|
||||
.content {
|
||||
margin-left: 22rem;
|
||||
margin-right: 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Reverse layout
|
||||
*
|
||||
* Flip the orientation of the page by placing the `.sidebar` on the right.
|
||||
*/
|
||||
|
||||
@media (min-width: 48em) {
|
||||
.layout-reverse .hsidebar {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
.layout-reverse .content {
|
||||
margin-left: 2rem;
|
||||
margin-right: 20rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64em) {
|
||||
.layout-reverse .content {
|
||||
margin-left: 4rem;
|
||||
margin-right: 22rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Themes
|
||||
*
|
||||
* As of v1.1, Hyde includes optional themes to color the sidebar and links
|
||||
* within blog posts. To use, add the class of your choosing to the `body`.
|
||||
*/
|
||||
|
||||
/* Base16 (http://chriskempson.github.io/base16/#default) */
|
||||
|
||||
/* Red */
|
||||
.theme-base-08 .hsidebar {
|
||||
background-color: #ac4142;
|
||||
}
|
||||
.theme-base-08 .content a,
|
||||
.theme-base-08 .related-posts li a:hover {
|
||||
color: #ac4142;
|
||||
}
|
||||
|
||||
/* Orange */
|
||||
.theme-base-09 .hsidebar {
|
||||
background-color: #d28445;
|
||||
}
|
||||
.theme-base-09 .content a,
|
||||
.theme-base-09 .related-posts li a:hover {
|
||||
color: #d28445;
|
||||
}
|
||||
|
||||
/* Yellow */
|
||||
.theme-base-0a .hsidebar {
|
||||
background-color: #f4bf75;
|
||||
}
|
||||
.theme-base-0a .content a,
|
||||
.theme-base-0a .related-posts li a:hover {
|
||||
color: #f4bf75;
|
||||
}
|
||||
|
||||
/* Green */
|
||||
.theme-base-0b .hsidebar {
|
||||
background-color: #90a959;
|
||||
}
|
||||
.theme-base-0b .content a,
|
||||
.theme-base-0b .related-posts li a:hover {
|
||||
color: #90a959;
|
||||
}
|
||||
|
||||
/* Cyan */
|
||||
.theme-base-0c .hsidebar {
|
||||
background-color: #75b5aa;
|
||||
}
|
||||
.theme-base-0c .content a,
|
||||
.theme-base-0c .related-posts li a:hover {
|
||||
color: #75b5aa;
|
||||
}
|
||||
|
||||
/* Blue */
|
||||
.theme-base-0d .hsidebar {
|
||||
background-color: #6a9fb5;
|
||||
}
|
||||
.theme-base-0d .content a,
|
||||
.theme-base-0d .related-posts li a:hover {
|
||||
color: #6a9fb5;
|
||||
}
|
||||
|
||||
/* Magenta */
|
||||
.theme-base-0e .hsidebar {
|
||||
background-color: #aa759f;
|
||||
}
|
||||
.theme-base-0e .content a,
|
||||
.theme-base-0e .related-posts li a:hover {
|
||||
color: #aa759f;
|
||||
}
|
||||
|
||||
/* Brown */
|
||||
.theme-base-0f .hsidebar {
|
||||
background-color: #8f5536;
|
||||
}
|
||||
.theme-base-0f .content a,
|
||||
.theme-base-0f .related-posts li a:hover {
|
||||
color: #8f5536;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Additional Classes pertaining to Nikola
|
||||
*
|
||||
* The accessible link at the top shouldn't be visible. The class that make
|
||||
* them invisible were in themes.css.
|
||||
* To use, example below:
|
||||
* <a href="..." class="sr-only sr-only-focusable">...</a>
|
||||
*
|
||||
*/
|
||||
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.sr-only-focusable:active,
|
||||
.sr-only-focusable:focus {
|
||||
position: static;
|
||||
width: auto;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
overflow: visible;
|
||||
clip: auto;
|
||||
}
|
||||
|
||||
.breadcrumb {
|
||||
padding: 8px 15px;
|
||||
margin-bottom: 20px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.breadcrumb > li {
|
||||
display: inline-block;
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.breadcrumb > li:after {
|
||||
content: ' / ';
|
||||
color: #888;
|
||||
}
|
||||
|
||||
.breadcrumb > li:last-of-type:after {
|
||||
content: '';
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.thumbnails > li {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.thumbnails > li:last-of-type {
|
||||
margin-right: 0;
|
||||
}
|
||||
483
themes/hyde/assets/css/poole.css
Normal file
483
themes/hyde/assets/css/poole.css
Normal file
|
|
@ -0,0 +1,483 @@
|
|||
/*
|
||||
* ___
|
||||
* /\_ \
|
||||
* _____ ___ ___\//\ \ __
|
||||
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
|
||||
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
|
||||
* \ \ ,__/\ \____/\ \____//\____\ \____\
|
||||
* \ \ \/ \/___/ \/___/ \/____/\/____/
|
||||
* \ \_\
|
||||
* \/_/
|
||||
*
|
||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
||||
* https://github.com/poole/poole.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Contents
|
||||
*
|
||||
* Body resets
|
||||
* Custom type
|
||||
* Messages
|
||||
* Container
|
||||
* Masthead
|
||||
* Posts and pages
|
||||
* Pagination
|
||||
* Reverse layout
|
||||
* Themes
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Body resets
|
||||
*
|
||||
* Update the foundational and global aspects of the page.
|
||||
*/
|
||||
|
||||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
@media (min-width: 38em) {
|
||||
html {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
color: #515151;
|
||||
background-color: #fff;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
/* No `:visited` state is required by default (browsers will use `a`) */
|
||||
a {
|
||||
color: #268bd2;
|
||||
text-decoration: none;
|
||||
}
|
||||
a strong {
|
||||
color: inherit;
|
||||
}
|
||||
/* `:focus` is linked to `:hover` for basic accessibility */
|
||||
a:hover,
|
||||
a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Headings */
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-bottom: .5rem;
|
||||
font-weight: bold;
|
||||
line-height: 1.25;
|
||||
color: #313131;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
h1 {
|
||||
font-size: 2rem;
|
||||
}
|
||||
h2 {
|
||||
margin-top: 1rem;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
h3 {
|
||||
margin-top: 1.5rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
h4, h5, h6 {
|
||||
margin-top: 1rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
/* Body text */
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
strong {
|
||||
color: #303030;
|
||||
}
|
||||
|
||||
|
||||
/* Lists */
|
||||
ul, ol, dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
hr {
|
||||
position: relative;
|
||||
margin: 1.5rem 0;
|
||||
border: 0;
|
||||
border-top: 1px solid #eee;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
abbr {
|
||||
font-size: 85%;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
abbr[title] {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted #e5e5e5;
|
||||
}
|
||||
|
||||
/* Code */
|
||||
code,
|
||||
pre {
|
||||
font-family: Menlo, Monaco, "Courier New", monospace;
|
||||
}
|
||||
code {
|
||||
padding: .25em .5em;
|
||||
font-size: 85%;
|
||||
color: #bf616a;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 3px;
|
||||
}
|
||||
pre {
|
||||
display: block;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
padding: 1rem;
|
||||
font-size: .8rem;
|
||||
line-height: 1.4;
|
||||
white-space: pre;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
font-size: 100%;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* Pygments via Jekyll */
|
||||
.highlight {
|
||||
margin-bottom: 1rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.highlight pre {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Gist via GitHub Pages */
|
||||
.gist .gist-file {
|
||||
font-family: Menlo, Monaco, "Courier New", monospace !important;
|
||||
}
|
||||
.gist .markdown-body {
|
||||
padding: 15px;
|
||||
}
|
||||
.gist pre {
|
||||
padding: 0;
|
||||
background-color: transparent;
|
||||
}
|
||||
.gist .gist-file .gist-data {
|
||||
font-size: .8rem !important;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.gist code {
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
background-color: transparent;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* Quotes */
|
||||
blockquote {
|
||||
padding: .5rem 1rem;
|
||||
margin: .8rem 0;
|
||||
color: #7a7a7a;
|
||||
border-left: .25rem solid #e5e5e5;
|
||||
}
|
||||
blockquote p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@media (min-width: 30em) {
|
||||
blockquote {
|
||||
padding-right: 5rem;
|
||||
padding-left: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
margin: 0 0 1rem;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
table {
|
||||
margin-bottom: 1rem;
|
||||
width: 100%;
|
||||
border: 1px solid #e5e5e5;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
td,
|
||||
th {
|
||||
padding: .25rem .5rem;
|
||||
border: 1px solid #e5e5e5;
|
||||
}
|
||||
tbody tr:nth-child(odd) td,
|
||||
tbody tr:nth-child(odd) th {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Custom type
|
||||
*
|
||||
* Extend paragraphs with `.lead` for larger introductory text.
|
||||
*/
|
||||
|
||||
.lead {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Messages
|
||||
*
|
||||
* Show alert messages to users. You may add it to single elements like a `<p>`,
|
||||
* or to a parent if there are multiple elements to show.
|
||||
*/
|
||||
|
||||
.message {
|
||||
margin-bottom: 1rem;
|
||||
padding: 1rem;
|
||||
color: #717171;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Container
|
||||
*
|
||||
* Center the page content.
|
||||
*/
|
||||
|
||||
.container {
|
||||
max-width: 38rem;
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Masthead
|
||||
*
|
||||
* Super small header above the content for site name and short description.
|
||||
*/
|
||||
|
||||
.masthead {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
.masthead-title {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: #505050;
|
||||
}
|
||||
.masthead-title a {
|
||||
color: #505050;
|
||||
}
|
||||
.masthead-title small {
|
||||
font-size: 75%;
|
||||
font-weight: 400;
|
||||
color: #c0c0c0;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Posts and pages
|
||||
*
|
||||
* Each post is wrapped in `.post` and is used on default and post layouts. Each
|
||||
* page is wrapped in `.page` and is only used on the page layout.
|
||||
*/
|
||||
|
||||
.page,
|
||||
.post {
|
||||
margin-bottom: 4em;
|
||||
}
|
||||
|
||||
/* Blog post or page title */
|
||||
.page-title,
|
||||
.post-title,
|
||||
.post-title a {
|
||||
color: #303030;
|
||||
}
|
||||
.page-title,
|
||||
.post-title {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Meta data line below post title */
|
||||
.post-date {
|
||||
display: block;
|
||||
margin-top: -.5rem;
|
||||
margin-bottom: 1rem;
|
||||
color: #9a9a9a;
|
||||
}
|
||||
|
||||
/* Related posts */
|
||||
.related {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2rem;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
.related-posts {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.related-posts h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.related-posts li small {
|
||||
font-size: 75%;
|
||||
color: #999;
|
||||
}
|
||||
.related-posts li a:hover {
|
||||
color: #268bd2;
|
||||
text-decoration: none;
|
||||
}
|
||||
.related-posts li a:hover small {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Pagination
|
||||
*
|
||||
* Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
|
||||
* there are no more previous or next posts to show.
|
||||
*/
|
||||
|
||||
.pagination {
|
||||
overflow: hidden; /* clearfix */
|
||||
margin-left: -1rem;
|
||||
margin-right: -1rem;
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Pagination items can be `span`s or `a`s */
|
||||
.pagination-item {
|
||||
display: block;
|
||||
padding: 1rem;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.pagination-item:first-child {
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
|
||||
/* Only provide a hover state for linked pagination items */
|
||||
a.pagination-item:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Tags
|
||||
*
|
||||
* Super lightweight (HTML-wise) blog pagination. `span`s are provide for when
|
||||
* there are no more previous or next posts to show.
|
||||
*/
|
||||
|
||||
.tags {
|
||||
|
||||
overflow: hidden; /* clearfix */
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
color: #ccc;
|
||||
text-align: center;
|
||||
border: 2px dotted #eee;
|
||||
border-radius: 3px;
|
||||
padding: 5px;
|
||||
|
||||
height: auto;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* Pagination items can be `span`s or `a`s */
|
||||
.tag {
|
||||
display: block;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1px;
|
||||
padding-left: 4px;
|
||||
padding-right: 4px;
|
||||
margin: 5px;
|
||||
border: 1px solid #eee;
|
||||
background: #f5f5f5;
|
||||
border-radius: 15px;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
/* Only provide a hover state for linked pagination items */
|
||||
.tag:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 30em) {
|
||||
.pagination {
|
||||
margin: 3rem 0;
|
||||
}
|
||||
.pagination-item {
|
||||
float: left;
|
||||
width: 50%;
|
||||
}
|
||||
.pagination-item:first-child {
|
||||
margin-bottom: 0;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
.pagination-item:last-child {
|
||||
margin-left: -1px;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Fix whitespace of listings w/ numbers (issue #155) */
|
||||
table.codehilitetable pre {
|
||||
padding: 0;
|
||||
}
|
||||
td.code /* to exclude listings w/o numbers */
|
||||
pre.code.literal-block {
|
||||
margin-left: 0;
|
||||
}
|
||||
1
themes/hyde/bundles
Normal file
1
themes/hyde/bundles
Normal file
|
|
@ -0,0 +1 @@
|
|||
assets/css/all.css=rst.css,poole.css,hyde.css,code.css,custom.css
|
||||
1
themes/hyde/engine
Normal file
1
themes/hyde/engine
Normal file
|
|
@ -0,0 +1 @@
|
|||
jinja
|
||||
7
themes/hyde/hyde.theme
Normal file
7
themes/hyde/hyde.theme
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[Theme]
|
||||
engine = jinja
|
||||
parent = base-jinja
|
||||
author = Yoong Shin Chow
|
||||
author_url = https://github.com/chow1026
|
||||
based_on = Hyde theme by mdo <http://hyde.getpoole.com/>
|
||||
license = MIT
|
||||
1
themes/hyde/parent
Normal file
1
themes/hyde/parent
Normal file
|
|
@ -0,0 +1 @@
|
|||
base-jinja
|
||||
13
themes/hyde/templates/archiveindex.tmpl
Normal file
13
themes/hyde/templates/archiveindex.tmpl
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% extends 'index.tmpl' %}
|
||||
|
||||
{% block extra_head %}
|
||||
{{ super() }}
|
||||
{% if translations|length > 1 and generate_atom %}
|
||||
{% for language in translations|sort %}
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom for the {{ archive_name }} section ({{ language }})" href="{{ _link("archive_atom", archive_name, language) }}">
|
||||
{% endfor %}
|
||||
{% elif generate_atom %}
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom for the {{ archive_name }} archive" href="{{ _link("archive_atom", archive_name) }}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
39
themes/hyde/templates/base.tmpl
Normal file
39
themes/hyde/templates/base.tmpl
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% import 'base_helper.tmpl' as base with context %}
|
||||
{% import 'base_header.tmpl' as header with context %}
|
||||
{% import 'base_footer.tmpl' as footer with context %}
|
||||
{{ set_locale(lang) }}
|
||||
{{ base.html_headstart() }}
|
||||
{% block extra_head %}
|
||||
{# Leave this block alone. #}
|
||||
{% endblock %}
|
||||
{{ template_hooks['extra_head']() }}
|
||||
</head>
|
||||
<body class="{{ hyde_subtheme }}">
|
||||
<a href="#content" class="sr-only sr-only-focusable">{{ messages("Skip to main content") }}</a>
|
||||
|
||||
<div class="hsidebar">
|
||||
<div class="container sidebar-sticky">
|
||||
<div class="sidebar-about">
|
||||
<h1>
|
||||
<a href="{{ abs_link(_link("root", None, lang)) }}">
|
||||
{{ header.html_site_title() }}
|
||||
</a>
|
||||
</h1>
|
||||
{{ header.html_site_description() }}
|
||||
</div>
|
||||
{{ header.html_navigation_links() }}
|
||||
{{ footer.html_footer() }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content container" id="content">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
|
||||
{% block extra_js %}{% endblock %}
|
||||
{{ body_end }}
|
||||
{{ template_hooks['body_end']() }}
|
||||
{{ base.late_load_js() }}
|
||||
</body>
|
||||
</html>
|
||||
14
themes/hyde/templates/base_footer.tmpl
Normal file
14
themes/hyde/templates/base_footer.tmpl
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% import 'base_helper.tmpl' as base with context %}
|
||||
|
||||
{% macro html_footer() %}
|
||||
{% if content_footer %}
|
||||
<footer id="footer">
|
||||
<span class="copyright">
|
||||
{{ content_footer }}
|
||||
</span>
|
||||
</p>
|
||||
{{ template_hooks['page_footer']() }}
|
||||
</footer>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
53
themes/hyde/templates/base_header.tmpl
Normal file
53
themes/hyde/templates/base_header.tmpl
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% import 'base_helper.tmpl' as base with context %}
|
||||
|
||||
{% macro html_header() %}
|
||||
<header id="header">
|
||||
{{ html_site_title() }}
|
||||
{{ html_site_description() }}
|
||||
{{ html_translation_header() }}
|
||||
{{ html_navigation_links() }}
|
||||
{% if search_form %}
|
||||
<div class="searchform" role="search">
|
||||
{{ search_form }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</header>
|
||||
{{ template_hooks['page_header']() }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_site_description() %}
|
||||
<p class="lead">{{ blog_description|e }}</p>
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
{% macro html_site_title() %}
|
||||
<h1 id="brand"><a href="{{ abs_link(_link("root", None, lang)) }}" title="{{ blog_title|e }}" rel="home">
|
||||
{% if logo_url %}
|
||||
<img src="{{ logo_url }}" alt="{{ blog_title|e }}" id="logo">
|
||||
{% endif %}
|
||||
|
||||
{% if show_blog_title %}
|
||||
<span id="blog-title">{{ blog_title|e }}</span>
|
||||
{% endif %}
|
||||
</a></h1>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_navigation_links() %}
|
||||
<nav id="menu" role="navigation" class="sidebar-nav">
|
||||
{% for url, text in navigation_links[lang] %}
|
||||
<a class="sidebar-nav-item" href="{{url}}">{{text}}</a>
|
||||
{% endfor %}
|
||||
{{ template_hooks['menu']() }}
|
||||
{{ template_hooks['menu_alt']() }}
|
||||
</nav>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_translation_header() %}
|
||||
{% if translations|length > 1 %}
|
||||
<div id="toptranslations">
|
||||
<h2>{{ messages("Languages:") }}</h2>
|
||||
{{ base.html_translations() }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
125
themes/hyde/templates/base_helper.tmpl
Normal file
125
themes/hyde/templates/base_helper.tmpl
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
|
||||
{% macro html_headstart() %}
|
||||
<!DOCTYPE html>
|
||||
<html \
|
||||
prefix='
|
||||
{% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) %}
|
||||
og: http://ogp.me/ns# article: http://ogp.me/ns/article#
|
||||
{% endif %}
|
||||
{% if comment_system == 'facebook' %}
|
||||
fb: http://ogp.me/ns/fb#
|
||||
{% endif %}
|
||||
' \
|
||||
{% if use_open_graph or (twitter_card and twitter_card['use_twitter_cards']) %}
|
||||
vocab="http://ogp.me/ns" \
|
||||
{% endif %}
|
||||
{% if is_rtl %}
|
||||
dir="rtl"
|
||||
{% endif %}
|
||||
|
||||
lang="{{ lang }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
{% if use_base_tag %}
|
||||
<base href="{{ abs_link(permalink) }}">
|
||||
{% endif %}
|
||||
{% if description %}
|
||||
<meta name="description" content="{{ description|e }}">
|
||||
{% endif %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% if title == blog_title %}
|
||||
<title>{{ blog_title|e }}</title>
|
||||
{% else %}
|
||||
<title>{{ blog_title|e }} · {{ title|e }} </title>
|
||||
{% endif %}
|
||||
|
||||
{{ html_stylesheets() }}
|
||||
<meta content="{{ theme_color }}" name="theme-color">
|
||||
{{ html_feedlinks() }}
|
||||
<link rel="canonical" href="{{ abs_link(permalink) }}">
|
||||
|
||||
{% if favicons %}
|
||||
{% for name, file, size in favicons %}
|
||||
<link rel="{{ name }}" href="{{ file }}" sizes="{{ size }}"/>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if comment_system == 'facebook' %}
|
||||
<meta property="fb:app_id" content="{{ comment_system_id }}">
|
||||
{% endif %}
|
||||
|
||||
{% if prevlink %}
|
||||
<link rel="prev" href="{{ prevlink }}" type="text/html">
|
||||
{% endif %}
|
||||
{% if nextlink %}
|
||||
<link rel="next" href="{{ nextlink }}" type="text/html">
|
||||
{% endif %}
|
||||
|
||||
{{ mathjax_config }}
|
||||
{% if use_cdn %}
|
||||
<!--[if lt IE 9]><script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
{% else %}
|
||||
<!--[if lt IE 9]><script src="{{ url_replacer(permalink, '/assets/js/html5.js', lang) }}"></script><![endif]-->
|
||||
{% endif %}
|
||||
|
||||
{{ extra_head_data }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro late_load_js() %}
|
||||
{{ social_buttons_code }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_stylesheets() %}
|
||||
{% if use_bundles %}
|
||||
<link href="/assets/css/all.css" rel="stylesheet" type="text/css">
|
||||
{% else %}
|
||||
<link href="/assets/css/rst.css" rel="stylesheet" type="text/css">
|
||||
<link href="/assets/css/poole.css" rel="stylesheet" type="text/css">
|
||||
<link href="/assets/css/hyde.css" rel="stylesheet" type="text/css">
|
||||
<link href="/assets/css/code.css" rel="stylesheet" type="text/css">
|
||||
{% if has_custom_css %}
|
||||
<link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if needs_ipython_css %}
|
||||
<link href="/assets/css/ipython.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="/assets/css/nikola_ipython.css" rel="stylesheet" type="text/css">
|
||||
{% endif %}
|
||||
|
||||
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface">
|
||||
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_feedlinks() %}
|
||||
{% if rss_link %}
|
||||
{{ rss_link }}
|
||||
{% elif generate_rss %}
|
||||
{% if translations|length > 1 %}
|
||||
{% for language in translations|sort %}
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS ({{ language }})" href="{{ _link('rss', None, language) }}">
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="{{ _link('rss', None) }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if generate_atom %}
|
||||
{% if translations|length > 1 %}
|
||||
{% for language in translations|sort %}
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom ({{ language }})" href="{{ _link('index_atom', None, language) }}">
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom" href="{{ _link('index_atom', None) }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_translations() %}
|
||||
<ul class="translations">
|
||||
{% for langname in translations|sort %}
|
||||
{% if langname != lang %}
|
||||
<li><a href="{{ abs_link(_link("root", None, langname)) }}" rel="alternate" hreflang="{{ langname }}">{{ messages("LANGUAGE", langname) }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endmacro %}
|
||||
43
themes/hyde/templates/index.tmpl
Normal file
43
themes/hyde/templates/index.tmpl
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% import 'index_helper.tmpl' as helper with context %}
|
||||
{% import 'math_helper.tmpl' as math with context %}
|
||||
{% import 'comments_helper.tmpl' as comments with context %}
|
||||
{% extends 'base.tmpl' %}
|
||||
|
||||
{% block extra_head %}
|
||||
{{ super() }}
|
||||
{% if posts and (permalink == '/' or permalink == '/' + index_file) %}
|
||||
<link rel="prefetch" href="{{ posts[0].permalink() }}" type="text/html">
|
||||
{% endif %}
|
||||
{{ math.math_styles_ifposts(posts) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% block content_header %}{% endblock %}
|
||||
{% if 'main_index' in pagekind %}
|
||||
{{ front_index_header }}
|
||||
{% endif %}
|
||||
<div class="post">
|
||||
{% for post in posts %}
|
||||
<article class="post h-entry post-{{ post.meta('type') }}">
|
||||
<header>
|
||||
<h1 class="post-title p-name"><a href="{{ post.permalink() }}" class="u-url">{{ post.title()|e }}</a></h1>
|
||||
<div class="metadata">
|
||||
<span class="post-date dateline"><time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time></span>
|
||||
</div>
|
||||
</header>
|
||||
{% if index_teasers %}
|
||||
<div class="p-summary entry-summary">
|
||||
{{ post.text(teaser_only=True) }}
|
||||
{% else %}
|
||||
<div class="e-content entry-content">
|
||||
{{ post.text(teaser_only=False) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{{ helper.html_pager() }}
|
||||
{{ comments.comment_link_script() }}
|
||||
{{ math.math_scripts_ifposts(posts) }}
|
||||
{% endblock %}
|
||||
22
themes/hyde/templates/list_post.tmpl
Normal file
22
themes/hyde/templates/list_post.tmpl
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% extends 'base.tmpl' %}
|
||||
|
||||
{% block content %}
|
||||
<article class="listpage">
|
||||
<header>
|
||||
<h1>{{ title|e }}</h1>
|
||||
</header>
|
||||
{% if posts %}
|
||||
<ul class="postlist">
|
||||
{% for post in posts %}
|
||||
<li>
|
||||
<a href="{{ post.permalink() }}" class="listtitle">{{ post.title()|e }}</a> -
|
||||
<time class="listdate" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p>{{ messages("No posts found.") }}</p>
|
||||
{% endif %}
|
||||
</article>
|
||||
{% endblock %}
|
||||
44
themes/hyde/templates/post_header.tmpl
Normal file
44
themes/hyde/templates/post_header.tmpl
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% import 'post_helper.tmpl' as helper with context %}
|
||||
{% import 'comments_helper.tmpl' as comments with context %}
|
||||
|
||||
{% macro html_title() %}
|
||||
{% if title and not post.meta('hidetitle') %}
|
||||
<h1 class="post-title p-name"><a href="{{ post.permalink() }}" class="u-url">{{ post.title()|e }}</a></h1>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_translations(post) %}
|
||||
{% if post.translated_to|length > 1 %}
|
||||
<div class="metadata posttranslations translations">
|
||||
<h3 class="posttranslations-intro">{{ messages("Also available in:") }}</h3>
|
||||
{% for langname in translations|sort %}
|
||||
{% if langname != lang and post.is_translation_available(langname) %}
|
||||
<p><a href="{{ post.permalink(langname) }}" rel="alternate" hreflang="{{ langname }}">{{ messages("LANGUAGE", langname) }}</a></p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_sourcelink() %}
|
||||
{% if show_sourcelink %}
|
||||
<p class="sourceline"><a href="{{ post.source_link() }}" id="sourcelink">{{ messages("Source") }}</a></p>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_post_header() %}
|
||||
{{ html_title() }}
|
||||
<span class="post-date">
|
||||
<time class="published dt-published" datetime="{{ post.formatted_date('webiso') }}" itemprop="datePublished" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time>
|
||||
</span>
|
||||
{% if post.meta('link') %}
|
||||
<p class="linkline"><a href="{{ post.meta('link') }}">{{ messages("Original site") }}</a></p>
|
||||
{% endif %}
|
||||
{% if post.description() %}
|
||||
<meta name="description" itemprop="description" content="{{ post.description()|e }}">
|
||||
{% endif %}
|
||||
|
||||
{{ html_translations(post) }}
|
||||
</header>
|
||||
{% endmacro %}
|
||||
96
themes/hyde/templates/post_helper.tmpl
Normal file
96
themes/hyde/templates/post_helper.tmpl
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
|
||||
{% macro meta_translations(post) %}
|
||||
{% if translations|length > 1 %}
|
||||
{% for langname in translations|sort %}
|
||||
{% if langname != lang and ((not post.skip_untranslated) or post.is_translation_available(langname)) %}
|
||||
<link rel="alternate" hreflang="{{ langname }}" href="{{ post.permalink(langname) }}">
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_tags(post) %}
|
||||
{% if post.tags %}
|
||||
<p itemprop="keywords" class="tags">
|
||||
{% for tag in post.tags %}
|
||||
{% if tag not in hidden_tags %}
|
||||
<span class="tag"><a class="p-category" href="{{ _link('tag', tag) }}" rel="tag">{{ tag|e }}</a></span>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro html_pager(post) %}
|
||||
{% if post.prev_post or post.next_post %}
|
||||
<div class="pager hidden-print pagination">
|
||||
|
||||
<span class="previous pagination-item older">
|
||||
{% if post.prev_post %}
|
||||
<a href="{{ post.prev_post.permalink() }}" rel="prev" title="{{ post.prev_post.title()|e }}">
|
||||
{% endif %}
|
||||
{{ messages("Previous post") }}
|
||||
{% if post.prev_post %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
|
||||
<span class="next pagination-item newer">
|
||||
{% if post.next_post %}
|
||||
<a href="{{ post.next_post.permalink() }}" rel="next" title="{{ post.next_post.title()|e }}">
|
||||
{% endif %}{{ messages("Next post") }}
|
||||
{% if post.next_post %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</span>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro open_graph_metadata(post) %}
|
||||
{% if use_open_graph %}
|
||||
<meta property="og:site_name" content="{{ blog_title|e }}">
|
||||
<meta property="og:title" content="{{ post.title()[:70]|e }}">
|
||||
<meta property="og:url" content="{{ abs_link(permalink) }}">
|
||||
{% if post.description() %}
|
||||
<meta property="og:description" content="{{ post.description()[:200]|e }}">
|
||||
{% else %}
|
||||
<meta property="og:description" content="{{ post.text(strip_html=True)[:200]|e }}">
|
||||
{% endif %}
|
||||
{% if post.previewimage %}
|
||||
<meta property="og:image" content="{{ url_replacer(permalink, post.previewimage, lang, 'absolute') }}">
|
||||
{% endif %}
|
||||
<meta property="og:type" content="article">
|
||||
{# Will only work with Pintrest and breaks everywhere else who expect a [Facebook] URI. #}
|
||||
{# %if post.author(): #}
|
||||
{# <meta property="article:author" content="{{ post.author()|e }}"> #}
|
||||
{# %endif #}
|
||||
{% if post.date.isoformat() %}
|
||||
<meta property="article:published_time" content="{{ post.formatted_date('webiso') }}">
|
||||
{% endif %}
|
||||
{% if post.tags %}
|
||||
{% for tag in post.tags %}
|
||||
<meta property="article:tag" content="{{ tag|e }}">
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro twitter_card_information(post) %}
|
||||
{% if twitter_card and twitter_card['use_twitter_cards'] %}
|
||||
<meta name="twitter:card" content="{{ twitter_card.get('card', 'summary')|e }}">
|
||||
{% if 'site:id' in twitter_card %}
|
||||
<meta name="twitter:site:id" content="{{ twitter_card['site:id'] }}">
|
||||
{% elif 'site' in twitter_card %}
|
||||
<meta name="twitter:site" content="{{ twitter_card['site'] }}">
|
||||
{% endif %}
|
||||
{% if 'creator:id' in twitter_card %}
|
||||
<meta name="twitter:creator:id" content="{{ twitter_card['creator:id'] }}">
|
||||
{% elif 'creator' in twitter_card %}
|
||||
<meta name="twitter:creator" content="{{ twitter_card['creator'] }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
23
themes/hyde/templates/sectionindex.tmpl
Normal file
23
themes/hyde/templates/sectionindex.tmpl
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% extends 'index.tmpl' %}
|
||||
|
||||
{% block extra_head %}
|
||||
{{ super() }}
|
||||
{% if generate_atom %}
|
||||
<link rel="alternate" type="application/atom+xml" title="Atom for the {{ posts[0].section_name()|e }} section" href="{{ _link('section_index_atom', posts[0].section_slug()) }}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="sectionindex">
|
||||
<header>
|
||||
<h2><a href="{{ _link('section_index', posts[0].section_slug()) }}">{{ title|e }}</a></h2>
|
||||
{% if generate_atom %}
|
||||
<p class="feedlink"><a href="{{ _link('section_index_atom', posts[0].section_slug()) }}" type="application/atom+xml">{{ messages('Updates') }}</a></p>
|
||||
{% endif %}
|
||||
</header>
|
||||
{{ super() }}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
40
themes/hyde/templates/tag.tmpl
Normal file
40
themes/hyde/templates/tag.tmpl
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% extends 'list_post.tmpl' %}
|
||||
|
||||
{% block extra_head %}
|
||||
{{ super() }}
|
||||
{% if translations|length > 1 and generate_rss %}
|
||||
{% for language in translations|sort %}
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ tag|e }} ({{ language }})" href="{{ _link(kind + "_rss", tag, language) }}">
|
||||
{% endfor %}
|
||||
{% elif generate_rss %}
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS for {{ kind }} {{ tag|e }}" href="{{ _link(kind + "_rss", tag) }}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<article class="post tagpage">
|
||||
<header>
|
||||
<h1 class="post-title p-name">{{ title|e }}</h1>
|
||||
{% if description %}
|
||||
<p>{{ description }}</p>
|
||||
{% endif %}
|
||||
{% if subcategories %}
|
||||
{{ messages('Subcategories:') }}
|
||||
<ul>
|
||||
{% for name, link in subcategories %}
|
||||
<li><a href="{{ link }}">{{ name|e }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</header>
|
||||
{% if posts %}
|
||||
<ul class="postlist">
|
||||
{% for post in posts %}
|
||||
<li><a href="{{ post.permalink() }}" class="listtitle">{{ post.title()|e }}</a><span class="post-date dateline"><time class="listdate" datetime="{{ post.formatted_date('webiso') }}" title="{{ post.formatted_date(date_format)|e }}">{{ post.formatted_date(date_format)|e }}</time></span></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</article>
|
||||
{% endblock %}
|
||||
42
themes/hyde/templates/tags.tmpl
Normal file
42
themes/hyde/templates/tags.tmpl
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{# -*- coding: utf-8 -*- #}
|
||||
{% extends 'base.tmpl' %}
|
||||
|
||||
{% block content %}
|
||||
<article class="post tagindex">
|
||||
<header>
|
||||
<h1>{{ title|e }}</h1>
|
||||
</header>
|
||||
{% if cat_items %}
|
||||
{% if items %}
|
||||
<h2>{{ messages("Categories") }}</h2>
|
||||
{% endif %}
|
||||
{% for text, full_name, path, link, indent_levels, indent_change_before, indent_change_after in cat_hierarchy %}
|
||||
{% for i in range(indent_change_before) %}
|
||||
<ul class="postlist">
|
||||
{% endfor %}
|
||||
<li><a class="reference" href="{{ link }}">{{ text }}</a>
|
||||
{% if indent_change_after <= 0 %}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% for i in range(-indent_change_after) %}
|
||||
</ul>
|
||||
{% if i + 1 < indent_levels|length %}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% if items %}
|
||||
<h2>{{ messages("Tags") }}</h2>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if items %}
|
||||
<ul class="postlist">
|
||||
{% for text, link in items %}
|
||||
{% if text not in hidden_tags %}
|
||||
<li><a class="reference listtitle" href="{{ link }}">{{ text|e }}</a></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</article>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue