diff --git a/template/index.md b/template/index.md index 52c6181..5f470a6 100644 --- a/template/index.md +++ b/template/index.md @@ -11,7 +11,7 @@ JsonLD: { "@context": "https://schema.org", "@type": "WebPage", "name": "Accueil # La {LINK} est parue ! La Craft Letter est une newsletter hebdomadaire dans laquelle je partage des articles -issues de ma veille technologique. Vous y trouverez des articles relatifs au développement logiciel d'une façon générale, qu'il soit front-end, back-end ou autre. Mais aussi des articles consacrés à l'architecture logicielle, la méthodologie, les outils, des projets open source, des conférences... +issus de ma veille technologique. Vous y trouverez des articles relatifs au développement logiciel d'une façon générale, qu'il soit front-end, back-end ou autre. Mais aussi des articles consacrés à l'architecture logicielle, la méthodologie, les outils, des projets open source, des conférences... Pour savoir qui je suis, ou pourquoi j'écris cette lettre, je vous invite à vous lire l'édito du [premier numéro]({filename}/newsletter/craft-letter-1.md). diff --git a/themes/blue-penguin/CONTRIBUTORS.md b/themes/blue-penguin/CONTRIBUTORS.md new file mode 100644 index 0000000..56da1f2 --- /dev/null +++ b/themes/blue-penguin/CONTRIBUTORS.md @@ -0,0 +1,17 @@ +# Contributors + +* [Nevan Scott](https://github.com/nevanscott/Mockingbird) (original author) +* [wrl](http://ghttps://github.com/guikcdithub.com/wrl) (port to pelican, pelican-mockingbird) +* [Jody Frankowski](http://github.com/jody-frankowski) (Blue Penguin) +* [Grimbox](https://github.com/Grimbox) +* [ix5](https://github.com/ix5) +* [dn0](https://github.com/dn0) +* [anhtuann](https://github.com/anhtuann) +* [aperep](https://github.com/aperep) +* [iranzo](https://github.com/iranzo) +* [thetlk](https://github.com/thetlk) +* [SnorlaxYum](https://github.com/SnorlaxYum) +* [guikcd](https://github.com/guikcd) +* [jorgesumle](https://github.com/jorgesumle) +* [crxxn](https://github.com/crxxn) +* [Pascal Le Merrer](https://www.craftletter.fr) diff --git a/themes/blue-penguin/README.md b/themes/blue-penguin/README.md new file mode 100644 index 0000000..831bfc3 --- /dev/null +++ b/themes/blue-penguin/README.md @@ -0,0 +1,53 @@ + + +# Blue Penguin for pelican +A simple theme for pelican. Solarized pygments. Feeds support. + +## Settings +```python +# all the following settings are *optional* + +# HTML metadata +SITEDESCRIPTION = '' + +# all defaults to True. +DISPLAY_HEADER = True +DISPLAY_FOOTER = True +DISPLAY_HOME = True +DISPLAY_MENU = True + +# provided as examples, they make ‘clean’ urls. used by MENU_INTERNAL_PAGES. +TAGS_URL = 'tags' +TAGS_SAVE_AS = 'tags/index.html' +AUTHORS_URL = 'authors' +AUTHORS_SAVE_AS = 'authors/index.html' +CATEGORIES_URL = 'categories' +CATEGORIES_SAVE_AS = 'categories/index.html' +ARCHIVES_URL = 'archives' +ARCHIVES_SAVE_AS = 'archives/index.html' + +# use those if you want pelican standard pages to appear in your menu +MENU_INTERNAL_PAGES = ( + ('Tags', TAGS_URL, TAGS_SAVE_AS), + ('Authors', AUTHORS_URL, AUTHORS_SAVE_AS), + ('Categories', CATEGORIES_URL, CATEGORIES_SAVE_AS), + ('Archives', ARCHIVES_URL, ARCHIVES_SAVE_AS), +) +# additional menu items +MENUITEMS = ( + ('GitHub', 'https://github.com/'), + ('Linux Kernel', 'https://www.kernel.org/'), +) +``` + +## How to contribute +Contributions are very welcome. Keep in mind that this theme goal is to be +minimalistic/simple. Contributions will be accepted through Github Pull +Requests. If you don’t have a Github account you can suggest me your +changes by email (which you can find on my github profile). + +## Contributors +See [CONTRIBUTORS.md](CONTRIBUTORS.md). + +## License +Public domain. diff --git a/themes/blue-penguin/screenshot.png b/themes/blue-penguin/screenshot.png new file mode 100644 index 0000000..fc5c406 Binary files /dev/null and b/themes/blue-penguin/screenshot.png differ diff --git a/themes/blue-penguin/static/css/print.css b/themes/blue-penguin/static/css/print.css new file mode 100644 index 0000000..c63a87b --- /dev/null +++ b/themes/blue-penguin/static/css/print.css @@ -0,0 +1,4 @@ +* { background: #fff; } +body { font-family: georgia, times, serif; color: black; } +blockquote { font-style: italic; color: black; } +a:link, a:visited { border-bottom-width: 1px; border-bottom-style: solid; } diff --git a/themes/blue-penguin/static/css/pygments.css b/themes/blue-penguin/static/css/pygments.css new file mode 100644 index 0000000..bfc8af8 --- /dev/null +++ b/themes/blue-penguin/static/css/pygments.css @@ -0,0 +1,87 @@ +/* Solarized Dark + +For use with Jekyll and Pygments + +https://ethanschoonover.com/solarized + +SOLARIZED HEX ROLE +--------- -------- ------------------------------------------ +base03 #002b36 background +base01 #586e75 comments / secondary content +base1 #93a1a1 body text / default code / primary content +orange #cb4b16 constants +red #dc322f regex, special keywords +blue #268bd2 reserved keywords +cyan #2aa198 strings, numbers +green #859900 operators, other keywords +*/ + +.highlight { background-color: #002b36; color: #93a1a1 } +.highlight .c { color: #586e75 } /* Comment */ +.highlight .err { color: #93a1a1 } /* Error */ +.highlight .g { color: #93a1a1 } /* Generic */ +.highlight .k { color: #859900 } /* Keyword */ +.highlight .l { color: #93a1a1 } /* Literal */ +.highlight .n { color: #93a1a1 } /* Name */ +.highlight .o { color: #859900 } /* Operator */ +.highlight .x { color: #cb4b16 } /* Other */ +.highlight .p { color: #93a1a1 } /* Punctuation */ +.highlight .cm { color: #586e75 } /* Comment.Multiline */ +.highlight .cp { color: #859900 } /* Comment.Preproc */ +.highlight .c1 { color: #586e75 } /* Comment.Single */ +.highlight .cs { color: #859900 } /* Comment.Special */ +.highlight .gd { color: #2aa198 } /* Generic.Deleted */ +.highlight .ge { color: #93a1a1; font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #dc322f } /* Generic.Error */ +.highlight .gh { color: #cb4b16 } /* Generic.Heading */ +.highlight .gi { color: #859900 } /* Generic.Inserted */ +.highlight .go { color: #93a1a1 } /* Generic.Output */ +.highlight .gp { color: #93a1a1 } /* Generic.Prompt */ +.highlight .gs { color: #93a1a1; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #cb4b16 } /* Generic.Subheading */ +.highlight .gt { color: #93a1a1 } /* Generic.Traceback */ +.highlight .kc { color: #cb4b16 } /* Keyword.Constant */ +.highlight .kd { color: #268bd2 } /* Keyword.Declaration */ +.highlight .kn { color: #859900 } /* Keyword.Namespace */ +.highlight .kp { color: #859900 } /* Keyword.Pseudo */ +.highlight .kr { color: #268bd2 } /* Keyword.Reserved */ +.highlight .kt { color: #dc322f } /* Keyword.Type */ +.highlight .ld { color: #93a1a1 } /* Literal.Date */ +.highlight .m { color: #2aa198 } /* Literal.Number */ +.highlight .s { color: #2aa198 } /* Literal.String */ +.highlight .na { color: #93a1a1 } /* Name.Attribute */ +.highlight .nb { color: #B58900 } /* Name.Builtin */ +.highlight .nc { color: #268bd2 } /* Name.Class */ +.highlight .no { color: #cb4b16 } /* Name.Constant */ +.highlight .nd { color: #268bd2 } /* Name.Decorator */ +.highlight .ni { color: #cb4b16 } /* Name.Entity */ +.highlight .ne { color: #cb4b16 } /* Name.Exception */ +.highlight .nf { color: #268bd2 } /* Name.Function */ +.highlight .nl { color: #93a1a1 } /* Name.Label */ +.highlight .nn { color: #93a1a1 } /* Name.Namespace */ +.highlight .nx { color: #93a1a1 } /* Name.Other */ +.highlight .py { color: #93a1a1 } /* Name.Property */ +.highlight .nt { color: #268bd2 } /* Name.Tag */ +.highlight .nv { color: #268bd2 } /* Name.Variable */ +.highlight .ow { color: #859900 } /* Operator.Word */ +.highlight .w { color: #93a1a1 } /* Text.Whitespace */ +.highlight .mf { color: #2aa198 } /* Literal.Number.Float */ +.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */ +.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */ +.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */ +.highlight .sb { color: #586e75 } /* Literal.String.Backtick */ +.highlight .sc { color: #2aa198 } /* Literal.String.Char */ +.highlight .sd { color: #93a1a1 } /* Literal.String.Doc */ +.highlight .s2 { color: #2aa198 } /* Literal.String.Double */ +.highlight .se { color: #cb4b16 } /* Literal.String.Escape */ +.highlight .sh { color: #93a1a1 } /* Literal.String.Heredoc */ +.highlight .si { color: #2aa198 } /* Literal.String.Interpol */ +.highlight .sx { color: #2aa198 } /* Literal.String.Other */ +.highlight .sr { color: #dc322f } /* Literal.String.Regex */ +.highlight .s1 { color: #2aa198 } /* Literal.String.Single */ +.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */ +.highlight .bp { color: #268bd2 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #268bd2 } /* Name.Variable.Class */ +.highlight .vg { color: #268bd2 } /* Name.Variable.Global */ +.highlight .vi { color: #268bd2 } /* Name.Variable.Instance */ +.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */ diff --git a/themes/blue-penguin/static/css/screen.css b/themes/blue-penguin/static/css/screen.css new file mode 100644 index 0000000..11e23c2 --- /dev/null +++ b/themes/blue-penguin/static/css/screen.css @@ -0,0 +1,495 @@ +/* https://meyerweb.com/eric/tools/css/reset/ +v2.0 | 20110126 +License: none (public domain) + */ +/* Mockingbird Theme by Nevan Scott nevanscott.com */ +/* Modified by Jody Frankowski */ +/* Modified by ix5 */ +/* Modified by Pascal Le Merrer */ + +:root { + --link-color: #801515; + --link-background-color: #abdae7; +} + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +em { + font-style: italic; +} +strong { + font-weight: bold; +} +/* HTML5 display-role reset for older browsers */ +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +section { + display: block; +} +body { + line-height: 1; +} +ol, +ul { + list-style: none; +} +blockquote, +q { + quotes: none; +} +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} + +body { + font-family: sans-serif; + font-size: 16px; + line-height: 1.5em; + color: #444; +} + +header, +#wrapper { + padding: 0 10px; + max-width: 910px; + margin: auto; +} + +#wrapper { + min-width: 500px; +} + +a { + box-shadow: inset 0 0 0 0 var(--link-background-color); + color: var(--link-color); + padding: 0 0.25rem; + margin: 0 -0.25rem; + transition: + color 0.3s ease-in-out, + box-shadow 0.3s ease-in-out; +} + +a:hover { + box-shadow: inset 800px 0 0 0 var(--link-background-color); +} + +ul { + list-style: outside disc; +} + +ol { + list-style: outside decimal; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: sans-serif; + font-weight: bold; +} +h1, +h2, +h3 { + line-height: 1em; + margin: 1em 0; +} + +h1 { + font-size: 2em; +} + +h2 { + font-size: 1.7em; +} + +h3 { + font-size: 1.5em; +} + +img, +p, +.post > .highlight, +.highlighttable, +h4, +h5, +h6 { + margin-top: 1.2em; +} + +blockquote { + margin: 1.5em 1.5em 1.5em 0.75em; + padding-left: 0.75em; + border-left: 1px solid #eee; +} + +.date { + color: #ccc; + float: left; + clear: both; + width: 130px; + font-size: 1.5em; + line-height: 1em; + margin: 0 20px 1em 0; +} + +.info { + margin-top: 1.3em; + font-family: sans-serif; + text-align: right; + color: #bbb; +} +.info a { + color: inherit; +} +.info a.tags { + background: #ccc; + color: #fff; + display: inline-block; + padding: 0 0.3em; + border: 1px transparent solid; + border-radius: 5px; + margin: 0 0 0.3em 0; +} +.info a.tags:hover { + background: inherit; + color: inherit; +} +.info a.tags.selected { + border: 1px #999 solid; +} + +.post { + margin: 0 0 4.5em 150px; +} +.post.archives { + margin-bottom: 1.5em; + margin-left: 160px; +} +.post p { + text-align: justify; +} + +.page { + margin: 0 90px; +} + +.highlight { + border-radius: 3px; +} +.code > .highlight { + border-radius: 0px 3px 3px 0px; +} +.linenos { + border-radius: 3px 0px 0px 3px; + background-color: #073642; + border-right: 1px solid #00232c; + color: #586e75; + text-shadow: 0px -1px #021014; +} +td.code { + width: 100%; + max-width: 100px; +} +.linenos a { + color: #586e75; +} + +.logo { + max-width: 100%; + display: block; + margin-left: auto; + margin-right: auto; + margin-top: 6rem; + margin-bottom: 6rem; +} + +/*sub and sup stolen from Twitter bootstrap.*/ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +.post pre, +.page pre { + padding: 0.8em; + font-size: 12px; + font-family: Monospace; + line-height: 1.1em; + overflow: auto; +} + +form.inline_edit { + clear: both; + margin: 4.5em 0; + background-color: #ddd; + color: #000; + padding: 20px; + border-radius: 5px; +} +.inline_edit .sub { + color: #888; + white-space: nowrap; +} +.inline_edit label { + float: left; + clear: both; + width: 140px; + margin-right: 20px; +} +.inline_edit .buttons { + display: block; + text-align: right; +} + +nav { + display: flex; + flex-direction: row; + gap: 30px; +} + +nav ul { + list-style: none; + padding: 0; +} + +nav a { + color: var(--link-color); +} +nav a:hover { + color: var(--link-color); + text-decoration: underline; + background-color: #d3d3d3; +} + +nav li.selected a { + background-color: var(--link-background-color); + color: var(--link-color); +} + +header .header_box { + padding-top: 4.5em; +} + +header h1 { + font-size: 1.5em; + line-height: 1em; + margin: 0; +} + +header h2 { + font-size: 1em; + margin: 0.3em 0; + color: #ddd; +} + +#content { + margin-top: 3em; +} + +.pages { + font-family: sans-serif; + line-height: 2.5em; + margin: 4.5em 0 3em; + background-color: #f9f9f9; + color: #444; + border-radius: 5px; +} +.pages a.next_page { + float: right; + width: 140px; + text-align: center; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + background-color: #eee; +} +.pages a.prev_page { + float: left; + width: 140px; + text-align: center; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + background-color: #eee; +} +.pages a { + color: inherit; + border: none; +} +.pages a:hover { + background-color: #ddd; +} + +.pages span { + display: block; + margin: 0 160px; + text-align: center; +} + +code { + background-color: #f9f2f4; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + box-sizing: border-box; + color: #c7254e; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12.6px; + line-height: 18px; + padding-bottom: 2px; + padding-left: 4px; + padding-right: 4px; + padding-top: 2px; + white-space: nowrap; +} + +footer { + font-family: sans-serif; + line-height: 2.5em; + text-align: center; + color: #bbb; + margin: 3em 0; + border: 1px solid #eee; + border-radius: 5px; +} +footer p { + margin: 0; +} + +.right { + float: right; +} + +.clear { + clear: both; +} + +@media (max-width: 600px) { + header, + #wrapper { + max-width: 500px; + min-width: 300px; + } + .page, + .post { + margin: 0px; + } +} + +hr { + color: #cccccc; + margin-top: 40px; + margin-bottom: 40px; +} diff --git a/themes/blue-penguin/templates/analytics.html b/themes/blue-penguin/templates/analytics.html new file mode 100644 index 0000000..ba174fc --- /dev/null +++ b/themes/blue-penguin/templates/analytics.html @@ -0,0 +1,11 @@ +{% if GOOGLE_ANALYTICS %} + + +{% endif %} \ No newline at end of file diff --git a/themes/blue-penguin/templates/archives.html b/themes/blue-penguin/templates/archives.html new file mode 100644 index 0000000..097bd07 --- /dev/null +++ b/themes/blue-penguin/templates/archives.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} | Archives{% endblock %} +{% block content %} + +