mirror of
https://github.com/almet/notmyidea.git
synced 2025-04-28 11:32:39 +02:00
Nouveau theme, et nouvel article
This commit is contained in:
parent
dd641921e8
commit
cc06acd027
31 changed files with 1653 additions and 7 deletions
39
content/notes/ane.rst
Normal file
39
content/notes/ane.rst
Normal file
|
@ -0,0 +1,39 @@
|
|||
Le secret du bonheur
|
||||
====================
|
||||
|
||||
:date: 20/11/2014
|
||||
|
||||
Un enfant demande à son père :
|
||||
|
||||
Dis papa, quel est le secret pour être heureux ?
|
||||
|
||||
Sans dire un mot, le père demande à son fils de le suivre ;
|
||||
Ils sortent de la maison, le père sur leur vieil âne et le fils suivant à pied.
|
||||
|
||||
Et les gens du village de dire :
|
||||
|
||||
Mais quel mauvais père qui oblige ainsi son fils d'aller à pied !
|
||||
|
||||
Le lendemain ils sortent de nouveau.
|
||||
|
||||
Le père ayant installé son fils sur l'âne et lui marchant à côté.
|
||||
|
||||
Les gens du village dirent alors :
|
||||
|
||||
Quel fils indigne, qui ne respecte pas son vieux père et le laisse aller à pied !
|
||||
|
||||
Le jour suivant, ils s'installent tous les deux sur l'âne avant de quitter la maison.
|
||||
Les villageois commentèrent en disant :
|
||||
|
||||
Ils ne respectent pas leur bête à la surcharger ainsi !
|
||||
|
||||
Le jour suivant, ils partirent en portant eux-mêmes leurs affaires, l'âne trottinant derrière eux.
|
||||
Cette fois les gens du village y trouvèrent encore à redire :
|
||||
|
||||
Voilà qu'ils portent eux-mêmes leurs bagages maintenant ! C'est le monde à l'envers !
|
||||
|
||||
De retour à la maison, le père dit à son fils :
|
||||
|
||||
Tu me demandais l'autre jour le secret du bonheur.
|
||||
Peu importe ce que tu fais, il y aura toujours quelqu'un pour y trouver à redire.
|
||||
Fais ce qui te plaît et là tu seras vraiment heureux.
|
|
@ -1,12 +1,10 @@
|
|||
Hi, I'm Alexis,
|
||||
###############
|
||||
Bonjour, je suis Alexis
|
||||
#######################
|
||||
|
||||
:slug: about
|
||||
|
||||
(english version below)
|
||||
|
||||
Bonjour, je suis Alexis.
|
||||
|
||||
Je suis un développeur logiciel intéressé par l'écologie, l'éducation
|
||||
(populaire !), la thématique agricole et le *Do It Yourself* (DIY).
|
||||
|
||||
|
|
44
content/thoughts/language.rst
Normal file
44
content/thoughts/language.rst
Normal file
|
@ -0,0 +1,44 @@
|
|||
Language
|
||||
########
|
||||
|
||||
:date: 2015-05-01
|
||||
:headline: Je me surprends à préférer le français à l'anglais pour m'exprimer
|
||||
ici.
|
||||
|
||||
.. epigraph::
|
||||
|
||||
Nous savons tous que le fait d'obliger les fonctionnaires internationaux,
|
||||
diplomates ou ministres à s'exprimer dans une langue qui n'est pas la leur
|
||||
équivaut à les placer en situation d'infériorité. **Cela les prive de la
|
||||
capacité de nuance et de raffinement**, ce qui revient à faire des
|
||||
concessions à ceux dont c'est la langue maternelle.
|
||||
|
||||
Aussi nous savons tous que les concepts qui paraissent similaires sont
|
||||
souvent différents d'une civilisation à l'autre. Les mots expriment une
|
||||
culture, une façon de penser et une vision du monde.
|
||||
|
||||
-- M. Boutros Boutros-Ghali, ancien secrétaire général des Nations Unies
|
||||
|
||||
Je me surprends à préférer le français pour m'exprimer au lieu de l'anglais,
|
||||
notemment au niveau des articles non-techniques.
|
||||
|
||||
Il y a quelques années, alors que je terminais mes études en angleterre et que
|
||||
je commançais à travailler pour Mozilla, on me proposait de venir aux
|
||||
États-Unis, ce que j'ai refusé parce qu'exprimer mes points de vue de manière
|
||||
fine m'était trop difficile dans une langue qui n'était pas la mienne.
|
||||
|
||||
- Cela me permet de pouvoir tenir des discours avec des positions et un
|
||||
argumentaire "fin", ce qui me serait beaucoup plus difficile dans une langue
|
||||
que je maitrise moins;
|
||||
- Sans même parler d'argumentaire, les mots utilisés dans ma langue maternelle
|
||||
me permettent de maneuvrer plus finement et de faire passer des idées de
|
||||
manière plus efficace;
|
||||
- J'ai l'impression de pouvoir engager plus facilement avec les gens qui
|
||||
m'entourent géographiquement, par exemple par rapport à la communauté
|
||||
technophile / pythoniste francophone.
|
||||
- Même si mon niveau d'anglais à progressé, ce n'est pas necessairement le cas
|
||||
de mes interlocuteurs.
|
||||
|
||||
Par contre, cela nuit clairement à engager avec d'autres personnes dont la
|
||||
langue n'est pas la mienne, dans tels cas, traduire les contenus interessants
|
||||
vers l'anglais semble une solution (chronophage).
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
PATH = "content"
|
||||
AUTHOR = u'Alexis Métaireau'
|
||||
SITENAME = "Alexis' log"
|
||||
THEME = "theme"
|
||||
SITENAME = u"Alexis, pensées partagées"
|
||||
THEME = "pelicanyan"
|
||||
# THEME = "theme"
|
||||
CSS_FILE = "wide.css"
|
||||
DISQUS_SITENAME = 'notmyidea'
|
||||
|
||||
|
@ -16,6 +17,11 @@ SITEURL = ''
|
|||
RELATIVE_URLS = True
|
||||
|
||||
TIMEZONE = "Europe/Paris"
|
||||
LOCALE = "en_US.utf8"
|
||||
LOCALE = "fr_FR.utf8"
|
||||
|
||||
DEFAULT_DATE_FORMAT = ('%B %Y')
|
||||
LINKS = [
|
||||
('Code', 'https://github.com/ametaireau'),
|
||||
('Messages courts', 'https://twitter.com/ametaireau'),
|
||||
('A propos', 'http://blog.notmyidea.org/pages/about.html')
|
||||
]
|
||||
|
|
22
pelicanyan/LICENSE
Normal file
22
pelicanyan/LICENSE
Normal file
|
@ -0,0 +1,22 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 @thomaswilley
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
129
pelicanyan/README.md
Normal file
129
pelicanyan/README.md
Normal file
|
@ -0,0 +1,129 @@
|
|||
# Pelicanyan
|
||||
|
||||
Pelicanyan brings Jekyll's [Lanyon Theme](https://github.com/poole/lanyon/) to
|
||||
[Pelican](http://github.com/getpelican) and adds some Pelican niceties
|
||||
including a sitemap.xml, robots.txt, humans.txt, etc.
|
||||
|
||||
More information about the lanyon theme including screenshots and such
|
||||
is best found over at the [Lanyon Repo](https://github.com/poole/lanyon/). Here's a sample:
|
||||
|
||||

|
||||
|
||||
## Usage
|
||||
|
||||
Assumes you've already got your [blog
|
||||
created](http://docs.getpelican.com/en/3.5.0/quickstart.html) and have
|
||||
cloned this repo.
|
||||
|
||||
1. Download poole.css, lanyon.css, and syntax.css from the [Lanyon
|
||||
repo](https://github.com/poole/lanyon/tree/master/public/css) and save into the static/css directory
|
||||
2. Set basic theme-specific settings in your blog's pelicanconf.py:
|
||||
- THEME='path-to-cloned-repo'
|
||||
- GA_ACCOUNT (your GA account id, e.g., 'UA-12344321-1') assuming
|
||||
you'd like GA enabled (see base.html)
|
||||
- TWITTER_ACCOUNT (e.g., your twitter account name without the @)
|
||||
- DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives',
|
||||
'sitemap', 'robots', 'humans')
|
||||
- ROBOTS_SAVE_AS = 'robots.txt'
|
||||
- HUMANS_SAVE_AS = 'humans.txt'
|
||||
- SITEMAP_SAVE_AS = 'sitemap.xml'
|
||||
- DEFAULT_LANG = 'en'
|
||||
- DATE_FORMATS = { 'en': '%B %d, %Y', }
|
||||
- STATIC_PATHS = ['images', 'favicon.ico'] note: this assumes your
|
||||
blog's article images are located in content/images/ and your favicon.ico is located in content/
|
||||
- (Additional Required Fields) AUTHOR, SITENAME, SITEURL
|
||||
- (Optional) TYPOGRIFY=True (and pip3 install it of course)
|
||||
- (Optional) Set SITEDESCRIPTION
|
||||
- (Optional) Set your LINKS
|
||||
3. Add your profile photo - Replace the 400x400 PNG located at
|
||||
static/img/profile.png with your own
|
||||
|
||||
Then to try it out locally, back in your blog's directory:
|
||||
```bash
|
||||
$ make clean && make devserver && open http://localhost:8000
|
||||
```
|
||||
|
||||
## Compatability & Caveats
|
||||
|
||||
Pelicanyan's probably best considered alpha at this time and hasn't
|
||||
undergone much testing - would welcome help finding & fixing bugs and
|
||||
also with the browser compatability matrix! While it's likely that
|
||||
Lanyon's options - e.g., reversing the layout, updating color scheme,
|
||||
etc. - remain functional here, these haven't been tested either.
|
||||
|
||||
## Author
|
||||
|
||||
**Thomas Willey**
|
||||
- <https://github.com/thomaswilley>
|
||||
- <https://twitter.com/thomaswilley>
|
||||
|
||||
## License
|
||||
|
||||
Open sourced under the [MIT license](LICENSE).
|
||||
|
||||
### Example Quickstart
|
||||
|
||||
```bash
|
||||
$ mkdir sample_blog && cd sample_blog/
|
||||
$ python3 -m virtualenv --no-site-packages --distribute venv
|
||||
$ source venv/bin/activate
|
||||
$ pip3 install pelican markdown typogrify
|
||||
$ pelican-quickstart
|
||||
```
|
||||
|
||||
```
|
||||
Where do you want to create your new web site? [.]
|
||||
What will be the title of this web site? sample blog
|
||||
Who will be the author of this web site? me
|
||||
What will be the default language of this web site? [en]
|
||||
Do you want to specify a URL prefix? e.g., http://example.com
|
||||
(Y/n) n
|
||||
Do you want to enable article pagination? (Y/n) n
|
||||
Do you want to generate a Fabfile/Makefile to automate
|
||||
generation and publishing? (Y/n) Y
|
||||
Do you want an auto-reload & simpleHTTP script to assist with theme
|
||||
and site development? (Y/n) Y
|
||||
Do you want to upload your website using FTP? (y/N) n
|
||||
Do you want to upload your website using SSH? (y/N) n
|
||||
Do you want to upload your website using Dropbox? (y/N) n
|
||||
Do you want to upload your website using S3? (y/N) n
|
||||
Do you want to upload your website using Rackspace Cloud Files?
|
||||
(y/N) n
|
||||
Do you want to upload your website using GitHub Pages? (y/N) n
|
||||
Done. Your new project is available at /xyz/sample_blog
|
||||
```
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/thomaswilley/pelicanyan.git
|
||||
$ vim pelicanconf.py
|
||||
```
|
||||
Append the following to pelicanconf.py:
|
||||
|
||||
```
|
||||
THEME = 'pelicanyan'
|
||||
GA_ACCOUNT = 'UA-12344321-1'
|
||||
TWITTER_ACCOUNT = 'getpelican'
|
||||
DIRECT_TEMPLATES = ('index', 'categories', 'authors', 'archives', 'sitemap', 'robots', 'humans')
|
||||
ROBOTS_SAVE_AS = 'robots.txt'
|
||||
HUMANS_SAVE_AS = 'humans.txt'
|
||||
SITEMAP_SAVE_AS = 'sitemap.xml'
|
||||
DEFAULT_LANG = 'en'
|
||||
DATE_FORMATS = { 'en': '%B %d, %Y', }
|
||||
STATIC_PATHS = ['images', 'favicon.ico']
|
||||
SITEDESCRIPTION = 'sample blog'
|
||||
TYPOGRIFY=True
|
||||
```
|
||||
|
||||
```bash
|
||||
$ cd pelicanyan/static/css/
|
||||
$ wget https://raw.githubusercontent.com/poole/lanyon/master/public/css/lanyon.css
|
||||
$ wget https://raw.githubusercontent.com/poole/lanyon/master/public/css/poole.css
|
||||
$ wget https://raw.githubusercontent.com/poole/lanyon/master/public/css/syntax.css
|
||||
$ cd ../../../
|
||||
```
|
||||
(back in /xyz/sample_blog)
|
||||
|
||||
```bash
|
||||
$ make clean && make html && make serve
|
||||
$ open http://localhost:8000
|
||||
```
|
BIN
pelicanyan/static/.DS_Store
vendored
Normal file
BIN
pelicanyan/static/.DS_Store
vendored
Normal file
Binary file not shown.
563
pelicanyan/static/css/lanyon.css
Normal file
563
pelicanyan/static/css/lanyon.css
Normal file
|
@ -0,0 +1,563 @@
|
|||
/*
|
||||
* ___
|
||||
* /\_ \
|
||||
* \//\ \ __ ___ __ __ ___ ___
|
||||
* \ \ \ /'__`\ /' _ `\/\ \/\ \ / __`\ /' _ `\
|
||||
* \_\ \_/\ \_\.\_/\ \/\ \ \ \_\ \/\ \_\ \/\ \/\ \
|
||||
* /\____\ \__/.\_\ \_\ \_\/`____ \ \____/\ \_\ \_\
|
||||
* \/____/\/__/\/_/\/_/\/_/`/___/> \/___/ \/_/\/_/
|
||||
* /\___/
|
||||
* \/__/
|
||||
*
|
||||
* Designed, built, and released under MIT license by @mdo. Learn more at
|
||||
* https://github.com/poole/lanyon.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Contents
|
||||
*
|
||||
* Global resets
|
||||
* Masthead
|
||||
* Sidebar
|
||||
* Slide effect
|
||||
* Posts and pages
|
||||
* Pagination
|
||||
* Reverse layout
|
||||
* Themes
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Global resets
|
||||
*
|
||||
* Update the foundational and global aspects of the page.
|
||||
*/
|
||||
|
||||
/* Prevent scroll on narrow devices */
|
||||
html,
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: "PT Serif", Georgia, "Times New Roman", serif;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
font-weight: 400;
|
||||
color: #313131;
|
||||
letter-spacing: -.025rem;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Wrapper
|
||||
*
|
||||
* The wrapper is used to position site content when the sidebar is toggled. We
|
||||
* use an outter wrap to position the sidebar without interferring with the
|
||||
* regular page content.
|
||||
*/
|
||||
|
||||
.wrap {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Container
|
||||
*
|
||||
* Center the page content.
|
||||
*/
|
||||
|
||||
.container {
|
||||
max-width: 28rem;
|
||||
}
|
||||
@media (min-width: 38em) {
|
||||
.container {
|
||||
max-width: 32rem;
|
||||
}
|
||||
}
|
||||
@media (min-width: 56em) {
|
||||
.container {
|
||||
max-width: 38rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Masthead
|
||||
*
|
||||
* Super small header above the content for site name and short description.
|
||||
*/
|
||||
|
||||
.masthead {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
@media (max-width: 48em) {
|
||||
.masthead-title {
|
||||
text-align: center;
|
||||
}
|
||||
.masthead-title small {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Sidebar
|
||||
*
|
||||
* The sidebar is the drawer, the item we are toggling with our handy hamburger
|
||||
* button in the corner of the page.
|
||||
*
|
||||
* This particular sidebar implementation was inspired by Chris Coyier's
|
||||
* "Offcanvas Menu with CSS Target" article, and the checkbox variation from the
|
||||
* comments by a reader. It modifies both implementations to continue using the
|
||||
* checkbox (no change in URL means no polluted browser history), but this uses
|
||||
* `position` for the menu to avoid some potential content reflow issues.
|
||||
*
|
||||
* Source: http://css-tricks.com/off-canvas-menu-with-css-target/#comment-207504
|
||||
*/
|
||||
|
||||
/* Style and "hide" the sidebar */
|
||||
.sidebar {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: -14rem;
|
||||
width: 14rem;
|
||||
visibility: hidden;
|
||||
overflow-y: auto;
|
||||
font-family: "PT Sans", Helvetica, Arial, sans-serif;
|
||||
font-size: .875rem; /* 15px */
|
||||
color: rgba(255,255,255,.6);
|
||||
background-color: #202020;
|
||||
-webkit-transition: all .3s ease-in-out;
|
||||
transition: all .3s ease-in-out;
|
||||
}
|
||||
@media (min-width: 30em) {
|
||||
.sidebar {
|
||||
font-size: .75rem; /* 14px */
|
||||
}
|
||||
}
|
||||
|
||||
/* Sidebar content */
|
||||
.sidebar a {
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
}
|
||||
.sidebar-item {
|
||||
padding: 1rem;
|
||||
}
|
||||
.sidebar-item p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Sidebar nav */
|
||||
.sidebar-nav {
|
||||
border-bottom: 1px solid rgba(255,255,255,.1);
|
||||
}
|
||||
.sidebar-nav-item {
|
||||
display: block;
|
||||
padding: .5rem 1rem;
|
||||
border-top: 1px solid rgba(255,255,255,.1);
|
||||
}
|
||||
.sidebar-nav-item.active,
|
||||
a.sidebar-nav-item:hover,
|
||||
a.sidebar-nav-item:focus {
|
||||
text-decoration: none;
|
||||
background-color: rgba(255,255,255,.1);
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
@media (min-width: 48em) {
|
||||
.sidebar-item {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
.sidebar-nav-item {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide the sidebar checkbox that we toggle with `.sidebar-toggle` */
|
||||
.sidebar-checkbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Style the `label` that we use to target the `.sidebar-checkbox` */
|
||||
.sidebar-toggle {
|
||||
position: absolute;
|
||||
top: 1rem;
|
||||
left: 1rem;
|
||||
display: block;
|
||||
width: 2.2rem;
|
||||
padding: .5rem .65rem;
|
||||
color: #505050;
|
||||
background-color: #fff;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.sidebar-toggle:before {
|
||||
display: block;
|
||||
content: "";
|
||||
width: 100%;
|
||||
padding-bottom: .125rem;
|
||||
border-top: .375rem double;
|
||||
border-bottom: .125rem solid;
|
||||
|
||||
/* Make the border inside the box */
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.sidebar-toggle:active,
|
||||
#sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
color: #fff;
|
||||
background-color: #505050;
|
||||
}
|
||||
|
||||
@media (min-width: 30.1em) {
|
||||
.sidebar-toggle {
|
||||
position: fixed;
|
||||
width: 2.25rem;
|
||||
}
|
||||
.sidebar-toggle:before {
|
||||
padding-bottom: .15rem;
|
||||
border-top-width: .45rem;
|
||||
border-bottom-width: .15rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Slide effect
|
||||
*
|
||||
* Handle the sliding effects of the sidebar and content in one spot, seperate
|
||||
* from the default styles.
|
||||
*
|
||||
* As an a heads up, we don't use `transform: translate3d()` here because when
|
||||
* mixed with `position: fixed;` for the sidebar toggle, it creates a new
|
||||
* containing block. Put simply, the fixed sidebar toggle behaves like
|
||||
* `position: absolute;` when transformed.
|
||||
*
|
||||
* Read more about it at http://meyerweb.com/eric/thoughts/2011/09/12/.
|
||||
*/
|
||||
|
||||
.wrap,
|
||||
.sidebar,
|
||||
.sidebar-toggle {
|
||||
-webkit-backface-visibility: hidden;
|
||||
-ms-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
}
|
||||
.wrap,
|
||||
.sidebar-toggle {
|
||||
-webkit-transition: -webkit-transform .3s ease-in-out;
|
||||
transition: transform .3s ease-in-out;
|
||||
}
|
||||
|
||||
#sidebar-checkbox:checked + .sidebar {
|
||||
z-index: 10;
|
||||
visibility: visible;
|
||||
}
|
||||
#sidebar-checkbox:checked ~ .sidebar,
|
||||
#sidebar-checkbox:checked ~ .wrap,
|
||||
#sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
-webkit-transform: translateX(14rem);
|
||||
-ms-transform: translateX(14rem);
|
||||
transform: translateX(14rem);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Reverse layout
|
||||
*
|
||||
* Flip the orientation of the page by placing the `.sidebar` and sidebar toggle
|
||||
* on the right side.
|
||||
*/
|
||||
|
||||
.layout-reverse .sidebar {
|
||||
left: auto;
|
||||
right: -14rem;
|
||||
}
|
||||
.layout-reverse .sidebar-toggle {
|
||||
left: auto;
|
||||
right: 1rem;
|
||||
}
|
||||
|
||||
.layout-reverse #sidebar-checkbox:checked ~ .sidebar,
|
||||
.layout-reverse #sidebar-checkbox:checked ~ .wrap,
|
||||
.layout-reverse #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
-webkit-transform: translateX(-14rem);
|
||||
-ms-transform: translateX(-14rem);
|
||||
transform: translateX(-14rem);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Themes
|
||||
*
|
||||
* Apply custom color schemes by adding the appropriate class to the `body`.
|
||||
* Based on colors from Base16: http://chriskempson.github.io/base16/#default.
|
||||
*/
|
||||
|
||||
/* Red */
|
||||
.theme-base-08 .sidebar,
|
||||
.theme-base-08 .sidebar-toggle:active,
|
||||
.theme-base-08 #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #ac4142;
|
||||
}
|
||||
.theme-base-08 .container a,
|
||||
.theme-base-08 .sidebar-toggle,
|
||||
.theme-base-08 .related-posts li a:hover {
|
||||
color: #ac4142;
|
||||
}
|
||||
|
||||
/* Orange */
|
||||
.theme-base-09 .sidebar,
|
||||
.theme-base-09 .sidebar-toggle:active,
|
||||
.theme-base-09 #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #d28445;
|
||||
}
|
||||
.theme-base-09 .container a,
|
||||
.theme-base-09 .sidebar-toggle,
|
||||
.theme-base-09 .related-posts li a:hover {
|
||||
color: #d28445;
|
||||
}
|
||||
|
||||
/* Yellow */
|
||||
.theme-base-0a .sidebar,
|
||||
.theme-base-0a .sidebar-toggle:active,
|
||||
.theme-base-0a #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #f4bf75;
|
||||
}
|
||||
.theme-base-0a .container a,
|
||||
.theme-base-0a .sidebar-toggle,
|
||||
.theme-base-0a .related-posts li a:hover {
|
||||
color: #f4bf75;
|
||||
}
|
||||
|
||||
/* Green */
|
||||
.theme-base-0b .sidebar,
|
||||
.theme-base-0b .sidebar-toggle:active,
|
||||
.theme-base-0b #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #90a959;
|
||||
}
|
||||
.theme-base-0b .container a,
|
||||
.theme-base-0b .sidebar-toggle,
|
||||
.theme-base-0b .related-posts li a:hover {
|
||||
color: #90a959;
|
||||
}
|
||||
|
||||
/* Cyan */
|
||||
.theme-base-0c .sidebar,
|
||||
.theme-base-0c .sidebar-toggle:active,
|
||||
.theme-base-0c #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #75b5aa;
|
||||
}
|
||||
.theme-base-0c .container a,
|
||||
.theme-base-0c .sidebar-toggle,
|
||||
.theme-base-0c .related-posts li a:hover {
|
||||
color: #75b5aa;
|
||||
}
|
||||
|
||||
/* Blue */
|
||||
.theme-base-0d .sidebar,
|
||||
.theme-base-0d .sidebar-toggle:active,
|
||||
.theme-base-0d #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #6a9fb5;
|
||||
}
|
||||
.theme-base-0d .container a,
|
||||
.theme-base-0d .sidebar-toggle,
|
||||
.theme-base-0d .related-posts li a:hover {
|
||||
color: #6a9fb5;
|
||||
}
|
||||
|
||||
/* Magenta */
|
||||
.theme-base-0e .sidebar,
|
||||
.theme-base-0e .sidebar-toggle:active,
|
||||
.theme-base-0e #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #aa759f;
|
||||
}
|
||||
.theme-base-0e .container a,
|
||||
.theme-base-0e .sidebar-toggle,
|
||||
.theme-base-0e .related-posts li a:hover {
|
||||
color: #aa759f;
|
||||
}
|
||||
|
||||
/* Brown */
|
||||
.theme-base-0f .sidebar,
|
||||
.theme-base-0f .sidebar-toggle:active,
|
||||
.theme-base-0f #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
background-color: #8f5536;
|
||||
}
|
||||
.theme-base-0f .container a,
|
||||
.theme-base-0f .sidebar-toggle,
|
||||
.theme-base-0f .related-posts li a:hover {
|
||||
color: #8f5536;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Overlay sidebar
|
||||
*
|
||||
* Make the sidebar content overlay the viewport content instead of pushing it
|
||||
* aside when toggled.
|
||||
*/
|
||||
|
||||
.sidebar-overlay #sidebar-checkbox:checked ~ .wrap {
|
||||
-webkit-transform: translateX(0);
|
||||
-ms-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
}
|
||||
.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar-toggle {
|
||||
box-shadow: 0 0 0 .25rem #fff;
|
||||
}
|
||||
.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar {
|
||||
box-shadow: .25rem 0 .5rem rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
/* Only one tweak for a reverse layout */
|
||||
.layout-reverse.sidebar-overlay #sidebar-checkbox:checked ~ .sidebar {
|
||||
box-shadow: -.25rem 0 .5rem rgba(0,0,0,.1);
|
||||
}
|
||||
|
||||
.attribution {
|
||||
font-weight: bold;
|
||||
font-size: 0.8em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding-right: 15px !important;
|
||||
}
|
430
pelicanyan/static/css/poole.css
Normal file
430
pelicanyan/static/css/poole.css
Normal file
|
@ -0,0 +1,430 @@
|
|||
/*
|
||||
* ___
|
||||
* /\_ \
|
||||
* _____ ___ ___\//\ \ __
|
||||
* /\ '__`\ / __`\ / __`\\ \ \ /'__`\
|
||||
* \ \ \_\ \/\ \_\ \/\ \_\ \\_\ \_/\ __/
|
||||
* \ \ ,__/\ \____/\ \____//\____\ \____\
|
||||
* \ \ \/ \/___/ \/___/ \/____/\/____/
|
||||
* \ \_\
|
||||
* \/_/
|
||||
*
|
||||
* 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;
|
||||
white-space: pre-wrap;
|
||||
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;
|
||||
background-color: #F2FBFE
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
@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;
|
||||
}
|
||||
}
|
34
pelicanyan/static/css/styles.css
Normal file
34
pelicanyan/static/css/styles.css
Normal file
|
@ -0,0 +1,34 @@
|
|||
.profile {
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
border-radius: 40px;
|
||||
-webkit-border-radius: 40px;
|
||||
-moz-border-radius: 40px;
|
||||
background: url('../img/profile.png') no-repeat center center;
|
||||
background-size: 99% auto;
|
||||
}
|
||||
.profile img {
|
||||
opacity: 0;
|
||||
filter: alpha(opactiy=0);
|
||||
}
|
||||
.content-title h2 {
|
||||
color: #9a9a9a;
|
||||
}
|
||||
table {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
tr {
|
||||
max-width: 100% !important;
|
||||
}
|
||||
td {
|
||||
max-width: 100px !important;
|
||||
}
|
||||
td img {
|
||||
width: 100% auto;
|
||||
}
|
||||
.tiny-note {
|
||||
font-size: 8pt;
|
||||
}
|
||||
.muted {
|
||||
color: #9a9a9a !important;
|
||||
}
|
65
pelicanyan/static/css/syntax.css
Normal file
65
pelicanyan/static/css/syntax.css
Normal file
|
@ -0,0 +1,65 @@
|
|||
.highlight .hll { background-color: #ffc; }
|
||||
.highlight .c { color: #999; } /* Comment */
|
||||
.highlight .err { color: #a00; background-color: #faa } /* Error */
|
||||
.highlight .k { color: #069; } /* Keyword */
|
||||
.highlight .o { color: #555 } /* Operator */
|
||||
.highlight .cm { color: #09f; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #099 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #999; } /* Comment.Single */
|
||||
.highlight .cs { color: #999; } /* Comment.Special */
|
||||
.highlight .gd { background-color: #fcc; border: 1px solid #c00 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #f00 } /* Generic.Error */
|
||||
.highlight .gh { color: #030; } /* Generic.Heading */
|
||||
.highlight .gi { background-color: #cfc; border: 1px solid #0c0 } /* Generic.Inserted */
|
||||
.highlight .go { color: #aaa } /* Generic.Output */
|
||||
.highlight .gp { color: #009; } /* Generic.Prompt */
|
||||
.highlight .gs { } /* Generic.Strong */
|
||||
.highlight .gu { color: #030; } /* Generic.Subheading */
|
||||
.highlight .gt { color: #9c6 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #069; } /* Keyword.Constant */
|
||||
.highlight .kd { color: #069; } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #069; } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #069 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #069; } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #078; } /* Keyword.Type */
|
||||
.highlight .m { color: #f60 } /* Literal.Number */
|
||||
.highlight .s { color: #d44950 } /* Literal.String */
|
||||
.highlight .na { color: #4f9fcf } /* Name.Attribute */
|
||||
.highlight .nb { color: #366 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0a8; } /* Name.Class */
|
||||
.highlight .no { color: #360 } /* Name.Constant */
|
||||
.highlight .nd { color: #99f } /* Name.Decorator */
|
||||
.highlight .ni { color: #999; } /* Name.Entity */
|
||||
.highlight .ne { color: #c00; } /* Name.Exception */
|
||||
.highlight .nf { color: #c0f } /* Name.Function */
|
||||
.highlight .nl { color: #99f } /* Name.Label */
|
||||
.highlight .nn { color: #0cf; } /* Name.Namespace */
|
||||
.highlight .nt { color: #2f6f9f; } /* Name.Tag */
|
||||
.highlight .nv { color: #033 } /* Name.Variable */
|
||||
.highlight .ow { color: #000; } /* Operator.Word */
|
||||
.highlight .w { color: #bbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #f60 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #f60 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #f60 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #f60 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #c30 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #c30 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #c30; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #c30 } /* Literal.String.Double */
|
||||
.highlight .se { color: #c30; } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #c30 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #a00 } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c30 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #3aa } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #c30 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #fc3 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #366 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #033 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #033 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #033 } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #f60 } /* Literal.Number.Integer.Long */
|
||||
|
||||
.css .o,
|
||||
.css .o + .nt,
|
||||
.css .nt + .nt { color: #999; }
|
BIN
pelicanyan/static/img/2015-05-01.jpg
Normal file
BIN
pelicanyan/static/img/2015-05-01.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
pelicanyan/static/img/profile.png
Normal file
BIN
pelicanyan/static/img/profile.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 201 KiB |
11
pelicanyan/templates/archives.html
Normal file
11
pelicanyan/templates/archives.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<h1>Archives for {{ SITENAME }}</h1>
|
||||
|
||||
<dl>
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endblock %}
|
31
pelicanyan/templates/article.html
Normal file
31
pelicanyan/templates/article.html
Normal file
|
@ -0,0 +1,31 @@
|
|||
{% extends "base.html" %}
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
{% for keyword in article.keywords %}
|
||||
<meta name="keywords" contents="{{keyword}}" />
|
||||
{% endfor %}
|
||||
|
||||
{% for description in article.description %}
|
||||
<meta name="description" contents="{{description}}" />
|
||||
{% endfor %}
|
||||
|
||||
{% for tag in article.tags %}
|
||||
<meta name="tags" contents="{{tag}}" />
|
||||
{% endfor %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}{{ article.title }} - {{ SITENAME }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="posts">
|
||||
<div class="post">
|
||||
<h1 class="post-title">
|
||||
{{ article.title }}
|
||||
</h1>
|
||||
<span class="post-date">{{ article.locale_date }}</span>
|
||||
|
||||
{{ article.content }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
7
pelicanyan/templates/author.html
Normal file
7
pelicanyan/templates/author.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
|
||||
{% block content_title %}
|
||||
<h2>Articles by {{ author }}</h2>
|
||||
{% endblock %}
|
||||
|
13
pelicanyan/templates/authors.html
Normal file
13
pelicanyan/templates/authors.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Authors{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Authors on {{ SITENAME }}</h1>
|
||||
|
||||
<ul>
|
||||
{%- for author, articles in authors|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
109
pelicanyan/templates/base.html
Normal file
109
pelicanyan/templates/base.html
Normal file
|
@ -0,0 +1,109 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ DEFAULT_LANG }}">
|
||||
<head>
|
||||
{% block head %}
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
|
||||
|
||||
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
|
||||
|
||||
<meta charset="utf-8" />
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_RSS and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_RSS and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
|
||||
{% endif %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/poole.css"/>
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/syntax.css"/>
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/lanyon.css"/>
|
||||
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Serif:400,400italic,700%7CPT+Sans:400">
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/styles.css"/>
|
||||
{% endblock head %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% include 'sidebar.html' %}
|
||||
<div class="wrap">
|
||||
<div class="masthead">
|
||||
<div class="container">
|
||||
<h3 class="masthead-title">
|
||||
<a href="{{ SITEURL }}/" title="Home">{{ SITENAME }}</a>
|
||||
{% if SITEDESCRIPTION %}
|
||||
<small>{{ SITEDESCRIPTION }}</small>
|
||||
{% endif %}
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container content">
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
|
||||
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
|
||||
|
||||
<script>
|
||||
(function(document) {
|
||||
var i = 0;
|
||||
// snip empty header rows since markdown can't
|
||||
var rows = document.querySelectorAll('tr');
|
||||
for(i=0; i<rows.length; i++) {
|
||||
var ths = rows[i].querySelectorAll('th');
|
||||
var rowlen = rows[i].children.length;
|
||||
if (ths.length > 0 && ths.length === rowlen) {
|
||||
rows[i].remove();
|
||||
}
|
||||
}
|
||||
})(document);
|
||||
</script>
|
||||
|
||||
<script>
|
||||
/* Lanyon & Poole are Copyright (c) 2014 Mark Otto. Adapted to Pelican 20141223 and extended a bit by @thomaswilley */
|
||||
(function(document) {
|
||||
var toggle = document.querySelector('.sidebar-toggle');
|
||||
var sidebar = document.querySelector('#sidebar');
|
||||
var checkbox = document.querySelector('#sidebar-checkbox');
|
||||
document.addEventListener('click', function(e) {
|
||||
var target = e.target;
|
||||
if(!checkbox.checked ||
|
||||
sidebar.contains(target) ||
|
||||
(target === checkbox || target === toggle)) return;
|
||||
checkbox.checked = false;
|
||||
}, false);
|
||||
})(document);
|
||||
</script>
|
||||
{% if GA_ACCOUNT %}
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', '{{ GA_ACCOUNT }}']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
{% endif %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
8
pelicanyan/templates/categories.html
Normal file
8
pelicanyan/templates/categories.html
Normal file
|
@ -0,0 +1,8 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<ul>
|
||||
{% for category, articles in categories %}
|
||||
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
5
pelicanyan/templates/category.html
Normal file
5
pelicanyan/templates/category.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
{% extends "index.html" %}
|
||||
{% block content_title %}
|
||||
<h2>{{ category }} category</h2>
|
||||
{% endblock %}
|
||||
|
0
pelicanyan/templates/humans.html
Normal file
0
pelicanyan/templates/humans.html
Normal file
19
pelicanyan/templates/index.html
Normal file
19
pelicanyan/templates/index.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<div class="content-title">
|
||||
{% block content_title %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div class="posts">
|
||||
{% for article in articles_page.object_list %}
|
||||
<div class="post">
|
||||
<h1 class="post-title" style="display: inline">
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
|
||||
</h1>
|
||||
<span class="post-date" style="display: inline">{{ article.locale_date }}</span>
|
||||
<span class="headline" style="display: block">{{ article.headline }}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% include 'pagination.html' %}
|
||||
{% endblock content %}
|
15
pelicanyan/templates/page.html
Normal file
15
pelicanyan/templates/page.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ page.title }}{%endblock%}
|
||||
{% block content %}
|
||||
<h1>{{ page.title }}</h1>
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(page) }}
|
||||
|
||||
{{ page.content }}
|
||||
|
||||
{% if page.modified %}
|
||||
<p>
|
||||
Last updated: {{ page.locale_modified }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endblock %}
|
15
pelicanyan/templates/pagination.html
Normal file
15
pelicanyan/templates/pagination.html
Normal file
|
@ -0,0 +1,15 @@
|
|||
{% if DEFAULT_PAGINATION %}
|
||||
<!--// updated -->
|
||||
<div class="pagination">
|
||||
{% if articles_page.has_previous() %}
|
||||
<a class="pagination-item newer" href="{{ SITEURL }}/{{ articles_previous_page.url }}">newer</a>
|
||||
{% else %}
|
||||
<span class="pagination-item newer">newer</span>
|
||||
{% endif %}
|
||||
{% if articles_page.has_next() %}
|
||||
<a class="pagination-item older" href="{{ SITEURL }}/{{ articles_next_page.url }}">older</a>
|
||||
{% else %}
|
||||
<span class="pagination-item older">older</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
11
pelicanyan/templates/period_archives.html
Normal file
11
pelicanyan/templates/period_archives.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<h1>Archives for {{ period | reverse | join(' ') }}</h1>
|
||||
|
||||
<dl>
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endblock %}
|
2
pelicanyan/templates/robots.html
Normal file
2
pelicanyan/templates/robots.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
User-Agent: *
|
||||
Sitemap: {{ SITEURL }}/sitemap.xml
|
19
pelicanyan/templates/sidebar.html
Normal file
19
pelicanyan/templates/sidebar.html
Normal file
|
@ -0,0 +1,19 @@
|
|||
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
|
||||
styles, `#sidebar-checkbox` for behavior. -->
|
||||
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
|
||||
<!-- Toggleable sidebar -->
|
||||
<div class="sidebar" id="sidebar">
|
||||
<div class="sidebar-item">
|
||||
<div class="profile">
|
||||
<img src="{{ SITEURL }}/theme/img/profile.png"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="sidebar-nav">
|
||||
<a class="sidebar-nav-item" href="/">Articles</a>
|
||||
|
||||
{% for title, href in LINKS %}
|
||||
<a class="sidebar-nav-item" href="{{ href }}">{{ title }}</a>
|
||||
{% endfor %}
|
||||
</nav>
|
||||
</div>
|
32
pelicanyan/templates/sitemap.html
Normal file
32
pelicanyan/templates/sitemap.html
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
|
||||
{% for article in articles %}
|
||||
<url>
|
||||
<loc>{{ SITEURL }}/{{ article.url }}</loc>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
|
||||
{% for translation in article.translations %}
|
||||
<url>
|
||||
<loc>{{ SITEURL }}/{{ translation.url }}</loc>
|
||||
<priority>0.8</priority>
|
||||
</url>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for page in pages %}
|
||||
<url>
|
||||
<loc>{{ SITEURL }}/{{ page.url }}</loc>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
|
||||
{% for translation in page.translations %}
|
||||
<url>
|
||||
<loc>{{ SITEURL }}/{{ translation.url }}</loc>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
</urlset>
|
0
pelicanyan/templates/tag.html
Normal file
0
pelicanyan/templates/tag.html
Normal file
10
pelicanyan/templates/tags.html
Normal file
10
pelicanyan/templates/tags.html
Normal file
|
@ -0,0 +1,10 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Tags{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Tags for {{ SITENAME }}</h1>
|
||||
{%- for tag, articles in tags|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
9
pelicanyan/templates/translations.html
Normal file
9
pelicanyan/templates/translations.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
{% macro translations_for(article) %}
|
||||
{% if article.translations %}
|
||||
Translations:
|
||||
{% for translation in article.translations %}
|
||||
<a href="{{ SITEURL }}/{{ translation.url }}">{{ translation.lang }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
Loading…
Reference in a new issue