├── .dockerignore ├── .gitattributes ├── .gitignore ├── .pyup.yml ├── .travis.yml ├── AUTHORS ├── CONTRIBUTING.md ├── ChangeLog ├── Dockerfile ├── Jenkinsfile ├── LICENSE ├── Makefile ├── README.md ├── docs ├── EMOJILICENSE ├── README.md ├── emoji.png ├── emoji_icon.png ├── emoji_medium.png ├── emoji_small.png ├── emoji_xsmall.png └── src │ ├── SUMMARY.md │ ├── conclusion.md │ ├── first │ ├── index.md │ └── nested.md │ ├── intro.md │ └── second.md ├── mdbook ├── quokka ├── __init__.py ├── __main__.py ├── admin │ ├── __init__.py │ ├── actions.py │ ├── ajax.py │ ├── fields.py │ ├── formatters.py │ ├── forms.py │ ├── views.py │ ├── widgets.py │ └── wtforms_html5.py ├── cli.py ├── core │ ├── __init__.py │ ├── app.py │ ├── auth.py │ ├── blueprints.py │ ├── commands_collector.py │ ├── content │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── formats.py │ │ ├── models.py │ │ ├── paginator.py │ │ ├── parsers.py │ │ ├── utils.py │ │ └── views.py │ ├── context_processors.py │ ├── db.py │ ├── error_handlers.py │ ├── errors.py │ ├── flask_dynaconf.py │ ├── logger.py │ ├── monitoring.py │ ├── regex_url_support.py │ ├── template_filters.py │ ├── themes.py │ └── views │ │ ├── __init__.py │ │ └── sitemap.py ├── module_template │ ├── README.md │ ├── quokka_module_template │ │ ├── __init__.py │ │ └── admin.py │ └── setup.py ├── project_template │ ├── .gitignore │ ├── .secrets.yml │ ├── databases │ │ └── README.md │ ├── modules │ │ └── README.md │ ├── output │ │ └── README.md │ ├── quokka.yml │ ├── static │ │ └── favicon.ico │ ├── themes │ │ ├── Flex │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── static │ │ │ │ ├── font-awesome │ │ │ │ │ ├── css │ │ │ │ │ │ └── font-awesome.min.css │ │ │ │ │ └── fonts │ │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── img │ │ │ │ │ ├── profile.png │ │ │ │ │ └── profile_license.txt │ │ │ │ ├── pygments │ │ │ │ │ ├── algol.css │ │ │ │ │ ├── algol.min.css │ │ │ │ │ ├── algol_nu.css │ │ │ │ │ ├── algol_nu.min.css │ │ │ │ │ ├── autumn.css │ │ │ │ │ ├── autumn.min.css │ │ │ │ │ ├── borland.css │ │ │ │ │ ├── borland.min.css │ │ │ │ │ ├── bw.css │ │ │ │ │ ├── bw.min.css │ │ │ │ │ ├── colorful.css │ │ │ │ │ ├── colorful.min.css │ │ │ │ │ ├── default.css │ │ │ │ │ ├── default.min.css │ │ │ │ │ ├── emacs.css │ │ │ │ │ ├── emacs.min.css │ │ │ │ │ ├── friendly.css │ │ │ │ │ ├── friendly.min.css │ │ │ │ │ ├── fruity.css │ │ │ │ │ ├── fruity.min.css │ │ │ │ │ ├── github.css │ │ │ │ │ ├── github.min.css │ │ │ │ │ ├── igor.css │ │ │ │ │ ├── igor.min.css │ │ │ │ │ ├── lovelace.css │ │ │ │ │ ├── lovelace.min.css │ │ │ │ │ ├── manni.css │ │ │ │ │ ├── manni.min.css │ │ │ │ │ ├── monokai.css │ │ │ │ │ ├── monokai.min.css │ │ │ │ │ ├── murphy.css │ │ │ │ │ ├── murphy.min.css │ │ │ │ │ ├── native.css │ │ │ │ │ ├── native.min.css │ │ │ │ │ ├── paraiso-dark.css │ │ │ │ │ ├── paraiso-dark.min.css │ │ │ │ │ ├── paraiso-light.css │ │ │ │ │ ├── paraiso-light.min.css │ │ │ │ │ ├── pastie.css │ │ │ │ │ ├── pastie.min.css │ │ │ │ │ ├── perldoc.css │ │ │ │ │ ├── perldoc.min.css │ │ │ │ │ ├── rrt.css │ │ │ │ │ ├── rrt.min.css │ │ │ │ │ ├── solarized-dark.css │ │ │ │ │ ├── solarized-dark.min.css │ │ │ │ │ ├── tango.css │ │ │ │ │ ├── tango.min.css │ │ │ │ │ ├── trac.css │ │ │ │ │ ├── trac.min.css │ │ │ │ │ ├── vim.css │ │ │ │ │ ├── vim.min.css │ │ │ │ │ ├── vs.css │ │ │ │ │ ├── vs.min.css │ │ │ │ │ ├── xcode.css │ │ │ │ │ └── xcode.min.css │ │ │ │ └── stylesheet │ │ │ │ │ ├── style.less │ │ │ │ │ ├── style.min.css │ │ │ │ │ └── variables.less │ │ │ └── templates │ │ │ │ ├── archives.html │ │ │ │ ├── article.html │ │ │ │ ├── author.html │ │ │ │ ├── authors.html │ │ │ │ ├── bar.html │ │ │ │ ├── base.html │ │ │ │ ├── categories.html │ │ │ │ ├── category.html │ │ │ │ ├── foo.html │ │ │ │ ├── index.html │ │ │ │ ├── login2.html │ │ │ │ ├── page.html │ │ │ │ ├── partial │ │ │ │ ├── cc_license.html │ │ │ │ ├── copyright.html │ │ │ │ ├── disqus.html │ │ │ │ ├── duoshuo.html │ │ │ │ ├── flex.html │ │ │ │ ├── ga.html │ │ │ │ ├── github.html │ │ │ │ ├── gtm.html │ │ │ │ ├── guages.html │ │ │ │ ├── jsonld.html │ │ │ │ ├── jsonld_article.html │ │ │ │ ├── neighbors.html │ │ │ │ ├── og.html │ │ │ │ ├── og_article.html │ │ │ │ ├── pagination.html │ │ │ │ ├── piwik.html │ │ │ │ ├── statuscake.html │ │ │ │ └── translations.html │ │ │ │ ├── period_archives.html │ │ │ │ ├── tag.html │ │ │ │ └── tags.html │ │ ├── README.md │ │ ├── bootstrap3 │ │ │ ├── AUTHORS.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap.amelia.min.css │ │ │ │ │ ├── bootstrap.cerulean.min.css │ │ │ │ │ ├── bootstrap.cosmo.min.css │ │ │ │ │ ├── bootstrap.cupid.min.css │ │ │ │ │ ├── bootstrap.custom.min.css │ │ │ │ │ ├── bootstrap.cyborg.min.css │ │ │ │ │ ├── bootstrap.darkly.min.css │ │ │ │ │ ├── bootstrap.flatly.min.css │ │ │ │ │ ├── bootstrap.journal.min.css │ │ │ │ │ ├── bootstrap.lumen.min.css │ │ │ │ │ ├── bootstrap.min.css │ │ │ │ │ ├── bootstrap.paper.min.css │ │ │ │ │ ├── bootstrap.readable-old.min.css │ │ │ │ │ ├── bootstrap.readable.min.css │ │ │ │ │ ├── bootstrap.sandstone.min.css │ │ │ │ │ ├── bootstrap.shamrock.min.css │ │ │ │ │ ├── bootstrap.simplex.min.css │ │ │ │ │ ├── bootstrap.slate.min.css │ │ │ │ │ ├── bootstrap.spacelab.min.css │ │ │ │ │ ├── bootstrap.superhero.min.css │ │ │ │ │ ├── bootstrap.united.min.css │ │ │ │ │ ├── bootstrap.yeti.min.css │ │ │ │ │ ├── font-awesome.css │ │ │ │ │ ├── font-awesome.css.map │ │ │ │ │ ├── font-awesome.min.css │ │ │ │ │ ├── html4css1.css │ │ │ │ │ ├── pygments │ │ │ │ │ │ ├── autumn.css │ │ │ │ │ │ ├── borland.css │ │ │ │ │ │ ├── bw.css │ │ │ │ │ │ ├── colorful.css │ │ │ │ │ │ ├── default.css │ │ │ │ │ │ ├── emacs.css │ │ │ │ │ │ ├── friendly.css │ │ │ │ │ │ ├── fruity.css │ │ │ │ │ │ ├── github.css │ │ │ │ │ │ ├── igor.css │ │ │ │ │ │ ├── manni.css │ │ │ │ │ │ ├── monokai.css │ │ │ │ │ │ ├── murphy.css │ │ │ │ │ │ ├── native.css │ │ │ │ │ │ ├── paraiso-dark.css │ │ │ │ │ │ ├── paraiso-light.css │ │ │ │ │ │ ├── pastie.css │ │ │ │ │ │ ├── perldoc.css │ │ │ │ │ │ ├── rrt.css │ │ │ │ │ │ ├── solarizeddark.css │ │ │ │ │ │ ├── solarizedlight.css │ │ │ │ │ │ ├── tango.css │ │ │ │ │ │ ├── trac.css │ │ │ │ │ │ ├── vim.css │ │ │ │ │ │ ├── vs.css │ │ │ │ │ │ ├── xcode.css │ │ │ │ │ │ └── zenburn.css │ │ │ │ │ ├── shariff │ │ │ │ │ │ └── shariff.min.css │ │ │ │ │ ├── style.css │ │ │ │ │ └── typogrify.css │ │ │ │ ├── fonts │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ ├── fontawesome-webfont.woff2 │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ │ ├── js │ │ │ │ │ ├── bodypadding.js │ │ │ │ │ ├── bootstrap.min.js │ │ │ │ │ ├── github.js │ │ │ │ │ ├── jXHR.js │ │ │ │ │ ├── jquery.min.js │ │ │ │ │ ├── respond.min.js │ │ │ │ │ └── shariff.min.js │ │ │ │ └── tipuesearch │ │ │ │ │ ├── img │ │ │ │ │ └── search.png │ │ │ │ │ ├── tipuesearch.css │ │ │ │ │ ├── tipuesearch.js │ │ │ │ │ ├── tipuesearch.min.js │ │ │ │ │ ├── tipuesearch_content.js │ │ │ │ │ └── tipuesearch_set.js │ │ │ ├── templates │ │ │ │ ├── archives.html │ │ │ │ ├── article.html │ │ │ │ ├── article_list.html │ │ │ │ ├── author.html │ │ │ │ ├── authors.html │ │ │ │ ├── base.html │ │ │ │ ├── categories.html │ │ │ │ ├── category.html │ │ │ │ ├── includes │ │ │ │ │ ├── aboutme.html │ │ │ │ │ ├── addthis.html │ │ │ │ │ ├── article_info.html │ │ │ │ │ ├── banner.html │ │ │ │ │ ├── cc-license.html │ │ │ │ │ ├── comment_count.html │ │ │ │ │ ├── comments.html │ │ │ │ │ ├── disqus_script.html │ │ │ │ │ ├── footer.html │ │ │ │ │ ├── ga.html │ │ │ │ │ ├── liquid_tags_nb_footer.html │ │ │ │ │ ├── liquid_tags_nb_header.html │ │ │ │ │ ├── minify_tipuesearch.html │ │ │ │ │ ├── pagination.html │ │ │ │ │ ├── piwik.html │ │ │ │ │ ├── related-posts.html │ │ │ │ │ ├── series.html │ │ │ │ │ ├── shariff.html │ │ │ │ │ ├── sidebar.html │ │ │ │ │ ├── sidebar │ │ │ │ │ │ ├── archive.html │ │ │ │ │ │ ├── article-li.html │ │ │ │ │ │ ├── authors.html │ │ │ │ │ │ ├── categories.html │ │ │ │ │ │ ├── github-js.html │ │ │ │ │ │ ├── github.html │ │ │ │ │ │ ├── images.html │ │ │ │ │ │ ├── links.html │ │ │ │ │ │ ├── macros.jinja │ │ │ │ │ │ ├── recent_posts.html │ │ │ │ │ │ ├── series.html │ │ │ │ │ │ ├── social.html │ │ │ │ │ │ ├── tag_cloud.html │ │ │ │ │ │ └── twitter_timeline.html │ │ │ │ │ ├── taglist.html │ │ │ │ │ ├── translations.html │ │ │ │ │ └── twitter_cards.html │ │ │ │ ├── index.html │ │ │ │ ├── page.html │ │ │ │ ├── search.html │ │ │ │ ├── tag.html │ │ │ │ └── tags.html │ │ │ └── translations │ │ │ │ ├── ca │ │ │ │ └── LC_MESSAGES │ │ │ │ │ └── messages.po │ │ │ │ ├── de │ │ │ │ └── LC_MESSAGES │ │ │ │ │ └── messages.po │ │ │ │ └── fr │ │ │ │ └── LC_MESSAGES │ │ │ │ └── messages.po │ │ ├── clean │ │ │ ├── .gitignore │ │ │ ├── .gitmodules │ │ │ ├── README.md │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ ├── bootstrap.min.css │ │ │ │ │ ├── clean-blog.css │ │ │ │ │ ├── clean-blog.min.css │ │ │ │ │ └── code_blocks │ │ │ │ │ │ ├── darkly.css │ │ │ │ │ │ ├── github.css │ │ │ │ │ │ ├── github_jekyll.css │ │ │ │ │ │ ├── monokai.css │ │ │ │ │ │ ├── tomorrow.css │ │ │ │ │ │ └── tomorrow_night.css │ │ │ │ ├── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ │ ├── images │ │ │ │ │ ├── about-bg.jpg │ │ │ │ │ ├── contact-bg.jpg │ │ │ │ │ ├── home-bg.jpg │ │ │ │ │ ├── post-bg.jpg │ │ │ │ │ └── post-sample-image.jpg │ │ │ │ └── js │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ ├── bootstrap.min.js │ │ │ │ │ ├── clean-blog.js │ │ │ │ │ ├── clean-blog.min.js │ │ │ │ │ ├── jquery.js │ │ │ │ │ └── jquery.min.js │ │ │ └── templates │ │ │ │ ├── analytics.html │ │ │ │ ├── archives.html │ │ │ │ ├── article.html │ │ │ │ ├── author.html │ │ │ │ ├── authors.html │ │ │ │ ├── base.html │ │ │ │ ├── categories.html │ │ │ │ ├── category.html │ │ │ │ ├── comments.html │ │ │ │ ├── disqus_script.html │ │ │ │ ├── footer.html │ │ │ │ ├── index.html │ │ │ │ ├── page.html │ │ │ │ ├── pagination.html │ │ │ │ ├── period_archives.html │ │ │ │ ├── sharing.html │ │ │ │ ├── tag.html │ │ │ │ └── tags.html │ │ ├── hyde │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── static │ │ │ │ └── css │ │ │ │ │ ├── hyde.css │ │ │ │ │ ├── poole.css │ │ │ │ │ ├── style.css │ │ │ │ │ └── syntax.css │ │ │ └── templates │ │ │ │ ├── article.html │ │ │ │ ├── base.html │ │ │ │ ├── fragments │ │ │ │ ├── disqus.html │ │ │ │ └── google_analytics.html │ │ │ │ ├── index.html │ │ │ │ └── sidebar.html │ │ ├── malt │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.rst │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ ├── animate.css │ │ │ │ │ ├── article.css │ │ │ │ │ ├── authors.css │ │ │ │ │ ├── categories.css │ │ │ │ │ ├── comunidade.css │ │ │ │ │ ├── equipe.css │ │ │ │ │ ├── font-awesome.min.css │ │ │ │ │ ├── home.css │ │ │ │ │ ├── index.css │ │ │ │ │ ├── materialize.css │ │ │ │ │ ├── materialize.min.css │ │ │ │ │ ├── page.css │ │ │ │ │ ├── pygments │ │ │ │ │ │ ├── autumn.css │ │ │ │ │ │ ├── borland.css │ │ │ │ │ │ ├── bw.css │ │ │ │ │ │ ├── colorful.css │ │ │ │ │ │ ├── default.css │ │ │ │ │ │ ├── emacs.css │ │ │ │ │ │ ├── friendly.css │ │ │ │ │ │ ├── fruity.css │ │ │ │ │ │ ├── igor.css │ │ │ │ │ │ ├── manni.css │ │ │ │ │ │ ├── monokai.css │ │ │ │ │ │ ├── murphy.css │ │ │ │ │ │ ├── native.css │ │ │ │ │ │ ├── paraiso-dark.css │ │ │ │ │ │ ├── paraiso-light.css │ │ │ │ │ │ ├── pastie.css │ │ │ │ │ │ ├── perldoc.css │ │ │ │ │ │ ├── rrt.css │ │ │ │ │ │ ├── tango.css │ │ │ │ │ │ ├── trac.css │ │ │ │ │ │ ├── vim.css │ │ │ │ │ │ ├── vs.css │ │ │ │ │ │ └── xcode.css │ │ │ │ │ ├── style.css │ │ │ │ │ ├── tag-category-author-index.css │ │ │ │ │ └── tags.css │ │ │ │ ├── font │ │ │ │ │ ├── material-design-icons │ │ │ │ │ │ ├── LICENSE.txt │ │ │ │ │ │ ├── Material-Design-Icons.eot │ │ │ │ │ │ ├── Material-Design-Icons.svg │ │ │ │ │ │ ├── Material-Design-Icons.ttf │ │ │ │ │ │ ├── Material-Design-Icons.woff │ │ │ │ │ │ └── Material-Design-Icons.woff2 │ │ │ │ │ └── roboto │ │ │ │ │ │ ├── Roboto-Bold.ttf │ │ │ │ │ │ ├── Roboto-Bold.woff │ │ │ │ │ │ ├── Roboto-Bold.woff2 │ │ │ │ │ │ ├── Roboto-Light.ttf │ │ │ │ │ │ ├── Roboto-Light.woff │ │ │ │ │ │ ├── Roboto-Light.woff2 │ │ │ │ │ │ ├── Roboto-Medium.ttf │ │ │ │ │ │ ├── Roboto-Medium.woff │ │ │ │ │ │ ├── Roboto-Medium.woff2 │ │ │ │ │ │ ├── Roboto-Regular.ttf │ │ │ │ │ │ ├── Roboto-Regular.woff │ │ │ │ │ │ ├── Roboto-Regular.woff2 │ │ │ │ │ │ ├── Roboto-Thin.ttf │ │ │ │ │ │ ├── Roboto-Thin.woff │ │ │ │ │ │ └── Roboto-Thin.woff2 │ │ │ │ ├── fonts │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── img │ │ │ │ │ ├── default_avatar.gif │ │ │ │ │ ├── island.jpg │ │ │ │ │ └── logo.png │ │ │ │ └── js │ │ │ │ │ ├── init.js │ │ │ │ │ ├── jquery-2.1.1.min.js │ │ │ │ │ ├── materialize.js │ │ │ │ │ ├── materialize.min.js │ │ │ │ │ └── parallax.js │ │ │ └── templates │ │ │ │ ├── article.html │ │ │ │ ├── author.html │ │ │ │ ├── authors.html │ │ │ │ ├── base.html │ │ │ │ ├── categories.html │ │ │ │ ├── category.html │ │ │ │ ├── comunidade.html │ │ │ │ ├── home.html │ │ │ │ ├── includes │ │ │ │ ├── breadcrumbs.html │ │ │ │ ├── comments.html │ │ │ │ ├── footer.html │ │ │ │ └── navbar.html │ │ │ │ ├── index.html │ │ │ │ ├── membros.html │ │ │ │ ├── page.html │ │ │ │ ├── sitemap.xml │ │ │ │ ├── tag.html │ │ │ │ └── tags.html │ │ ├── octopress │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── README.rst │ │ │ ├── static │ │ │ │ ├── css │ │ │ │ │ └── main.css │ │ │ │ ├── images │ │ │ │ │ ├── bird_32_gray.png │ │ │ │ │ ├── bird_32_gray_fail.png │ │ │ │ │ ├── code_bg.png │ │ │ │ │ ├── dotted-border.png │ │ │ │ │ ├── email.png │ │ │ │ │ ├── line-tile.png │ │ │ │ │ ├── noise.png │ │ │ │ │ ├── rss.png │ │ │ │ │ └── search.png │ │ │ │ └── js │ │ │ │ │ ├── ender.js │ │ │ │ │ ├── github.js │ │ │ │ │ ├── jXHR.js │ │ │ │ │ ├── modernizr-2.0.js │ │ │ │ │ ├── octopress.js │ │ │ │ │ ├── qr.min.js │ │ │ │ │ └── twitter.js │ │ │ └── templates │ │ │ │ ├── _includes │ │ │ │ ├── after_footer.html │ │ │ │ ├── analytics.html │ │ │ │ ├── article.html │ │ │ │ ├── article_infos.html │ │ │ │ ├── article_stats.html │ │ │ │ ├── article_time.html │ │ │ │ ├── disqus_script.html │ │ │ │ ├── disqus_thread.html │ │ │ │ ├── facebook_like.html │ │ │ │ ├── footer.html │ │ │ │ ├── github.html │ │ │ │ ├── google_plus_one.html │ │ │ │ ├── gplus_sidebar.html │ │ │ │ ├── header.html │ │ │ │ ├── isso_script.html │ │ │ │ ├── links.html │ │ │ │ ├── navigation.html │ │ │ │ ├── pagination.html │ │ │ │ ├── piwik.html │ │ │ │ ├── qr_code.html │ │ │ │ ├── sharing.html │ │ │ │ ├── sidebar.html │ │ │ │ ├── social.html │ │ │ │ ├── social_markup.html │ │ │ │ ├── twitter_sharing.html │ │ │ │ └── twitter_sidebar.html │ │ │ │ ├── archives.html │ │ │ │ ├── article.html │ │ │ │ ├── author.html │ │ │ │ ├── authors.html │ │ │ │ ├── base.html │ │ │ │ ├── categories.html │ │ │ │ ├── category.html │ │ │ │ ├── index.html │ │ │ │ ├── page.html │ │ │ │ ├── period_archives.html │ │ │ │ ├── tag.html │ │ │ │ └── tags.html │ │ └── pure │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── static │ │ │ └── css │ │ │ │ ├── pure.css │ │ │ │ └── pygments.css │ │ │ └── templates │ │ │ ├── analytics.html │ │ │ ├── archives.html │ │ │ ├── article.html │ │ │ ├── author.html │ │ │ ├── base.html │ │ │ ├── category.html │ │ │ ├── disqus.html │ │ │ ├── footer.html │ │ │ ├── index.html │ │ │ ├── page.html │ │ │ ├── pagination.html │ │ │ ├── post.html │ │ │ ├── sidebar.html │ │ │ └── tag.html │ ├── uploads │ │ └── README.md │ └── wsgi.py ├── templates │ ├── admin │ │ ├── index.html │ │ └── quokka │ │ │ ├── create.html │ │ │ ├── edit.html │ │ │ ├── macros.html │ │ │ └── master.html │ ├── archives.html │ ├── article.html │ ├── author.html │ ├── authors.html │ ├── base.html │ ├── categories.html │ ├── category.html │ ├── errors │ │ ├── access_forbidden.html │ │ ├── method_not_allowed.html │ │ ├── page_not_found.html │ │ └── server_error.html │ ├── gosquared.html │ ├── index.html │ ├── overload_bootstrap3 │ │ └── templates │ │ │ └── includes │ │ │ ├── comments.html │ │ │ └── sidebar │ │ │ └── social.html │ ├── overload_nest │ │ └── templates │ │ │ └── disqus_script.html │ ├── overload_octopress │ │ └── templates │ │ │ └── _includes │ │ │ └── disqus_script.html │ ├── page.html │ ├── pagination.html │ ├── period_archives.html │ ├── tag.html │ ├── tags.html │ └── translations.html └── utils │ ├── __init__.py │ ├── atom.py │ ├── blocks.py │ ├── custom_vars.py │ ├── dateformat.py │ ├── echo.py │ ├── project.py │ ├── routing.py │ ├── text.py │ └── upload.py ├── requirements-dev.txt ├── requirements.txt ├── setup.cfg ├── setup.py └── tests ├── conftest.py └── test_basic.py /.dockerignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | Thumbs.db 3 | *~ 4 | dist/ 5 | README.rst 6 | .eggs/ 7 | *.egg 8 | *.egg-info 9 | .git 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | quokka/project_template/themes/* linguist-vendored 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | .pytest_cache/ 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Packages 9 | .idea 10 | *.idea 11 | *.egg 12 | *.egg-info 13 | dist 14 | build 15 | eggs 16 | parts 17 | bin 18 | var 19 | sdist 20 | develop-eggs 21 | .installed.cfg 22 | lib 23 | lib64 24 | 25 | # Pyenv 26 | .python-version 27 | 28 | # Installer logs 29 | pip-log.txt 30 | 31 | # Unit test / coverage reports 32 | .coverage 33 | .tox 34 | nosetests.xml 35 | 36 | .email_password.txt 37 | .db_password.txt 38 | local_settings.py 39 | # Translations 40 | *.mo 41 | 42 | *.nja 43 | 44 | media/* 45 | 46 | # Mr Developer 47 | .mr.developer.cfg 48 | .project 49 | .pydevproject 50 | 51 | # VIM 52 | .ropeproject 53 | *.swp 54 | 55 | quokka/mediafiles 56 | etc/elasticdata/elasticsearch 57 | etc/mongodata/journal 58 | etc/mongodata/_tmp 59 | etc/mongodata/*.0 60 | etc/mongodata/*.ns 61 | etc/mongodata/*.lock 62 | etc/mongodata/*.bson 63 | etc/mongodata/*.wt 64 | etc/mongodata/WiredTiger* 65 | etc/mongodata/*.data 66 | *.log 67 | *.pid 68 | *.cache* 69 | 70 | databases 71 | quokka/project_template/databases/*.json 72 | !quokka/project_template/databases/README.md 73 | 74 | quokka/project_template/uploads/* 75 | !quokka/project_template/uploads/README.md 76 | 77 | quokka/project_template/static_build/* 78 | !quokka/project_template/static_build/README.md 79 | 80 | quokka/project_template/modules/* 81 | !quokka/project_template/modules/README.md 82 | 83 | venv 84 | old_* 85 | .envrc 86 | 87 | docs/book 88 | 89 | .eggs 90 | 91 | README.rst 92 | -------------------------------------------------------------------------------- /.pyup.yml: -------------------------------------------------------------------------------- 1 | pin: False 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "3.6" 4 | services: mongodb 5 | addons: 6 | apt_packages: 7 | - pandoc 8 | install: 9 | - "pip install --upgrade -r requirements.txt" 10 | - "pip install --upgrade -r requirements-dev.txt" 11 | - make install 12 | script: make test 13 | after_success: 14 | - coveralls 15 | notifications: 16 | slack: quokkaproject:pjF8y81mqwXxQRtf5sGz5zqr 17 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Benjamin Doherty 2 | Bernardo Gomes 3 | Bruno Rocha 4 | Bruno Rocha 5 | Eric Ho 6 | Filipe Amaral 7 | Lex Quarkie 8 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | @Library('github.com/fabric8io/osio-pipeline@master') _ 2 | 3 | osio { 4 | 5 | config runtime: 'go' 6 | 7 | ci { 8 | 9 | def resources = processTemplate(params: [ 10 | RELEASE_VERSION: "1.0.${env.BUILD_NUMBER}" 11 | ]) 12 | 13 | build resources: resources 14 | 15 | } 16 | 17 | cd { 18 | 19 | def resources = processTemplate(params: [ 20 | RELEASE_VERSION: "1.0.${env.BUILD_NUMBER}" 21 | ]) 22 | 23 | build resources: resources 24 | 25 | deploy resources: resources, env: 'stage' 26 | 27 | deploy resources: resources, env: 'run', approval: 'manual' 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: docs test pep8 clean install build publish tree create_env devserver pandoc adduser 2 | 3 | test: pep8 4 | QUOKKA_MODE=test py.test --cov=quokka -l --tb=short --maxfail=1 tests/ 5 | 6 | pep8: 7 | @flake8 quokka --ignore=F403 --exclude=migrations 8 | 9 | docs: 10 | @./mdbook build docs/ 11 | 12 | clean: 13 | @find ./ -name '*.pyc' -exec rm -f {} \; 14 | @find ./ -name 'Thumbs.db' -exec rm -f {} \; 15 | @find ./ -name '*~' -exec rm -f {} \; 16 | @rm -rf dist/ 17 | @rm -rf build/ 18 | @rm -rf README.rst 19 | @rm -rf .eggs/ 20 | @rm -rf *.egg 21 | @rm -rf *.egg-info 22 | 23 | 24 | reqs: 25 | @pip install pbr pypandoc pygments 26 | 27 | pandoc: reqs 28 | @pandoc --from=markdown --to=rst --output=README.rst README.md 29 | 30 | install: clean pandoc 31 | @python setup.py develop 32 | 33 | build: clean pandoc 34 | @python setup.py sdist bdist_wheel --universal 35 | 36 | publish: build 37 | @twine upload dist/* 38 | 39 | tree: 40 | @tree -L 1 -a -I __pycache__ --dirsfirst --noreport 41 | 42 | create_env: 43 | @rm -rf venv 44 | @python3.6 -m venv venv 45 | 46 | devserver: 47 | $(info "Running quokka project template...") 48 | @cd quokka/project_template; quokka runserver 49 | 50 | shell: 51 | $(info "Running quokka shell...") 52 | @cd quokka/project_template; quokka shell 53 | 54 | 55 | adduser: 56 | $(info "Running quokka adduser...") 57 | @cd quokka/project_template; quokka adduser 58 | -------------------------------------------------------------------------------- /docs/EMOJILICENSE: -------------------------------------------------------------------------------- 1 | https://emojipedia.org/hamster-face/ 2 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/docs/README.md -------------------------------------------------------------------------------- /docs/emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/docs/emoji.png -------------------------------------------------------------------------------- /docs/emoji_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/docs/emoji_icon.png -------------------------------------------------------------------------------- /docs/emoji_medium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/docs/emoji_medium.png -------------------------------------------------------------------------------- /docs/emoji_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/docs/emoji_small.png -------------------------------------------------------------------------------- /docs/emoji_xsmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/docs/emoji_xsmall.png -------------------------------------------------------------------------------- /docs/src/SUMMARY.md: -------------------------------------------------------------------------------- 1 | # Summary 2 | 3 | [Introduction](intro.md) 4 | 5 | - [First Chapter](./first/index.md) 6 | - [Nested Chapter](./first/nested.md) 7 | - [Second Chapter](./second.md) 8 | 9 | [Conclusion](./conclusion.md) 10 | -------------------------------------------------------------------------------- /docs/src/conclusion.md: -------------------------------------------------------------------------------- 1 | # Conclusion -------------------------------------------------------------------------------- /docs/src/first/index.md: -------------------------------------------------------------------------------- 1 | # First Chapter 2 | 3 | more text. 4 | 5 | ## Some Section 6 | -------------------------------------------------------------------------------- /docs/src/first/nested.md: -------------------------------------------------------------------------------- 1 | # Nested Chapter 2 | 3 | This file has some testable code. 4 | 5 | ```python 6 | print('hello') 7 | ``` 8 | 9 | ## Some Section 10 | -------------------------------------------------------------------------------- /docs/src/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | Here's some interesting text...yes it works 4 | -------------------------------------------------------------------------------- /docs/src/second.md: -------------------------------------------------------------------------------- 1 | # Second Chapter -------------------------------------------------------------------------------- /mdbook: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/mdbook -------------------------------------------------------------------------------- /quokka/__init__.py: -------------------------------------------------------------------------------- 1 | """Quokka CMS!""" 2 | 3 | from pathlib import Path 4 | from quokka.core.app import QuokkaApp 5 | from quokka.core import configure_extensions, configure_extension 6 | from quokka.core.flask_dynaconf import configure_dynaconf 7 | 8 | 9 | def create_app_base(test=False, ext_list=None, **settings): 10 | """Creates basic app only with extensions provided in ext_list 11 | useful for testing.""" 12 | 13 | app = QuokkaApp('quokka') 14 | if settings: 15 | app.config.update(settings) 16 | configure_dynaconf(app) 17 | 18 | if test or app.config.get('TESTING'): 19 | app.testing = True 20 | 21 | app.static_folder = Path.cwd() / Path('static') 22 | # Path(app.config['PROJECT_ROOT']) 23 | 24 | if ext_list: 25 | for ext in ext_list: 26 | configure_extension(ext, app=app) 27 | 28 | return app 29 | 30 | 31 | def create_app(test=False, **settings): 32 | """Creates full app with all extensions loaded""" 33 | app = create_app_base(test=test, **settings) 34 | configure_extensions(app) 35 | return app 36 | -------------------------------------------------------------------------------- /quokka/__main__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from quokka.cli import main 4 | main() 5 | -------------------------------------------------------------------------------- /quokka/admin/ajax.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # TODO: adapt to tinymongo 3 | 4 | # from flask_admin.contrib.mongoengine.ajax import QueryAjaxModelLoader 5 | # from flask_admin.model.ajax import DEFAULT_PAGE_SIZE 6 | 7 | 8 | # class AjaxModelLoader(object): # QueryAjaxModelLoader): 9 | # """ 10 | # """ 11 | # def __init__(self, name, model, **options): 12 | # self.filters = options.pop('filters', None) 13 | # super(AjaxModelLoader, self).__init__(name, model, **options) 14 | 15 | # def get_list(self, term, offset=0, limit=DEFAULT_PAGE_SIZE): 16 | # query = self.model.objects 17 | 18 | # criteria = None 19 | 20 | # for field in self._cached_fields: 21 | # flt = {u'%s__icontains' % field.name: term} 22 | 23 | # if not criteria: 24 | # criteria = mongoengine.Q(**flt) 25 | # else: 26 | # criteria |= mongoengine.Q(**flt) 27 | 28 | # query = query.filter(criteria) 29 | 30 | # if self.filters: 31 | # query = query.filter(**self.filters) 32 | 33 | # if offset: 34 | # query = query.skip(offset) 35 | 36 | # return query.limit(limit).all() 37 | -------------------------------------------------------------------------------- /quokka/core/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from inspect import getargspec 3 | import sys 4 | import import_string 5 | 6 | 7 | def configure_extension(name, **kwargs): 8 | configurator = import_string(name) 9 | args = getargspec(configurator).args 10 | configurator(**{key: val for key, val in kwargs.items() if key in args}) 11 | 12 | 13 | def configure_extensions(app, admin=None): 14 | """Configure extensions provided in config file""" 15 | sys.path.insert(0, './modules') 16 | extensions = app.config.get( 17 | 'CORE_EXTENSIONS', [] 18 | ) + app.config.get( 19 | 'EXTRA_EXTENSIONS', [] 20 | ) 21 | for configurator_name in extensions: 22 | configure_extension(configurator_name, app=app, admin=admin) 23 | return app 24 | -------------------------------------------------------------------------------- /quokka/core/errors.py: -------------------------------------------------------------------------------- 1 | from tinymongo.errors import DuplicateKeyError # noqa 2 | -------------------------------------------------------------------------------- /quokka/core/logger.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | 4 | def configure(app): 5 | if app.config.get("LOGGER_ENABLED"): 6 | logging.basicConfig( 7 | level=getattr(logging, app.config.get("LOGGER_LEVEL", "DEBUG")), 8 | format=app.config.get( 9 | "LOGGER_FORMAT", 10 | '%(asctime)s %(name)-12s %(levelname)-8s %(message)s'), 11 | datefmt=app.config.get("LOGGER_DATE_FORMAT", '%d.%m %H:%M:%S') 12 | ) 13 | -------------------------------------------------------------------------------- /quokka/core/monitoring.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | try: 4 | from flask_debugtoolbar import DebugToolbarExtension 5 | except ImportError: 6 | DebugToolbarExtension = None 7 | 8 | try: 9 | from opbeat.contrib.flask import Opbeat 10 | except ImportError: 11 | Opbeat = None 12 | 13 | try: 14 | from raven.contrib.flask import Sentry 15 | except ImportError: 16 | Sentry = None 17 | 18 | 19 | def configure(app, admin=None): 20 | if app.config.get('DEBUG_TOOLBAR_ENABLED'): 21 | try: 22 | DebugToolbarExtension(app) 23 | app.logger.info('Debug toolbar configured!!!') 24 | except TypeError: 25 | app.logger.error('You must install flask_debugtoolbar') 26 | except RuntimeError as e: 27 | app.logger.error(str(e)) 28 | 29 | if app.config.get('OPBEAT'): 30 | try: 31 | Opbeat( 32 | app, 33 | logging=app.config.get('OPBEAT', {}).get('LOGGING', False) 34 | ) 35 | app.logger.info('opbeat configured!!!') 36 | except TypeError: 37 | app.logger.error('You must install opbeat') 38 | 39 | if app.config.get('SENTRY_ENABLED', False): 40 | try: 41 | app.sentry = Sentry(app) 42 | app.logger.info('Sentry configured!!!') 43 | except TypeError: 44 | app.logger.error('You must install raven (Sentry)') 45 | -------------------------------------------------------------------------------- /quokka/core/regex_url_support.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | # ext_list = '|'.join(app.config.get( 4 | # "CONTENT_EXTENSION_LIST", ['html', 'htm', 'rss', 'atom'])) 5 | # ext = f'' 6 | # ext = f'' 7 | 8 | @app.route('/foo/bar//baz/) 9 | """ 10 | 11 | from werkzeug.routing import BaseConverter 12 | 13 | 14 | class RegexConverter(BaseConverter): 15 | def __init__(self, url_map, *items): 16 | super(RegexConverter, self).__init__(url_map) 17 | self.regex = items[0] 18 | 19 | 20 | class Regex(object): 21 | """ Enables Flask Regex Routes """ 22 | 23 | def __init__(self, app=None): 24 | self.app = app 25 | 26 | if self.app: 27 | self.init_app(self.app) 28 | 29 | def init_app(self, app): 30 | """ Configures the Regex Converter """ 31 | 32 | app.url_map.converters['regex'] = RegexConverter 33 | -------------------------------------------------------------------------------- /quokka/core/template_filters.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | from quokka.utils.blocks import get_block, get_blocks, get_block_by_id 3 | 4 | 5 | def is_list(obj): 6 | return isinstance(obj, (list, tuple)) 7 | 8 | 9 | def configure(app): 10 | """Configure Jinja filters and globals""" 11 | # app.jinja_env.filters['isinstance'] = is_instance 12 | app.add_template_global(is_list) 13 | app.add_template_global(get_block) 14 | app.add_template_global(get_block_by_id) 15 | app.add_template_global(get_blocks) 16 | -------------------------------------------------------------------------------- /quokka/module_template/README.md: -------------------------------------------------------------------------------- 1 | # This is Quokka Module Template 2 | -------------------------------------------------------------------------------- /quokka/module_template/quokka_module_template/__init__.py: -------------------------------------------------------------------------------- 1 | from .admin import UserView, TweetView 2 | 3 | 4 | def configure(app): 5 | app.admin.register( 6 | app.db.users, 7 | UserView, 8 | # category='User', 9 | name='User' 10 | ) 11 | 12 | app.admin.register( 13 | app.db.get_collection('tweets'), 14 | TweetView, 15 | # category='User', 16 | name='Tweets' 17 | ) 18 | -------------------------------------------------------------------------------- /quokka/module_template/setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | 3 | setup(name='quokka_module_template') 4 | -------------------------------------------------------------------------------- /quokka/project_template/.gitignore: -------------------------------------------------------------------------------- 1 | .secrets.yml 2 | databases/* 3 | !databases/README.md 4 | uploads/* 5 | !uploads/README.md 6 | modules/* 7 | !modules/README.md 8 | static_build/* 9 | !static_build/README.md 10 | venv 11 | *.log 12 | *.pid 13 | *.cache* 14 | *.py[cod] 15 | -------------------------------------------------------------------------------- /quokka/project_template/.secrets.yml: -------------------------------------------------------------------------------- 1 | ############################################################################## 2 | # I prefer if you do not use this file, it exists for convenience 3 | # the better should be to export sensitive data as environment variables 4 | # ex: 5 | # $ export QUOKKA_SECRET_KEY='5a105457-3e3e-4d2e-ba7c-4c8c31be1bc5' 6 | # $ export QUOKKA_DB__PASSWORD='my-password' 7 | # $ export QUOKKA_DB__USERNAME='admin' 8 | # QUOKKA_ = Prefix for any quokka settings 9 | # DB = The `DB` settings variable used by quokka 10 | # __USERNAME = username value (note the __ double underline) 11 | # 12 | ############################################################################## 13 | # ONLY IF EXPORTING ENV VARS IS NOT USEFUL FOR YOU, DEFINE INFO BELOW 14 | # Important! this file must be in .gitignore to avoid pushing to repo 15 | ############################################################################## 16 | 17 | QUOKKA: 18 | SECRET_KEY: 'secret-key-here' 19 | -------------------------------------------------------------------------------- /quokka/project_template/databases/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/databases/README.md -------------------------------------------------------------------------------- /quokka/project_template/modules/README.md: -------------------------------------------------------------------------------- 1 | # Quokka custom modules comes here 2 | -------------------------------------------------------------------------------- /quokka/project_template/output/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/output/README.md -------------------------------------------------------------------------------- /quokka/project_template/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/static/favicon.ico -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .Python 10 | env/ 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | *.egg-info/ 23 | .installed.cfg 24 | *.egg 25 | 26 | # PyInstaller 27 | # Usually these files are written by a python script from a template 28 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 29 | *.manifest 30 | *.spec 31 | 32 | # Installer logs 33 | pip-log.txt 34 | pip-delete-this-directory.txt 35 | 36 | # Unit test / coverage reports 37 | htmlcov/ 38 | .tox/ 39 | .coverage 40 | .coverage.* 41 | .cache 42 | nosetests.xml 43 | coverage.xml 44 | *,cover 45 | tests/output 46 | 47 | # Django stuff: 48 | *.log 49 | 50 | # Sphinx documentation 51 | docs/_build/ 52 | 53 | # PyBuilder 54 | target/ 55 | 56 | venv 57 | 58 | # NPM 59 | node_modules 60 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "2.7" 4 | - "3.4" 5 | - "3.5" 6 | install: 7 | - pip install pelican markdown 8 | before_script: 9 | - git clone https://github.com/getpelican/pelican-plugins plugins 10 | script: pelican -s tests/pelicanconf.py 11 | notifications: 12 | email: false 13 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Alexandre Vicenzi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/Flex/static/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/Flex/static/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/img/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/Flex/static/img/profile.png -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/img/profile_license.txt: -------------------------------------------------------------------------------- 1 | https://www.iconfinder.com/icons/196742/account_boy_male_man_people_profile_user_icon -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/algol.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#888;font-style:italic}.err{border:1px solid red}.k{font-weight:700;text-decoration:underline}.ch,.cm{color:#888;font-style:italic}.cp{color:#888;font-weight:700}.c1,.cpf{color:#888;font-style:italic}.cs{color:#888;font-weight:700}.kc,.kd{font-weight:700;text-decoration:underline}.kd{font-style:italic}.kn,.kp,.kr,.kt{font-weight:700;text-decoration:underline}.s{color:#666;font-style:italic}.nb,.nc{font-weight:700;font-style:italic}.nc{color:#666}.nf,.nn,.no,.nv{color:#666;font-weight:700;font-style:italic}.ow{font-weight:700}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#666;font-style:italic}.bp,.vc{font-weight:700;font-style:italic}.vc{color:#666}.vg,.vi{color:#666;font-weight:700;font-style:italic} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/algol_nu.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#888;font-style:italic}.err{border:1px solid red}.k{font-weight:700}.ch,.cm{color:#888;font-style:italic}.cp{color:#888;font-weight:700}.c1,.cpf{color:#888;font-style:italic}.cs{color:#888}.cs,.kc,.kd{font-weight:700}.kd{font-style:italic}.kn,.kp,.kr,.kt{font-weight:700}.s{color:#666;font-style:italic}.nb,.nc{font-weight:700;font-style:italic}.nc{color:#666}.nf,.nn,.no,.nv{color:#666;font-weight:700;font-style:italic}.ow{font-weight:700}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#666;font-style:italic}.bp,.vc{font-weight:700;font-style:italic}.vc{color:#666}.vg,.vi{color:#666;font-weight:700;font-style:italic} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/autumn.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#aaa;font-style:italic}.err{color:red;background-color:#faa}.k{color:#00a}.ch,.cm{color:#aaa;font-style:italic}.cp{color:#4c8317}.c1,.cpf{color:#aaa}.c1,.cpf,.cs{font-style:italic}.cs{color:#00a}.gd{color:#a00}.ge{font-style:italic}.gr{color:#a00}.gh{color:navy;font-weight:700}.gi{color:#0a0}.go{color:#888}.gp{color:#555}.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#a00}.kc,.kd,.kn,.kp,.kr{color:#00a}.kt{color:#0aa}.m{color:#099}.s{color:#a50}.na{color:#1e90ff}.nb{color:#0aa}.nc{color:#0a0;text-decoration:underline}.no{color:#a00}.nd{color:#888}.ni{color:#800;font-weight:700}.nf{color:#0a0}.nn{color:#0aa;text-decoration:underline}.nt{color:#1e90ff;font-weight:700}.nv{color:#a00}.ow{color:#00a}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#099}.s2,.sb,.sc,.sd,.se,.sh,.si,.sx{color:#a50}.sr{color:#099}.s1{color:#a50}.ss{color:#00a}.bp{color:#0aa}.vc,.vg,.vi{color:#a00}.il{color:#099} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/borland.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#080;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:navy;font-weight:700}.ch,.cm{color:#080;font-style:italic}.cp{color:teal}.c1,.cpf{color:#080;font-style:italic}.cs{color:#080;font-weight:700}.gd{color:#000;background-color:#fdd}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:700}.gu{color:#aaa}.gt{color:#a00}.kc,.kd,.kn,.kp,.kr,.kt{color:navy;font-weight:700}.m,.s{color:#00f}.na{color:red}.nt{color:navy}.nt,.ow{font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo,.sb{color:#00f}.sc{color:purple}.il,.s1,.s2,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#00f} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/bw.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{font-style:italic}.err{border:1px solid red}.k{font-weight:700}.c1,.ch,.cm,.cpf,.cs,.ge{font-style:italic}.gh,.gp,.gs,.gu,.kc,.kd,.kn,.kr{font-weight:700}.s{font-style:italic}.nc,.ne,.ni,.nn,.nt,.ow{font-weight:700}.s2,.sb,.sc,.sd,.se{font-style:italic}.se{font-weight:700}.sh,.si{font-style:italic}.si{font-weight:700}.s1,.sr,.ss,.sx{font-style:italic} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/colorful.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#888}.err{color:red;background-color:#faa}.k{color:#080;font-weight:700}.o{color:#333}.ch,.cm{color:#888}.cp{color:#579}.c1,.cpf{color:#888}.cs{color:#c00;font-weight:700}.gd{color:#a00000}.ge{font-style:italic}.gr{color:red}.gh{color:navy;font-weight:700}.gi{color:#00a000}.go{color:#888}.gp{color:#c65d09}.gp,.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#04d}.kc,.kd,.kn{color:#080;font-weight:700}.kp{color:#038}.kp,.kr{font-weight:700}.kr{color:#080}.kt{color:#339}.kt,.m{font-weight:700}.m{color:#60e}.s{background-color:#fff0f0}.na{color:#00c}.nb{color:#007020}.nc{color:#b06}.nc,.no{font-weight:700}.no{color:#036}.nd{color:#555}.nd,.ni{font-weight:700}.ni{color:#800}.ne{color:red}.ne,.nf{font-weight:700}.nf{color:#06b}.nl{color:#970}.nl,.nn{font-weight:700}.nn{color:#0e84b5}.nt{color:#070}.nv{color:#963}.ow{color:#000;font-weight:700}.w{color:#bbb}.mb,.mf{color:#60e}.mb,.mf,.mh{font-weight:700}.mh{color:#058}.mi{color:#00d}.mi,.mo{font-weight:700}.mo{color:#40e}.sb{background-color:#fff0f0}.sc{color:#04d}.sd{color:#d42}.s2,.se{background-color:#fff0f0}.se{color:#666;font-weight:700}.sh{background-color:#fff0f0}.si{background-color:#eee}.sx{color:#d20;background-color:#fff0f0}.sr{color:#000;background-color:#fff0ff}.s1{background-color:#fff0f0}.ss{color:#a60}.bp{color:#007020}.vc{color:#369}.vg{color:#d70;font-weight:700}.vi{color:#33b}.il{color:#00d;font-weight:700} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/default.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#408080;font-style:italic}.err{border:1px solid red}.k{color:green;font-weight:700}.o{color:#666}.ch,.cm{color:#408080;font-style:italic}.cp{color:#bc7a00}.c1,.cpf,.cs{color:#408080;font-style:italic}.gd{color:#a00000}.ge{font-style:italic}.gr{color:red}.gh{color:navy;font-weight:700}.gi{color:#00a000}.go{color:#888}.gp{color:navy}.gp,.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#04d}.kc,.kd,.kn{color:green;font-weight:700}.kp,.kr{color:green}.kr{font-weight:700}.kt{color:#b00040}.m{color:#666}.s{color:#ba2121}.na{color:#7d9029}.nb{color:green}.nc{color:#00f;font-weight:700}.no{color:#800}.nd{color:#a2f}.ni{color:#999}.ne,.ni{font-weight:700}.ne{color:#d2413a}.nf{color:#00f}.nl{color:#a0a000}.nn{color:#00f}.nn,.nt{font-weight:700}.nt{color:green}.nv{color:#19177c}.ow{color:#a2f;font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#666}.sb,.sc,.sd{color:#ba2121}.sd{font-style:italic}.s2{color:#ba2121}.se{color:#b62;font-weight:700}.sh{color:#ba2121}.si{color:#b68;font-weight:700}.sx{color:green}.sr{color:#b68}.s1{color:#ba2121}.ss{color:#19177c}.bp{color:green}.vc,.vg,.vi{color:#19177c}.il{color:#666} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/emacs.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#080;font-style:italic}.err{border:1px solid red}.k{color:#a2f;font-weight:700}.o{color:#666}.ch,.cm{font-style:italic}.ch,.cm,.cp{color:#080}.c1,.cpf{color:#080;font-style:italic}.cs{color:#080;font-weight:700}.gd{color:#a00000}.ge{font-style:italic}.gr{color:red}.gh{color:navy;font-weight:700}.gi{color:#00a000}.go{color:#888}.gp{color:navy}.gp,.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#04d}.kc,.kd,.kn{color:#a2f;font-weight:700}.kp,.kr{color:#a2f}.kr,.kt{font-weight:700}.kt{color:#0b0}.m{color:#666}.na,.s{color:#b44}.nb{color:#a2f}.nc{color:#00f}.no{color:#800}.nd{color:#a2f}.ni{color:#999}.ne,.ni{font-weight:700}.ne{color:#d2413a}.nf{color:#00a000}.nl{color:#a0a000}.nn{color:#00f}.nn,.nt{font-weight:700}.nt{color:green}.nv{color:#b8860b}.ow{color:#a2f;font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#666}.sb,.sc,.sd{color:#b44}.sd{font-style:italic}.s2{color:#b44}.se{color:#b62;font-weight:700}.sh{color:#b44}.si{color:#b68;font-weight:700}.sx{color:green}.sr{color:#b68}.s1{color:#b44}.ss{color:#b8860b}.bp{color:#a2f}.vc,.vg,.vi{color:#b8860b}.il{color:#666} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/friendly.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#60a0b0;font-style:italic}.err{border:1px solid red}.k{color:#007020;font-weight:700}.o{color:#666}.ch,.cm{color:#60a0b0;font-style:italic}.cp{color:#007020}.c1,.cpf{font-style:italic}.c1,.cpf,.cs{color:#60a0b0}.cs{background-color:#fff0f0}.gd{color:#a00000}.ge{font-style:italic}.gr{color:red}.gh{color:navy;font-weight:700}.gi{color:#00a000}.go{color:#888}.gp{color:#c65d09}.gp,.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#04d}.kc,.kd,.kn{font-weight:700}.kc,.kd,.kn,.kp,.kr{color:#007020}.kr{font-weight:700}.kt{color:#902000}.m{color:#40a070}.na,.s{color:#4070a0}.nb{color:#007020}.nc{color:#0e84b5;font-weight:700}.no{color:#60add5}.nd{color:#555}.nd,.ni{font-weight:700}.ni{color:#d55537}.ne{color:#007020}.nf{color:#06287e}.nl{color:#002070}.nl,.nn{font-weight:700}.nn{color:#0e84b5}.nt{color:#062873;font-weight:700}.nv{color:#bb60d5}.ow{color:#007020;font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#40a070}.sb,.sc,.sd{color:#4070a0}.sd{font-style:italic}.s2,.se{color:#4070a0}.se{font-weight:700}.sh{color:#4070a0}.si{color:#70a0d0;font-style:italic}.sx{color:#c65d09}.sr{color:#235388}.s1{color:#4070a0}.ss{color:#517918}.bp{color:#007020}.vc,.vg,.vi{color:#bb60d5}.il{color:#40a070} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/fruity.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#333}.c{color:#080;font-style:italic;background-color:#0f140f}.err,.esc,.g{color:#fff}.k{color:#fb660a;font-weight:700}.l,.n,.o,.p,.x{color:#fff}.ch,.cm{color:#080}.ch,.cm,.cp{font-style:italic;background-color:#0f140f}.cp{color:#ff0007;font-weight:700}.c1,.cpf,.cs{color:#080;font-style:italic;background-color:#0f140f}.gd,.ge,.gh,.gr{color:#fff}.gh{font-weight:700}.gi{color:#fff}.go{color:#444;background-color:#222}.gp,.gs,.gu{color:#fff}.gu{font-weight:700}.gt{color:#fff}.kc,.kd,.kn{font-weight:700}.kc,.kd,.kn,.kp,.kr{color:#fb660a}.kr,.kt{font-weight:700}.kt{color:#cdcaa9}.ld{color:#fff}.m{color:#0086f7;font-weight:700}.s{color:#0086d2}.na{color:#ff0086;font-weight:700}.nb,.nc{color:#fff}.no{color:#0086d2}.nd,.ne,.ni{color:#fff}.nf{color:#ff0086;font-weight:700}.nl,.nn,.nx,.py{color:#fff}.nt{font-weight:700}.nt,.nv{color:#fb660a}.ow{color:#fff}.w{color:#888}.mb,.mf,.mh,.mi,.mo{color:#0086f7;font-weight:700}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#0086d2}.bp{color:#fff}.vc,.vg,.vi{color:#fb660a}.il{color:#0086f7;font-weight:700} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/github.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k,.o{color:#000;font-weight:700}.ch,.cm{color:#998}.ch,.cm,.cp{font-style:italic}.cp{color:#999;font-weight:700}.c1,.cpf{color:#998}.c1,.cpf,.cs{font-style:italic}.cs{color:#999;font-weight:700}.gd{background-color:#fdd}.gd,.ge{color:#000}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:700}.gu{color:#aaa}.gt{color:#a00}.kc,.kd,.kn,.kp,.kr{color:#000;font-weight:700}.kt{color:#458;font-weight:700}.m{color:#099}.s{color:#d14}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:700}.no{color:teal}.nd{color:#3c5d5d;font-weight:700}.ni{color:purple}.ne,.nf,.nl{color:#900;font-weight:700}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{color:#000;font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#099}.s2,.sb,.sc,.sd,.se,.sh,.si,.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc,.vg,.vi{color:teal}.il{color:#099} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/igor.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:red;font-style:italic}.k{color:#00f}.c1,.ch,.cm,.cp,.cpf,.cs{color:red;font-style:italic}.kc,.kd,.kn,.kp,.kr,.kt{color:#00f}.s{color:#009c00}.nc{color:#007575}.nd{color:#cc00a3}.nf{color:#c34e00}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#009c00} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/lovelace.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#888;font-style:italic}.err{background-color:#a848a8}.k{color:#2838b0}.o{color:#666}.p{color:#888}.ch{color:#287088}.ch,.cm{font-style:italic}.cm{color:#888}.cp{color:#289870}.c1,.cpf,.cs{color:#888;font-style:italic}.gd{color:#c02828}.ge{font-style:italic}.gr{color:#c02828}.gh{color:#666}.gi{color:#388038}.go{color:#666}.gp{color:#444}.gs{font-weight:700}.gu{color:#444}.gt{color:#2838b0}.kc{color:#444}.kc,.kd{font-style:italic}.kd,.kn,.kp,.kr,.kt{color:#2838b0}.kt{font-style:italic}.m{color:#444}.s{color:#b83838}.na,.nb{color:#388038}.nc{color:#287088}.no{color:#b85820}.nd{color:#287088}.ni{color:#709030}.ne{color:#908828}.nf{color:#785840}.nl,.nn{color:#289870}.nt{color:#2838b0}.nv{color:#b04040}.ow{color:#a848a8}.w{color:#a89028}.mb,.mf,.mh,.mi,.mo{color:#444}.sb{color:#b83838}.sc{color:#a848a8}.sd{color:#b85820;font-style:italic}.s2{color:#b83838}.se{color:#709030}.sh,.si{color:#b83838}.si{text-decoration:underline}.sr,.sx{color:#a848a8}.s1,.ss{color:#b83838}.bp{color:#388038;font-style:italic}.vc{color:#b04040}.vg{color:#908828}.vi{color:#b04040}.il{color:#444} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/manni.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#09f;font-style:italic}.err{color:#a00;background-color:#faa}.k{color:#069;font-weight:700}.o{color:#555}.ch,.cm{color:#09f;font-style:italic}.cp{color:#099}.c1,.cpf,.cs{color:#09f;font-style:italic}.cs{font-weight:700}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030;font-weight:700}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gp,.gs,.gu{font-weight:700}.gu{color:#030}.gt{color:#9c6}.kc,.kd,.kn{color:#069;font-weight:700}.kp,.kr{color:#069}.kr,.kt{font-weight:700}.kt{color:#078}.m{color:#f60}.s{color:#c30}.na{color:#309}.nb{color:#366}.nc{color:#0a8;font-weight:700}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne,.ni{font-weight:700}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nn,.nt{font-weight:700}.nt{color:#309}.nv{color:#033}.ow{color:#000;font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#f60}.sb,.sc,.sd{color:#c30}.sd{font-style:italic}.s2,.se{color:#c30}.se{font-weight:700}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc,.vg,.vi{color:#033}.il{color:#f60} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/monokai.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#49483e}.c{color:#75715e}.err{color:#960050;background-color:#1e0010}.k{color:#66d9ef}.l{color:#ae81ff}.n{color:#f8f8f2}.o{color:#f92672}.p{color:#f8f8f2}.c1,.ch,.cm,.cp,.cpf,.cs{color:#75715e}.gd{color:#f92672}.ge{font-style:italic}.gi{color:#a6e22e}.gs{font-weight:700}.gu{color:#75715e}.kc,.kd{color:#66d9ef}.kn{color:#f92672}.kp,.kr,.kt{color:#66d9ef}.ld{color:#e6db74}.m{color:#ae81ff}.s{color:#e6db74}.na{color:#a6e22e}.nb{color:#f8f8f2}.nc{color:#a6e22e}.no{color:#66d9ef}.nd{color:#a6e22e}.ni{color:#f8f8f2}.ne,.nf{color:#a6e22e}.nl,.nn{color:#f8f8f2}.nx{color:#a6e22e}.py{color:#f8f8f2}.nt{color:#f92672}.nv{color:#f8f8f2}.ow{color:#f92672}.w{color:#f8f8f2}.mb,.mf,.mh,.mi,.mo{color:#ae81ff}.s2,.sb,.sc,.sd{color:#e6db74}.se{color:#ae81ff}.s1,.sh,.si,.sr,.ss,.sx{color:#e6db74}.bp,.vc,.vg,.vi{color:#f8f8f2}.il{color:#ae81ff} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/murphy.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#666;font-style:italic}.err{color:red;background-color:#faa}.k{color:#289;font-weight:700}.o{color:#333}.ch,.cm{color:#666;font-style:italic}.cp{color:#579}.c1,.cpf{color:#666}.c1,.cpf,.cs{font-style:italic}.cs{color:#c00;font-weight:700}.gd{color:#a00000}.ge{font-style:italic}.gr{color:red}.gh{color:navy;font-weight:700}.gi{color:#00a000}.go{color:#888}.gp{color:#c65d09}.gp,.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#04d}.kc,.kd,.kn{color:#289;font-weight:700}.kp{color:#08f}.kp,.kr{font-weight:700}.kr{color:#289}.kt{color:#66f}.kt,.m{font-weight:700}.m{color:#60e}.s{background-color:#e0e0ff}.na{color:#007}.nb{color:#072}.nc{color:#e9e}.nc,.no{font-weight:700}.no{color:#5ed}.nd{color:#555;font-weight:700}.ni{color:#800}.ne{color:red}.ne,.nf{font-weight:700}.nf{color:#5ed}.nl{color:#970}.nl,.nn{font-weight:700}.nn{color:#0e84b5}.nt{color:#070}.nv{color:#036}.ow{color:#000;font-weight:700}.w{color:#bbb}.mb,.mf{color:#60e}.mb,.mf,.mh{font-weight:700}.mh{color:#058}.mi{color:#66f}.mi,.mo{font-weight:700}.mo{color:#40e}.sb{background-color:#e0e0ff}.sc{color:#88f}.sd{color:#d42}.s2,.se{background-color:#e0e0ff}.se{color:#666;font-weight:700}.sh{background-color:#e0e0ff}.si{background-color:#eee}.sx{color:#f88}.sr,.sx{background-color:#e0e0ff}.sr{color:#000}.s1{background-color:#e0e0ff}.ss{color:#fc8}.bp{color:#072}.vc{color:#ccf}.vg{color:#f84}.vi{color:#aaf}.il{color:#66f;font-weight:700} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/native.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#404040}.c{color:#999;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.esc,.g{color:#d0d0d0}.k{color:#6ab825;font-weight:700}.l,.n,.o,.p,.x{color:#d0d0d0}.ch,.cm{color:#999;font-style:italic}.cp{color:#cd2828;font-weight:700}.c1,.cpf{color:#999;font-style:italic}.cs{color:#e50808;font-weight:700;background-color:#520000}.gd{color:#d22323}.ge{color:#d0d0d0;font-style:italic}.gr{color:#d22323}.gh{color:#fff;font-weight:700}.gi{color:#589819}.go{color:#ccc}.gp{color:#aaa}.gs{color:#d0d0d0;font-weight:700}.gu{color:#fff;text-decoration:underline}.gt{color:#d22323}.kc,.kd,.kn{font-weight:700}.kc,.kd,.kn,.kp{color:#6ab825}.kr,.kt{color:#6ab825;font-weight:700}.ld{color:#d0d0d0}.m{color:#3677a9}.s{color:#ed9d13}.na{color:#bbb}.nb{color:#24909d}.nc{color:#447fcf;text-decoration:underline}.no{color:#40ffff}.nd{color:orange}.ni{color:#d0d0d0}.ne{color:#bbb}.nf{color:#447fcf}.nl{color:#d0d0d0}.nn{color:#447fcf;text-decoration:underline}.nx,.py{color:#d0d0d0}.nt{color:#6ab825;font-weight:700}.nv{color:#40ffff}.ow{color:#6ab825;font-weight:700}.w{color:#666}.mb,.mf,.mh,.mi,.mo{color:#3677a9}.s2,.sb,.sc,.sd,.se,.sh,.si{color:#ed9d13}.sx{color:orange}.s1,.sr,.ss{color:#ed9d13}.bp{color:#24909d}.vc,.vg,.vi{color:#40ffff}.il{color:#3677a9} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/paraiso-dark.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#4f424c}.c{color:#776e71}.err{color:#ef6155}.k{color:#815ba4}.l{color:#f99b15}.n{color:#e7e9db}.o{color:#5bc4bf}.p{color:#e7e9db}.c1,.ch,.cm,.cp,.cpf,.cs{color:#776e71}.gd{color:#ef6155}.ge{font-style:italic}.gh{color:#e7e9db;font-weight:700}.gi{color:#48b685}.gp{color:#776e71}.gp,.gs,.gu{font-weight:700}.gu{color:#5bc4bf}.kc,.kd{color:#815ba4}.kn{color:#5bc4bf}.kp,.kr{color:#815ba4}.kt{color:#fec418}.ld{color:#48b685}.m{color:#f99b15}.s{color:#48b685}.na{color:#06b6ef}.nb{color:#e7e9db}.nc{color:#fec418}.no{color:#ef6155}.nd{color:#5bc4bf}.ni{color:#e7e9db}.ne{color:#ef6155}.nf{color:#06b6ef}.nl{color:#e7e9db}.nn{color:#fec418}.nx{color:#06b6ef}.py{color:#e7e9db}.nt{color:#5bc4bf}.nv{color:#ef6155}.ow{color:#5bc4bf}.w{color:#e7e9db}.mb,.mf,.mh,.mi,.mo{color:#f99b15}.sb{color:#48b685}.sc{color:#e7e9db}.sd{color:#776e71}.s2{color:#48b685}.se{color:#f99b15}.sh{color:#48b685}.si{color:#f99b15}.s1,.sr,.ss,.sx{color:#48b685}.bp{color:#e7e9db}.vc,.vg,.vi{color:#ef6155}.il{color:#f99b15} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/paraiso-light.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#a39e9b}.c{color:#8d8687}.err{color:#ef6155}.k{color:#815ba4}.l{color:#f99b15}.n{color:#2f1e2e}.o{color:#5bc4bf}.p{color:#2f1e2e}.c1,.ch,.cm,.cp,.cpf,.cs{color:#8d8687}.gd{color:#ef6155}.ge{font-style:italic}.gh{color:#2f1e2e;font-weight:700}.gi{color:#48b685}.gp{color:#8d8687}.gp,.gs,.gu{font-weight:700}.gu{color:#5bc4bf}.kc,.kd{color:#815ba4}.kn{color:#5bc4bf}.kp,.kr{color:#815ba4}.kt{color:#fec418}.ld{color:#48b685}.m{color:#f99b15}.s{color:#48b685}.na{color:#06b6ef}.nb{color:#2f1e2e}.nc{color:#fec418}.no{color:#ef6155}.nd{color:#5bc4bf}.ni{color:#2f1e2e}.ne{color:#ef6155}.nf{color:#06b6ef}.nl{color:#2f1e2e}.nn{color:#fec418}.nx{color:#06b6ef}.py{color:#2f1e2e}.nt{color:#5bc4bf}.nv{color:#ef6155}.ow{color:#5bc4bf}.w{color:#2f1e2e}.mb,.mf,.mh,.mi,.mo{color:#f99b15}.sb{color:#48b685}.sc{color:#2f1e2e}.sd{color:#8d8687}.s2{color:#48b685}.se{color:#f99b15}.sh{color:#48b685}.si{color:#f99b15}.s1,.sr,.ss,.sx{color:#48b685}.bp{color:#2f1e2e}.vc,.vg,.vi{color:#ef6155}.il{color:#f99b15} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/pastie.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#888}.err{color:#a61717;background-color:#e3d2d2}.k{color:#080;font-weight:700}.ch,.cm{color:#888}.cp{color:#c00;font-weight:700}.c1,.cpf{color:#888}.cs{color:#c00;font-weight:700;background-color:#fff0f0}.gd{color:#000;background-color:#fdd}.ge{font-style:italic}.gr{color:#a00}.gh{color:#333}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:700}.gu{color:#666}.gt{color:#a00}.kc,.kd,.kn{color:#080;font-weight:700}.kp,.kr{color:#080}.kr,.kt{font-weight:700}.kt{color:#888}.m{color:#00d;font-weight:700}.s{color:#d20;background-color:#fff0f0}.na{color:#369}.nb{color:#038}.nc{color:#b06}.nc,.no{font-weight:700}.no{color:#036}.nd{color:#555}.ne{color:#b06}.ne,.nf{font-weight:700}.nf{color:#06b}.nl{color:#369;font-style:italic}.nn{color:#b06}.nn,.py{font-weight:700}.py{color:#369}.nt{color:#b06;font-weight:700}.nv{color:#369}.ow{color:#080}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#00d;font-weight:700}.s2,.sb,.sc,.sd{color:#d20}.s2,.sb,.sc,.sd,.se{background-color:#fff0f0}.se{color:#04d}.sh{color:#d20}.sh,.si{background-color:#fff0f0}.si{color:#33b}.sx{color:#2b2;background-color:#f0fff0}.sr{color:#080;background-color:#fff0ff}.s1{color:#d20}.s1,.ss{background-color:#fff0f0}.ss{color:#a60}.bp{color:#038}.vc{color:#369}.vg{color:#d70}.vi{color:#33b}.il{color:#00d;font-weight:700} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/perldoc.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#228b22}.err{color:#a61717;background-color:#e3d2d2}.k{color:#8b008b;font-weight:700}.ch,.cm{color:#228b22}.cp{color:#1e889b}.c1,.cpf{color:#228b22}.cs{color:#8b008b;font-weight:700}.gd{color:#a00}.ge{font-style:italic}.gr{color:#a00}.gh{color:navy;font-weight:700}.gi{color:#0a0}.go{color:#888}.gp{color:#555}.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#a00}.kc,.kd,.kn,.kp,.kr{color:#8b008b;font-weight:700}.kt{color:#a7a7a7;font-weight:700}.m{color:#b452cd}.s{color:#cd5555}.na,.nb{color:#658b00}.nc{color:#008b45;font-weight:700}.no{color:#00688b}.nd{color:#707a7c}.ne{font-weight:700}.ne,.nf,.nn{color:#008b45}.nn{text-decoration:underline}.nt{color:#8b008b;font-weight:700}.nv{color:#00688b}.ow{color:#8b008b}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#b452cd}.s2,.sb,.sc,.sd,.se{color:#cd5555}.sh{color:#1c7e71;font-style:italic}.si{color:#cd5555}.sx{color:#cb6c20}.sr{color:#1c7e71}.s1,.ss{color:#cd5555}.bp{color:#658b00}.vc,.vg,.vi{color:#00688b}.il{color:#b452cd} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/rrt.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#00f}.c{color:#0f0}.k{color:red}.ch,.cm{color:#0f0}.cp{color:#e5e5e5}.c1,.cpf,.cs{color:#0f0}.kc,.kd,.kn,.kp,.kr{color:red}.kt{color:violet}.s{color:#87ceeb}.no{color:#7fffd4}.nf{color:#ff0}.nv{color:#eedd82}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#87ceeb}.vc,.vg,.vi{color:#eedd82} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/tango.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#8f5902;font-style:italic}.err{color:#a40000;border:1px solid #ef2929}.g{color:#000}.k{color:#204a87;font-weight:700}.l,.n{color:#000}.o{color:#ce5c00;font-weight:700}.p,.x{color:#000}.p{font-weight:700}.c1,.ch,.cm,.cp,.cpf,.cs{color:#8f5902;font-style:italic}.gd{color:#a40000}.ge{color:#000;font-style:italic}.gr{color:#ef2929}.gh{color:navy;font-weight:700}.gi{color:#00a000}.go{color:#000;font-style:italic}.gp{color:#8f5902}.gs{color:#000}.gs,.gu{font-weight:700}.gu{color:purple}.gt{color:#a40000;font-weight:700}.kc,.kd,.kn,.kp,.kr,.kt{color:#204a87;font-weight:700}.ld{color:#000}.m{color:#0000cf;font-weight:700}.s{color:#4e9a06}.na{color:#c4a000}.nb{color:#204a87}.nc,.no{color:#000}.nd{color:#5c35cc;font-weight:700}.ni{color:#ce5c00}.ne{color:#c00;font-weight:700}.nf{color:#000}.nl{color:#f57900}.nn,.nx,.py{color:#000}.nt{color:#204a87;font-weight:700}.nv{color:#000}.ow{color:#204a87;font-weight:700}.w{color:#f8f8f8;text-decoration:underline}.mb,.mf,.mh,.mi,.mo{color:#0000cf;font-weight:700}.sb,.sc{color:#4e9a06}.sd{color:#8f5902;font-style:italic}.s1,.s2,.se,.sh,.si,.sr,.ss,.sx{color:#4e9a06}.bp{color:#3465a4}.vc,.vg,.vi{color:#000}.il{color:#0000cf;font-weight:700} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/trac.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k,.o{font-weight:700}.ch,.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:700}.c1,.cpf{color:#998}.c1,.cpf,.cs{font-style:italic}.cs{color:#999;font-weight:700}.gd{color:#000;background-color:#fdd}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:700}.gu{color:#aaa}.gt{color:#a00}.kc,.kd,.kn,.kp,.kr,.kt{font-weight:700}.kt{color:#458}.m{color:#099}.s{color:#b84}.na{color:teal}.nb{color:#999}.nc{color:#458;font-weight:700}.no{color:teal}.ni{color:purple}.ne,.nf{color:#900;font-weight:700}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:700}.w{color:#bbb}.mb,.mf,.mh,.mi,.mo{color:#099}.s2,.sb,.sc,.sd,.se,.sh,.si,.sx{color:#b84}.sr{color:olive}.s1,.ss{color:#b84}.bp{color:#999}.vc,.vg,.vi{color:teal}.il{color:#099} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/vim.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#222}.c{color:navy}.err{border:1px solid red}.err,.esc,.g{color:#ccc}.k{color:#cdcd00}.l,.n{color:#ccc}.o{color:#39c}.p,.x{color:#ccc}.c1,.ch,.cm,.cp,.cpf{color:navy}.cs{font-weight:700}.cs,.gd{color:#cd0000}.ge{color:#ccc;font-style:italic}.gr{color:red}.gh{color:navy;font-weight:700}.gi{color:#00cd00}.go{color:#888}.gp{color:navy}.gp,.gs{font-weight:700}.gs{color:#ccc}.gu{color:purple;font-weight:700}.gt{color:#04d}.kc{color:#cdcd00}.kd{color:#00cd00}.kn{color:#cd00cd}.kp,.kr{color:#cdcd00}.kt{color:#00cd00}.ld{color:#ccc}.m{color:#cd00cd}.s{color:#cd0000}.na{color:#ccc}.nb{color:#cd00cd}.nc{color:#00cdcd}.nd,.ni,.no{color:#ccc}.ne{color:#669;font-weight:700}.nf,.nl,.nn,.nt,.nx,.py{color:#ccc}.nv{color:#00cdcd}.ow{color:#cdcd00}.w{color:#ccc}.mb,.mf,.mh,.mi,.mo{color:#cd00cd}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#cd0000}.bp{color:#cd00cd}.vc,.vg,.vi{color:#00cdcd}.il{color:#cd00cd} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/vs.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:green}.err{border:1px solid red}.k{color:#00f}.ch,.cm{color:green}.cp{color:#00f}.c1,.cpf,.cs{color:green}.ge{font-style:italic}.gh,.gp,.gs,.gu{font-weight:700}.kc,.kd,.kn,.kp,.kr{color:#00f}.kt{color:#2b91af}.s{color:#a31515}.nc{color:#2b91af}.ow{color:#00f}.s1,.s2,.sb,.sc,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#a31515} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/static/pygments/xcode.min.css: -------------------------------------------------------------------------------- 1 | .highlight{background-color:#ffc}.c{color:#177500}.err{color:#000}.k{color:#a90d91}.l{color:#1c01ce}.n,.o{color:#000}.ch,.cm{color:#177500}.cp{color:#633820}.c1,.cpf,.cs{color:#177500}.kc,.kd,.kn,.kp,.kr,.kt{color:#a90d91}.ld,.m{color:#1c01ce}.s{color:#c41a16}.na{color:#836c28}.nb{color:#a90d91}.nc{color:#3f6e75}.nd,.ne,.nf,.ni,.nl,.nn,.no,.nt,.nv,.nx,.ow,.py{color:#000}.mb,.mf,.mh,.mi,.mo{color:#1c01ce}.sb{color:#c41a16}.sc{color:#2300ce}.s1,.s2,.sd,.se,.sh,.si,.sr,.ss,.sx{color:#c41a16}.bp{color:#5b269a}.vc,.vg,.vi{color:#000}.il{color:#1c01ce} -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %} – {{ _('Archives') }}{% endblock %} 3 | 4 | {% block content %} 5 |
6 |
7 |

{{ _('Archives') }}

8 |
9 |
10 |
11 | {% set previous_date = False %} 12 | {% for article in dates %} 13 | {% if article.locale_date != previous_date %} 14 | {% set previous_date = article.locale_date %} 15 |
{{ article.locale_date }}
16 | {% endif %} 17 |
{{ article.title }}
18 | {% endfor %} 19 |
20 |
21 |
22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %} – {{ _('Posts by %(name)s', name=author) }}:{% endblock %} 3 | {% set summarise = True %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %} – {{ _('Authors') }}{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

{{ _('Authors') }}

9 |
10 |
11 |
    12 | {% for author, articles in authors|sort %} 13 |
  • {{ author }} ({{ articles|count }})
  • 14 | {% endfor %} 15 |
16 |
17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/bar.html: -------------------------------------------------------------------------------- 1 | {% extends 'foo.html'%} 2 | {%block content %} 3 | barbarbarbar 4 | {% endblock %} 5 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/categories.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %} – {{ _('Categories') }}{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

{{ _('Categories') }}

9 |
10 |
11 |
    12 | {% for category, articles in categories|sort %} 13 |
  • {{ category }} ({{ articles|count }})
  • 14 | {% endfor %} 15 |
16 |
17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %} – {{ _('Category %(name)s', name=category) }}{% endblock %} 3 | {% set summarise = True %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/foo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | {%block content %} 11 | foofofofofo 12 | {% endblock %} 13 | 14 | 15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/login2.html: -------------------------------------------------------------------------------- 1 | asdasd 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %} – {{ page.title }}{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 | {% import 'partial/translations.html' as translations with context %} 9 | {{ translations.translations_for(page) }} 10 |

{{ page.title }}

11 |
12 |
13 | {% block before_content %}{% endblock %} 14 | {% block page_content %}{{ page.content }}{% endblock %} 15 | {% block after_content %}{% endblock %} 16 |
17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/cc_license.html: -------------------------------------------------------------------------------- 1 |

2 | © {{ COPYRIGHT_NAME }} {{ COPYRIGHT_YEAR }} - This work is licensed under a {{ CC_LICENSE['name'] }} {{ CC_LICENSE['version'] }} International License 3 |

4 | {% include "partial/flex.html" %} 5 |

6 | 9 | Creative Commons License 15 | 16 | {% if STATUSCAKE %} 17 | {% include "partial/statuscake.html" %} 18 | {% endif %} 19 |

20 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/copyright.html: -------------------------------------------------------------------------------- 1 |

© {{ COPYRIGHT_NAME }} {{ COPYRIGHT_YEAR }}

2 | {% include "partial/flex.html" %} 3 | {% if STATUSCAKE %} 4 | {% include "partial/statuscake.html" %} 5 | {% endif %} 6 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/disqus.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %} 2 | 3 |
4 | 12 | 15 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/duoshuo.html: -------------------------------------------------------------------------------- 1 | {% if DUOSHUO_SITENAME %} 2 | 3 |
4 | 16 | 19 | 20 | {% endif %} 21 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/flex.html: -------------------------------------------------------------------------------- 1 |

{{ _('Powered by %(pelican_url)s - %(flex_url)s theme by %(alexandrevicenzi_url)s', 2 | pelican_url='Pelican', 3 | flex_url='Flex'|safe, 4 | alexandrevicenzi_url='Alexandre Vicenzi'|safe) }}

5 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/ga.html: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/gtm.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 15 | 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/guages.html: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/jsonld.html: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/jsonld_article.html: -------------------------------------------------------------------------------- 1 | {% if SITELOGO %} 2 | {% set default_cover = SITELOGO %} 3 | {% else %} 4 | {% set default_cover = '{{ SITEURL }}/{{ THEME_STATIC_DIR }}/img/profile.png' %} 5 | {% endif %} 6 | 24 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/neighbors.html: -------------------------------------------------------------------------------- 1 | {% if 'neighbors' in PLUGINS %} 2 |
3 | {% if article.prev_article %} 4 | 5 | {{ _('Previous Post') }} 6 | 7 | {% endif %} 8 | {% if article.next_article %} 9 | 10 | {{ _('Next Post') }} 11 | 12 | {% endif %} 13 |
14 | {% endif %} 15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/og.html: -------------------------------------------------------------------------------- 1 | {% if OG_LOCALE %} 2 | {% set default_locale = OG_LOCALE %} 3 | {% else %} 4 | {% set default_locale = 'en_US' %} 5 | {% endif %} 6 | 7 | 8 | 9 | 10 | 11 | 12 | {% if SITELOGO %} 13 | 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/og_article.html: -------------------------------------------------------------------------------- 1 | {% if OG_LOCALE %} 2 | {% set default_locale = OG_LOCALE %} 3 | {% else %} 4 | {% set default_locale = 'en_US' %} 5 | {% endif %} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | {% for tag in article.tags %} 17 | 18 | {% endfor %} 19 | {% if 'cover' in article.metadata %} 20 | 21 | {% else %} 22 | 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/pagination.html: -------------------------------------------------------------------------------- 1 | {% if DEFAULT_PAGINATION %} 2 | 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/piwik.html: -------------------------------------------------------------------------------- 1 | 2 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/statuscake.html: -------------------------------------------------------------------------------- 1 | 2 | {% if STATUSCAKE['trackid'] %} 3 | 4 | {{ SITENAME }} Uptime 5 | 6 | {% endif %} 7 | 8 | {% if STATUSCAKE['rumid'] %} 9 | 10 | 11 | {% endif %} 12 | 13 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/partial/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 |
4 | {{article.lang}} 5 | {% for translation in article.translations %} 6 | {{ translation.lang }} 7 | {% endfor %} 8 |
9 | {% endif %} 10 | {% endmacro %} 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/period_archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %} – {{ _('Archives') }}{% endblock %} 3 | 4 | {% block content %} 5 |
6 |
7 |

{{ _('Archives') }}

8 |
9 |
10 |
11 | {% set previous_date = False %} 12 | {% for article in dates %} 13 | {% if article.locale_date != previous_date %} 14 | {% set previous_date = article.locale_date %} 15 |
{{ article.locale_date }}
16 | {% endif %} 17 |
{{ article.title }}
18 | {% endfor %} 19 |
20 |
21 |
22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %} – {{ _('Tag %(name)s', name=tag) }}{% endblock %} 3 | {% set summarise = True %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/Flex/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %} – {{ _('Tags') }}{% endblock %} 4 | 5 | {% block content %} 6 |
7 |
8 |

{{ _('Tags') }}

9 |
10 |
11 |
    12 | {%- for tag, articles in tags|sort %} 13 |
  • {{ tag }} ({{ articles|count }})
  • 14 | {% endfor %} 15 |
16 |
17 |
18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /quokka/project_template/themes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/README.md -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/AUTHORS.md: -------------------------------------------------------------------------------- 1 | The original author of this project was: 2 | 3 | - [Daan Debie](https://github.com/DandyDev) aka `DandyDev` 4 | 5 | And Pelican Bootstrap 3 would not have been possible without the outstanding contributions of the following fine people: 6 | 7 | - [Magnun Leno](https://github.com/magnunleno) aka `magnunleno` 8 | - [Hilmar Lapp](https://github.com/hlapp) aka `hlapp` 9 | - [mwcz](https://github.com/mwcz) 10 | - [Sebastian Kempken](https://github.com/skempken) aka `skempken` 11 | - [Sagar Behere](https://github.com/sagarbehere) aka `sagarbehere` 12 | - [Romulo Jales](https://github.com/romulojales) aka `romulojales` 13 | - [Mike Abrahamsen](https://github.com/mikeabrahamsen) aka `mikeabrahamsen` 14 | - [Leonardo Giordani](https://github.com/lgiordani) aka `lgiordani` 15 | 16 | It has been donated to the Pelican community in April 2016 -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Daan Debie 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/css/typogrify.css: -------------------------------------------------------------------------------- 1 | .caps {font-size:.92em;} 2 | .amp {color:#666; font-size:1.05em;font-family:"Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua",serif; font-style:italic;} 3 | .dquo {margin-left:-.38em;} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/js/bodypadding.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | $('body').css('padding-top', $('.navbar').height()+'px'); 3 | }); -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/static/tipuesearch/img/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/bootstrap3/static/tipuesearch/img/search.png -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ _('Archives') }} - {{ SITENAME }}{% endblock %} 3 | {% block breadcrumbs %} 4 | {% if DISPLAY_BREADCRUMBS %} 5 | 9 | {% endif %} 10 | {% endblock %} 11 | 12 | {% block content %} 13 |
14 |

{{ _('Archives for') }} {{ SITENAME }}

15 |
16 | {% for article in dates %} 17 |

18 | 19 | {{ article.title }}{% if article.subtitle %} - {{ article.subtitle }}{% endif %} 20 |

21 | {% endfor %} 22 |
23 |
24 | {% endblock %} 25 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/article_list.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | {% if articles %} 4 | {% for article in (articles_page.object_list if articles_page else articles) %} 5 |
6 |

{{ article.title }}

7 | {% if DISPLAY_ARTICLE_INFO_ON_INDEX %} 8 |
9 | {% include "includes/article_info.html" %} 10 |
11 | {% endif %} 12 |
{{ article.summary }} 13 | {% include 'includes/comment_count.html' %} 14 | {{ _('more') }} ... 15 |
16 |
17 |
18 | {% endfor %} 19 | {% endif %} 20 | 21 | {% include 'includes/pagination.html' %} 22 | {% endblock content %} 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "article_list.html" %} 2 | 3 | {% block title %}{{ _('Articles by') }} {{ author }} - {{ SITENAME }}{% endblock %} 4 | 5 | {% block breadcrumbs %} 6 | {% if DISPLAY_BREADCRUMBS %} 7 | 12 | {% endif %} 13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ _('Authors') }} - {{ SITENAME }}{% endblock %} 4 | 5 | {% block breadcrumbs %} 6 | {% if DISPLAY_BREADCRUMBS %} 7 | 11 | {% endif %} 12 | {% endblock %} 13 | 14 | {% block content %} 15 |

{{ _('Authors on') }} {{ SITENAME }}

16 | {% for author, articles in authors|sort %} 17 |
  • {{ author }} ({{ articles|count }})
  • 18 | {% endfor %} 19 | {% endblock %} 20 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "article_list.html" %} 2 | {% block title %}{{ category }} - {{ SITENAME }}{% endblock %} 3 | {% block meta %} 4 | 5 | 6 | {% endblock %} 7 | {% block breadcrumbs %} 8 | {% if DISPLAY_BREADCRUMBS %} 9 | 14 | {% endif %} 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/aboutme.html: -------------------------------------------------------------------------------- 1 |
    2 | {% if AVATAR %} 3 |

    4 | 5 |

    6 | {% endif %} 7 | {% if ABOUT_ME %} 8 |

    9 | {{ _('About') }} {{ AUTHOR }}
    10 | {{ ABOUT_ME }} 11 |

    12 | {% endif %} 13 |
    14 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/addthis.html: -------------------------------------------------------------------------------- 1 | {% if ADDTHIS_PROFILE %} 2 |
    3 | 4 |
    5 | {% if ADDTHIS_FACEBOOK_LIKE|default(true) %} 6 | 7 | {% endif %} 8 | {% if ADDTHIS_TWEET|default(true) %} 9 | 10 | {% endif %} 11 | {% if ADDTHIS_GOOGLE_PLUSONE|default(true) %} 12 | 13 | {% endif %} 14 |
    15 | 16 | {% endif %} -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/banner.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/comment_count.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME and DISQUS_DISPLAY_COUNTS %}

    {{ _('View comments') }}.

    {% endif %} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/disqus_script.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %} 2 | 3 | 16 | 17 | {% endif %} -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/liquid_tags_nb_footer.html: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/minify_tipuesearch.html: -------------------------------------------------------------------------------- 1 | {% assets filters="rjsmin", output="tipuesearch/tipuesearch.packed.min.js", "tipuesearch/tipuesearch_set.js", "tipuesearch/tipuesearch.js" %} 2 | 3 | {% endassets %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/piwik.html: -------------------------------------------------------------------------------- 1 | {% if PIWIK_SITE_ID and PIWIK_URL %} 2 | {% if PIWIK_SSL_URL is not defined %} 3 | {% set PIWIK_SSL_URL = PIWIK_URL %} 4 | {% endif %} 5 | 6 | 19 | 20 | {% endif %} -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/related-posts.html: -------------------------------------------------------------------------------- 1 | {% if article.related_posts %} 2 | 10 | {% endif %} 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/series.html: -------------------------------------------------------------------------------- 1 | {% if article.series %} 2 | 22 | {% endif %} 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/shariff.html: -------------------------------------------------------------------------------- 1 | {% if SHARIFF|default(false) %} 2 |
    3 | 4 |
    24 | 25 | {% endif %} -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
      4 | {% include 'includes/sidebar/optional_top.html' ignore missing %} 5 | {% include 'includes/sidebar/social.html' %} 6 | {% include 'includes/sidebar/recent_posts.html' %} 7 | {% include 'includes/sidebar/categories.html' %} 8 | {% include 'includes/sidebar/tag_cloud.html' %} 9 | {% include 'includes/sidebar/series.html' %} 10 | {% include 'includes/sidebar/github.html' %} 11 | {% include 'includes/sidebar/twitter_timeline.html' %} 12 | {% include 'includes/sidebar/links.html' %} 13 | {% include 'includes/sidebar/authors.html' %} 14 | {% include 'includes/sidebar/images.html' %} 15 | {% include 'includes/sidebar/archive.html' %} 16 | {% include 'includes/sidebar/optional_bottom.html' ignore missing %} 17 |
    18 |
    19 | 20 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/archive.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_ARCHIVE_ON_SIDEBAR and MONTH_ARCHIVE_SAVE_AS %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Archive'), DISABLE_SIDEBAR_TITLE_ICONS) }}

    7 | 21 |
  • 22 | 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/article-li.html: -------------------------------------------------------------------------------- 1 | {{ article.title }} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/authors.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_AUTHORS_ON_SIDEBAR %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Authors'), DISABLE_SIDEBAR_TITLE_ICONS) }}

    7 | 20 |
  • 21 | 22 | {% endif %} 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/categories.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_CATEGORIES_ON_SIDEBAR %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Categories'), DISABLE_SIDEBAR_TITLE_ICONS) }}

    7 | 19 |
  • 20 | 21 | {% endif %} 22 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/github-js.html: -------------------------------------------------------------------------------- 1 | {% if GITHUB_USER %} 2 | {% if GITHUB_REPO_COUNT is not defined %} 3 | {% set GITHUB_REPO_COUNT = 5 %} 4 | {% endif %} 5 | {% if GITHUB_SKIP_FORK is not defined %} 6 | {% set GITHUB_SKIP_FORK = "false" %} 7 | {% else %} 8 | {% if GITHUB_SKIP_FORK %} 9 | {% set GITHUB_SKIP_FORK = "true" %} 10 | {% else %} 11 | {% set GITHUB_SKIP_FORK = "false" %} 12 | {% endif %} 13 | {% endif %} 14 | 15 | 16 | 34 | 35 | 36 | {% endif %} 37 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/github.html: -------------------------------------------------------------------------------- 1 | {% if GITHUB_USER %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title('GitHub Repos', DISABLE_SIDEBAR_TITLE_ICONS, icon='github') }}

    7 |
    8 |

    Status updating...

    9 |
    10 | {% if GITHUB_SHOW_USER_LINK is defined %} 11 | @{{ GITHUB_USER }} on GitHub 12 | {% endif %} 13 |
  • 14 | 15 | {% endif %} 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/images.html: -------------------------------------------------------------------------------- 1 | {% if SIDEBAR_IMAGES %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 | {% if SIDEBAR_IMAGES_HEADER %} 7 |

    {{ title(SIDEBAR_IMAGES_HEADER, DISABLE_SIDEBAR_TITLE_ICONS, icon='external-link-square') }}

    8 | {% endif %} 9 | 14 |
  • 15 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/links.html: -------------------------------------------------------------------------------- 1 | {% if LINKS %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Links'), DISABLE_SIDEBAR_TITLE_ICONS, icon='external-link-square') }}

    7 | 14 |
  • 15 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/macros.jinja: -------------------------------------------------------------------------------- 1 | {% macro title(name, no_icon, icon='home') -%} 2 | {%- if no_icon -%} 3 | {{ name }} 4 | {%- else -%} 5 | {{ name }} 6 | {%- endif -%} 7 | {%- endmacro %} 8 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/recent_posts.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_RECENT_POSTS_ON_SIDEBAR %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | {% if RECENT_POST_COUNT is not defined %} 4 | {% set RECENT_POST_COUNT = 5 %} 5 | {% endif %} 6 | 7 | 8 |
  • 9 |

    {{ title(_('Recent Posts'), DISABLE_SIDEBAR_TITLE_ICONS) }}

    10 |
      11 | {% for article in articles[:RECENT_POST_COUNT] %} 12 |
    • 13 | {%- include 'includes/sidebar/article-li.html' -%} 14 |
    • 15 | {% endfor %} 16 |
    17 |
  • 18 | 19 | {% endif %} 20 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/series.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_SERIES_ON_SIDEBAR and article and article.series %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Series'), DISABLE_SIDEBAR_TITLE_ICONS, icon='tags') }}

    7 | 21 |
  • 22 | 23 | 24 | {% endif %} 25 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/social.html: -------------------------------------------------------------------------------- 1 | {% if SOCIAL %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Social'), DISABLE_SIDEBAR_TITLE_ICONS) }}

    7 |
      8 | {% for s in SOCIAL %} 9 | {% if s[2] %} 10 | {% set name_sanitized = s[2]|lower|replace('+','-plus')|replace(' ','-') %} 11 | {% else %} 12 | {% set name_sanitized = s[0]|lower|replace('+','-plus')|replace(' ','-') %} 13 | {% endif %} 14 | {% if name_sanitized in ['flickr', 'slideshare', 'instagram', 'spotify', 'stack-overflow', 'weibo', 'line-chart', 'home', 'user', 'users', 'envelope', 'envelope-o', 'stack-exchange', 'hacker-news', 'gitlab'] %} 15 | {% set iconattributes = '"fa fa-' ~ name_sanitized ~ ' fa-lg"' %} 16 | {% else %} 17 | {% set iconattributes = '"fa fa-' ~ name_sanitized ~ '-square fa-lg"' %} 18 | {% endif %} 19 |
    • {{ s[0] }}
    • 20 | {% endfor %} 21 |
    22 |
  • 23 | 24 | {% endif %} 25 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/tag_cloud.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_TAGS_ON_SIDEBAR is not defined %} 2 | {% set DISPLAY_TAGS_ON_SIDEBAR = True %} 3 | {% endif -%} 4 | 5 | {% if 'tag_cloud' in PLUGINS and DISPLAY_TAGS_ON_SIDEBAR %} 6 | {% from 'includes/sidebar/macros.jinja' import title %} 7 | {% if DISPLAY_TAGS_INLINE %} 8 | {% set tags = tag_cloud | sort(attribute='0') %} 9 | {% else %} 10 | {% set tags = tag_cloud | sort(attribute='1') %} 11 | {% endif %} 12 | 13 | 14 |
  • 15 |

    {{ title(_('Tags'), DISABLE_SIDEBAR_TITLE_ICONS, icon='tags') }}

    16 | 25 |
  • 26 | 27 | {% endif %} 28 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/sidebar/twitter_timeline.html: -------------------------------------------------------------------------------- 1 | {% if TWITTER_WIDGET_ID %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title('Latest Tweets', DISABLE_SIDEBAR_TITLE_ICONS, icon='twitter') }}

    7 | 10 |
  • 11 | 12 | {% endif %} 13 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/taglist.html: -------------------------------------------------------------------------------- 1 | {% if article.tags %} 2 | {{ _('Tags') }} 3 | {% for tag in article.tags %} 4 | {{ tag }} 5 | {% if not loop.last %} 6 | / 7 | {% endif %} 8 | {% endfor %} 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 | {{ _('Lang') }} 4 | {% for translation in article.translations %} 5 | {{ translation.lang }} 6 | {% endfor %} 7 | {% endif %} 8 | {% endmacro %} 9 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/includes/twitter_cards.html: -------------------------------------------------------------------------------- 1 | {% if TWITTER_CARDS and USE_OPEN_GRAPH %} 2 | {# Do not include duplicates tag with og ones. #} 3 | {# Twitter is able to infer them from og. #} 4 | 5 | 6 | {% if TWITTER_USERNAME %} 7 | 8 | 9 | {% endif %} 10 | 11 | {% if article %} 12 | {% if article.og_image %} 13 | 15 | {% elif OPEN_GRAPH_IMAGE %} 16 | 18 | {% endif %} 19 | {% elif page %} 20 | {% if page.og_image %} 21 | 23 | {% elif OPEN_GRAPH_IMAGE %} 24 | 26 | {% endif %} 27 | {% endif %} 28 | {% endif %} 29 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "article_list.html" %} 2 | 3 | {% block canonical_rel %}{% endblock %} 4 | 5 | {% block banner %} 6 | {% include 'includes/banner.html' %} 7 | {% endblock %} -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/search.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | 3 | {% block title %} 4 | {{ _('Search') }} - {{ super() }} 5 | {% endblock %} 6 | 7 | {% block scripts %} 8 | {% if 'assets' in PLUGINS %} 9 | {% include 'includes/minify_tipuesearch.html' with context %} 10 | {% else %} 11 | 12 | 13 | {% endif %} 14 | 24 | {% endblock %} 25 | 26 | {% block content %} 27 |
    28 | {% endblock %} 29 | -------------------------------------------------------------------------------- /quokka/project_template/themes/bootstrap3/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% extends "article_list.html" %} 2 | {% block title %}{{ tag }} - {{ SITENAME }}{% endblock %} 3 | {% block meta %} 4 | 5 | 6 | {% endblock %} 7 | {% block breadcrumbs %} 8 | {% if DISPLAY_BREADCRUMBS %} 9 | 14 | {% endif %} 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/.gitignore: -------------------------------------------------------------------------------- 1 | example 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "templates/cc-tools"] 2 | path = templates/cc-tools 3 | url = https://github.com/hlapp/cc-tools 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/css/code_blocks/darkly.css: -------------------------------------------------------------------------------- 1 | pre{white-space:pre;overflow:auto;word-wrap:normal;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:20px;background:#343642;color:#C1C2C3}.hll{background-color:#ffc}.gd{color:#2e3436;background-color:#0e1416}.gr{color:#eeeeec;background-color:#c00}.gi{color:#babdb6;background-color:#1f2b2d}.go{color:#2c3032;background-color:#2c3032}.kt{color:#e3e7df}.ni{color:#888a85}.c,.cm,.c1,.cs{color:#8D9684}.err,.g,.l,.n,.x,.p,.ge,.gp,.gs,.gt,.ld,.s,.nc,.nd,.ne,.nl,.nn,.nx,.py,.ow,.w,.sb,.sc,.sd,.s2,.se,.sh,.si,.sx,.sr,.s1,.ss,.bp{color:#C1C2C3}.k,.kc,.kd,.kn,.kp,.kr,.nt{color:#729fcf}.cp,.gh,.gu,.na,.nf{color:#E9A94B}.m,.nb,.no,.mf,.mh,.mi,.mo,.il{color:#8ae234}.o{color:#989DAA}.nv,.vc,.vg,.vi{color:#fff} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/css/code_blocks/github.css: -------------------------------------------------------------------------------- 1 | .hll{background-color:#ffc}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000;font-weight:700}.o{color:#000;font-weight:700}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:700;font-style:italic}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:700;font-style:italic}.gd{color:#000;background-color:#fdd}.ge{color:#000;font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:700}.gu{color:#aaa}.gt{color:#a00}.kc{color:#000;font-weight:700}.kd{color:#000;font-weight:700}.kn{color:#000;font-weight:700}.kp{color:#000;font-weight:700}.kr{color:#000;font-weight:700}.kt{color:#458;font-weight:700}.m{color:#099}.s{color:#d01040}.na{color:#008080}.nb{color:#0086B3}.nc{color:#458;font-weight:700}.no{color:#008080}.nd{color:#3c5d5d;font-weight:700}.ni{color:purple}.ne{color:#900;font-weight:700}.nf{color:#900;font-weight:700}.nl{color:#900;font-weight:700}.nn{color:#555}.nt{color:navy}.nv{color:#008080}.ow{color:#000;font-weight:700}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999}.vc{color:#008080}.vg{color:#008080}.vi{color:#008080}.il{color:#099} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/css/code_blocks/monokai.css: -------------------------------------------------------------------------------- 1 | pre{white-space:pre;overflow:auto;word-wrap:normal;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;padding:20px;background:#343642;color:#C1C2C3}.hll{background-color:#49483e}.c{color:#75715e}.err{color:#960050;background-color:#1e0010}.k{color:#66d9ef}.l{color:#ae81ff}.n{color:#f8f8f2}.o{color:#f92672}.p{color:#f8f8f2}.cm{color:#75715e}.cp{color:#75715e}.c1{color:#75715e}.cs{color:#75715e}.ge{font-style:italic}.gs{font-weight:700}.kc{color:#66d9ef}.kd{color:#66d9ef}.kn{color:#f92672}.kp{color:#66d9ef}.kr{color:#66d9ef}.kt{color:#66d9ef}.ld{color:#e6db74}.m{color:#ae81ff}.s{color:#e6db74}.na{color:#a6e22e}.nb{color:#f8f8f2}.nc{color:#a6e22e}.no{color:#66d9ef}.nd{color:#a6e22e}.ni{color:#f8f8f2}.ne{color:#a6e22e}.nf{color:#a6e22e}.nl{color:#f8f8f2}.nn{color:#f8f8f2}.nx{color:#a6e22e}.py{color:#f8f8f2}.nt{color:#f92672}.nv{color:#f8f8f2}.ow{color:#f92672}.w{color:#f8f8f2}.mf{color:#ae81ff}.mh{color:#ae81ff}.mi{color:#ae81ff}.mo{color:#ae81ff}.sb{color:#e6db74}.sc{color:#e6db74}.sd{color:#e6db74}.s2{color:#e6db74}.se{color:#ae81ff}.sh{color:#e6db74}.si{color:#e6db74}.sx{color:#e6db74}.sr{color:#e6db74}.s1{color:#e6db74}.ss{color:#e6db74}.bp{color:#f8f8f2}.vc{color:#f8f8f2}.vg{color:#f8f8f2}.vi{color:#f8f8f2}.il{color:#ae81ff}.gu{color:#75715e}.gd{color:#f92672}.gi{color:#a6e22e} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/css/code_blocks/tomorrow.css: -------------------------------------------------------------------------------- 1 | pre{background:#fff;color:#4d4d4c}.hll{background-color:#d6d6d6}.c{color:#8e908c}.err{color:#c82829}.k{color:#8959a8}.l{color:#f5871f}.n{color:#4d4d4c}.o{color:#3e999f}.p{color:#4d4d4c}.cm{color:#8e908c}.cp{color:#8e908c}.c1{color:#8e908c}.cs{color:#8e908c}.gd{color:#c82829}.ge{font-style:italic}.gh{color:#4d4d4c;font-weight:700}.gi{color:#718c00}.gp{color:#8e908c;font-weight:700}.gs{font-weight:700}.gu{color:#3e999f;font-weight:700}.kc{color:#8959a8}.kd{color:#8959a8}.kn{color:#3e999f}.kp{color:#8959a8}.kr{color:#8959a8}.kt{color:#eab700}.ld{color:#718c00}.m{color:#f5871f}.s{color:#718c00}.na{color:#4271ae}.nb{color:#4d4d4c}.nc{color:#eab700}.no{color:#c82829}.nd{color:#3e999f}.ni{color:#4d4d4c}.ne{color:#c82829}.nf{color:#4271ae}.nl{color:#4d4d4c}.nn{color:#eab700}.nx{color:#4271ae}.py{color:#4d4d4c}.nt{color:#3e999f}.nv{color:#c82829}.ow{color:#3e999f}.w{color:#4d4d4c}.mf{color:#f5871f}.mh{color:#f5871f}.mi{color:#f5871f}.mo{color:#f5871f}.sb{color:#718c00}.sc{color:#4d4d4c}.sd{color:#8e908c}.s2{color:#718c00}.se{color:#f5871f}.sh{color:#718c00}.si{color:#f5871f}.sx{color:#718c00}.sr{color:#718c00}.s1{color:#718c00}.ss{color:#718c00}.bp{color:#4d4d4c}.vc{color:#c82829}.vg{color:#c82829}.vi{color:#c82829}.il{color:#f5871f} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/css/code_blocks/tomorrow_night.css: -------------------------------------------------------------------------------- 1 | pre{background:#1d1f21;color:#c5c8c6}.hll{background-color:#373b41}.c{color:#969896}.err{color:#c66}.k{color:#b294bb}.l{color:#de935f}.n{color:#c5c8c6}.o{color:#8abeb7}.p{color:#c5c8c6}.cm{color:#969896}.cp{color:#969896}.c1{color:#969896}.cs{color:#969896}.gd{color:#c66}.ge{font-style:italic}.gh{color:#c5c8c6;font-weight:700}.gi{color:#b5bd68}.gp{color:#969896;font-weight:700}.gs{font-weight:700}.gu{color:#8abeb7;font-weight:700}.kc{color:#b294bb}.kd{color:#b294bb}.kn{color:#8abeb7}.kp{color:#b294bb}.kr{color:#b294bb}.kt{color:#f0c674}.ld{color:#b5bd68}.m{color:#de935f}.s{color:#b5bd68}.na{color:#81a2be}.nb{color:#c5c8c6}.nc{color:#f0c674}.no{color:#c66}.nd{color:#8abeb7}.ni{color:#c5c8c6}.ne{color:#c66}.nf{color:#81a2be}.nl{color:#c5c8c6}.nn{color:#f0c674}.nx{color:#81a2be}.py{color:#c5c8c6}.nt{color:#8abeb7}.nv{color:#c66}.ow{color:#8abeb7}.w{color:#c5c8c6}.mf{color:#de935f}.mh{color:#de935f}.mi{color:#de935f}.mo{color:#de935f}.sb{color:#b5bd68}.sc{color:#c5c8c6}.sd{color:#969896}.s2{color:#b5bd68}.se{color:#de935f}.sh{color:#b5bd68}.si{color:#de935f}.sx{color:#b5bd68}.sr{color:#b5bd68}.s1{color:#b5bd68}.ss{color:#b5bd68}.bp{color:#c5c8c6}.vc{color:#c66}.vg{color:#c66}.vi{color:#c66}.il{color:#de935f} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/images/about-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/images/about-bg.jpg -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/images/contact-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/images/contact-bg.jpg -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/images/home-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/images/home-bg.jpg -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/images/post-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/images/post-bg.jpg -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/static/images/post-sample-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/clean/static/images/post-sample-image.jpg -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Archives{% endblock %} 4 | 5 | {% block header %} 6 | 7 | {% if HEADER_COVER %} 8 |
    9 | {% elif HEADER_COLOR %} 10 |
    11 | {% else %} 12 |
    13 | {% endif %} 14 |
    15 |
    16 |
    17 |
    18 |

    Archives for {{ SITENAME }}

    19 |
    20 |
    21 |
    22 |
    23 |
    24 | {% endblock header %} 25 | 26 | {% block content %} 27 |
    28 | {% for article in dates %} 29 |
    {{ article.locale_date }}
    30 |
    {{ article.title }}
    31 | {% endfor %} 32 |
    33 |
    34 | {% endblock content %} 35 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %} 4 | 5 | {% block opengraph %} 6 | {{ super() }} 7 | 8 | 9 | 10 | 11 | 12 | {% endblock opengraph %} 13 | 14 | {% block header %} 15 | 16 | {% if HEADER_COVER %} 17 |
    18 | {% elif HEADER_COLOR %} 19 |
    20 | {% else %} 21 |
    22 | {% endif %} 23 |
    24 |
    25 |
    26 |
    27 |

    Articles by {{ author }}

    28 |
    29 |
    30 |
    31 |
    32 |
    33 | {% endblock header %} 34 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Authors{% endblock title %} 4 | 5 | {% block header %} 6 | 7 | {% if HEADER_COVER %} 8 |
    9 | {% elif HEADER_COLOR %} 10 |
    11 | {% else %} 12 |
    13 | {% endif %} 14 |
    15 |
    16 |
    17 |
    18 |

    Articles by {{ author }}

    19 |
    20 |
    21 |
    22 |
    23 |
    24 | {% endblock header %} 25 | 26 | {% block content %} 27 | {% for author, articles in authors|sort %} 28 |
    29 | 30 |

    31 | {{ author }} ({{ articles|count }}) 32 |

    33 |
    34 |
    35 |
    36 | {% endfor %} 37 | {% endblock content %} 38 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/categories.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Categories{% endblock %} 4 | 5 | {% block header %} 6 | 7 | {% if HEADER_COVER %} 8 |
    9 | {% elif HEADER_COLOR %} 10 |
    11 | {% else %} 12 |
    13 | {% endif %} 14 |
    15 |
    16 |
    17 |
    18 |

    {{ SITENAME }} - Categories

    19 |
    20 |
    21 |
    22 |
    23 |
    24 | {% endblock header %} 25 | 26 | {% block content %} 27 |
      28 | {% for category, articles in categories %} 29 |
    • {{ category }}
    • 30 | {% endfor %} 31 |
    32 | {% endblock content %} 33 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Articles in the {{ category }} category{% endblock %} 4 | 5 | {% block header %} 6 | 7 | {% if HEADER_COVER %} 8 |
    9 | {% elif HEADER_COLOR %} 10 |
    11 | {% else %} 12 |
    13 | {% endif %} 14 |
    15 |
    16 |
    17 |
    18 |

    Articles in the {{ category }} category

    19 |
    20 |
    21 |
    22 |
    23 |
    24 | {% endblock header %} 25 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/comments.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %}

    There are comments.

    {% endif %} 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/disqus_script.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %} 2 | 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/footer.html: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | 3 | {% block title %}{{ page.title }}{% endblock title %} 4 | 5 | {% block header %} 6 | 7 | {% if page.header_cover %} 8 |
    9 | {% elif HEADER_COVER %} 10 |
    11 | {% elif HEADER_COLOR %} 12 |
    13 | {% else %} 14 |
    15 | {% endif %} 16 |
    17 |
    18 |
    19 |
    20 |

    {{ page.title }}

    21 |
    22 |
    23 |
    24 |
    25 |
    26 | {% endblock header %} 27 | 28 | {% block content %} 29 |
    30 | {{ page.content }} 31 |
    32 | {% endblock content %} 33 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/pagination.html: -------------------------------------------------------------------------------- 1 | {% if DEFAULT_PAGINATION and articles_paginator.num_pages > 1 %} 2 |
    3 | 4 |
      5 | 13 |
    14 | Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} 15 |
    16 | {% endif %} 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/period_archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Archives for {{ period | reverse | join (' ') }}{% endblock %} 4 | 5 | {% block header %} 6 | 7 | {% if HEADER_COVER %} 8 |
    9 | {% elif HEADER_COLOR %} 10 |
    11 | {% else %} 12 |
    13 | {% endif %} 14 |
    15 |
    16 |
    17 |
    18 |

    Archives for {{ period | reverse | join (' ') }}

    19 |
    20 |
    21 |
    22 |
    23 |
    24 | {% endblock header %} 25 | 26 | {% block content %} 27 |
    28 | {% for article in dates %} 29 |
    {{ article.locale_date }}
    30 |
    {{ article.title }}
    31 | {% endfor %} 32 |
    33 |
    34 | {% endblock content %} 35 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/sharing.html: -------------------------------------------------------------------------------- 1 | {% if article.status != "draft" %} 2 | {% if ADDTHIS_PUBID %} 3 |
    4 | 22 | {% endif %} 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block title %}{{ SITENAME }} - Tag {{ tag }}{% endblock %} 3 | {% block header %} 4 | {% if HEADER_COVER %} 5 |
    6 | {% elif HEADER_COLOR %} 7 |
    8 | {% else %} 9 |
    10 | {% endif %} 11 |
    12 |
    13 |
    14 |
    15 |

    Tag {{ tag }}

    16 |
    17 |
    18 |
    19 |
    20 |
    21 | {% endblock header %} 22 | 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/clean/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Tags{% endblock %} 4 | 5 | {% block header %} 6 | 7 | {% if HEADER_COVER %} 8 |
    9 | {% elif HEADER_COLOR %} 10 |
    11 | {% else %} 12 |
    13 | {% endif %} 14 |
    15 |
    16 |
    17 |
    18 |

    {{ SITENAME }} - Tags

    19 |
    20 |
    21 |
    22 |
    23 |
    24 | {% endblock header %} 25 | 26 | {% block content %} 27 |

    Tags for {{ SITENAME }}

    28 | {%- for tag, articles in tags|sort %} 29 |
  • {{ tag }} ({{ articles|count }})
  • 30 | {% endfor %} 31 | {% endblock content %} 32 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 José Guilherme Vanz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/README.md: -------------------------------------------------------------------------------- 1 | # pelican-hyde 2 | 3 | The pelican-hyde is a [Pelican](https://github.com/getpelican) theme inspired on the beautiful [Hyde](http://hyde.getpoole.com/) Jekyll theme 4 | 5 | You can see a live demo [here](http://jvanz.github.io/) 6 | 7 | 8 | ![Screenshot](screenshot.png) 9 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/static/css/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/hyde/static/css/style.css -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/templates/article.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block metadata %} 4 | 5 | 6 | 7 | 8 | 9 | {% endblock %} 10 | 11 | {% block content %} 12 |
    13 |

    {{ article.title }}

    14 | 15 | {{ article.content }} 16 | {% include 'fragments/disqus.html' %} 17 |
    18 | {% endblock %} 19 | 20 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/templates/fragments/disqus.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %} 2 |
    3 | 11 | 12 | {% endif %} 13 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/templates/fragments/google_analytics.html: -------------------------------------------------------------------------------- 1 | {% if GOOGLE_ANALYTICS %} 2 | 10 | {% endif %} 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block content %} 4 |
    5 | {% for article in articles_page.object_list %} 6 |
    7 |

    8 | {{ article.title }} 9 |

    10 | 11 |

    12 | {{ article.summary }} 13 |

    14 | Continue reading » 15 |
    16 | {% endfor %} 17 |
    18 | 33 | {% endblock %} 34 | -------------------------------------------------------------------------------- /quokka/project_template/themes/hyde/templates/sidebar.html: -------------------------------------------------------------------------------- 1 | 33 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | 5 | # C extensions 6 | *.so 7 | 8 | # Distribution / packaging 9 | .Python 10 | env/ 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | *.egg-info/ 23 | .installed.cfg 24 | *.egg 25 | 26 | # PyInstaller 27 | # Usually these files are written by a python script from a template 28 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 29 | *.manifest 30 | *.spec 31 | 32 | # Installer logs 33 | pip-log.txt 34 | pip-delete-this-directory.txt 35 | 36 | # Unit test / coverage reports 37 | htmlcov/ 38 | .tox/ 39 | .coverage 40 | .coverage.* 41 | .cache 42 | nosetests.xml 43 | coverage.xml 44 | *,cover 45 | 46 | # Translations 47 | *.mo 48 | *.pot 49 | 50 | # Django stuff: 51 | *.log 52 | 53 | # Sphinx documentation 54 | docs/_build/ 55 | 56 | # PyBuilder 57 | target/ 58 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/article.css: -------------------------------------------------------------------------------- 1 | .hero-article { 2 | background-attachment: scroll; 3 | height: 450px; 4 | } 5 | 6 | .article { 7 | border-radius: 4px; 8 | } 9 | 10 | .article-contents { 11 | padding-bottom: 50px; 12 | padding-left: 56px; 13 | padding-right: 56px; 14 | } 15 | 16 | .article-metadata span { 17 | margin-right: 25px; 18 | white-space: nowrap; 19 | } 20 | 21 | main { 22 | position: absolute; 23 | top: 0; 24 | left: 0; 25 | width: 100%; 26 | } 27 | 28 | .article-meta { 29 | padding-top: 100px !important; 30 | padding-bottom: 50px !important; 31 | } 32 | 33 | .article-tags { 34 | border-top: 1px solid rgba(160, 160, 160, 0.4); 35 | margin-left: 56px; 36 | margin-right: 56px; 37 | padding-bottom: 35px; 38 | padding-top: 15px; 39 | text-align: justify; 40 | } 41 | 42 | .article-tags span { 43 | margin-top: 0px; 44 | } 45 | 46 | .breadcrumb { 47 | background-color: #eeeeee; 48 | margin-left: 56px; 49 | margin-right: 56px; 50 | margin-top: 50px; 51 | margin-bottom: 20px; 52 | } 53 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/authors.css: -------------------------------------------------------------------------------- 1 | .collapsible-header { 2 | font-weight: bold; 3 | } 4 | 5 | .collapsible-body .contents { 6 | padding: 15px; 7 | } 8 | 9 | .collapsible-body .contents span { 10 | display: block; 11 | padding-bottom: 5px; 12 | } 13 | 14 | .collapsible-body .contents time { 15 | font-size: 0.9em; 16 | margin-right: 10px; 17 | } 18 | 19 | .breadcrumb { 20 | background-color: #fff; 21 | margin-left: 24px; 22 | margin-right: 24px; 23 | margin-bottom: 20px; 24 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); 25 | } 26 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/categories.css: -------------------------------------------------------------------------------- 1 | .collapsible-header { 2 | font-weight: bold; 3 | } 4 | 5 | .collapsible-body .contents { 6 | padding: 15px; 7 | } 8 | 9 | .collapsible-body .contents span { 10 | display: block; 11 | padding-bottom: 5px; 12 | } 13 | 14 | .collapsible-body .contents time { 15 | font-size: 0.9em; 16 | margin-right: 10px; 17 | } 18 | 19 | .breadcrumb { 20 | background-color: #fff; 21 | margin-left: 24px; 22 | margin-right: 24px; 23 | margin-bottom: 20px; 24 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); 25 | } 26 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/comunidade.css: -------------------------------------------------------------------------------- 1 | .icon-block .btn { 2 | margin-bottom: 15px; 3 | } 4 | .icon-block p { 5 | min-height: 100px; 6 | } 7 | 8 | @media (max-width: 992px) { 9 | .icon-block > p { 10 | min-height: 120px; 11 | } 12 | } 13 | 14 | @media (max-width: 600px) { 15 | .icon-block > p { 16 | min-height: inherit; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/equipe.css: -------------------------------------------------------------------------------- 1 | .dev-card { 2 | height: 261px !important; 3 | background-size: 261px 261px !important; 4 | background-position: 50% 50% !important; 5 | background-repeat: no-repeat !important; 6 | } 7 | 8 | .card .card-action { 9 | padding: 10px; 10 | } 11 | 12 | .card-image { 13 | height: 235px !important; 14 | } 15 | 16 | .hero { 17 | height: 500px; 18 | } 19 | 20 | @media (max-width: 992px) { 21 | h1 { 22 | font-size: 3.5rem; 23 | } 24 | .hero { 25 | height: 400px; 26 | } 27 | } 28 | 29 | @media (max-width: 600px) { 30 | h1 { 31 | font-size: 2.5rem; 32 | } 33 | .hero { 34 | height: 325px; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/home.css: -------------------------------------------------------------------------------- 1 | .icon-block { 2 | padding-left: 15px; 3 | padding-right: 15px; 4 | padding-bottom: 25px; 5 | } 6 | 7 | .icon-block p { 8 | min-height: 150px; 9 | } 10 | 11 | main h2 { 12 | margin-top: 0px; 13 | margin-bottom: 50px; 14 | } 15 | 16 | @media (max-width: 992px) { 17 | .icon-block p { 18 | min-height: 200px; 19 | } 20 | } 21 | 22 | @media (max-width: 600px) { 23 | .icon-block p { 24 | min-height: inherit; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/index.css: -------------------------------------------------------------------------------- 1 | .article-header { 2 | height: 300px; 3 | background-position: 50% 50% !important; 4 | background-repeat: no-repeat !important; 5 | background-size: cover !important; 6 | overflow: hidden; 7 | padding-right: 20px; 8 | padding-left: 20px; 9 | } 10 | 11 | .article-header-text { 12 | position: absolute; 13 | bottom: 0; 14 | width: 100%; 15 | padding-right: 40px; 16 | padding-bottom: 15px; 17 | } 18 | 19 | .article-author-avatar img { 20 | max-width: 120px; 21 | } 22 | 23 | .responsive-img.circle { 24 | border-radius: 50% !important; 25 | } 26 | 27 | .article-metadata span { 28 | margin-right: 15px; 29 | white-space: nowrap; 30 | } 31 | 32 | .breadcrumb { 33 | background-color: #fff; 34 | margin-left: 11px; 35 | margin-right: 11px; 36 | margin-bottom: 20px; 37 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); 38 | } 39 | 40 | #pagination { 41 | margin-top: 25px; 42 | } 43 | 44 | #pagination-card { 45 | border-radius: 4px; 46 | } 47 | #pagination-card > .pagination { 48 | margin-bottom: 0px; 49 | margin-top: 10px; 50 | } 51 | 52 | @media (max-width: 992px) { 53 | h2 { 54 | font-size: 2.8rem; 55 | } 56 | } 57 | 58 | @media (max-width: 600px) { 59 | h2 { 60 | font-size: 2rem; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/page.css: -------------------------------------------------------------------------------- 1 | .hero-article { 2 | background-attachment: scroll; 3 | height: 450px; 4 | } 5 | 6 | .page { 7 | border-radius: 4px; 8 | } 9 | 10 | .page-contents { 11 | padding-bottom: 50px; 12 | padding-left: 56px; 13 | padding-right: 56px; 14 | } 15 | 16 | .page-metadata span { 17 | margin-right: 25px; 18 | white-space: nowrap; 19 | } 20 | 21 | main { 22 | position: absolute; 23 | top: 0; 24 | left: 0; 25 | width: 100%; 26 | } 27 | 28 | .page-meta { 29 | padding-top: 100px !important; 30 | padding-bottom: 50px !important; 31 | } 32 | 33 | .page-tags { 34 | border-top: 1px solid rgba(160, 160, 160, 0.4); 35 | margin-left: 56px; 36 | margin-right: 56px; 37 | padding-bottom: 35px; 38 | padding-top: 15px; 39 | text-align: justify; 40 | } 41 | 42 | .page-tags span { 43 | margin-top: 0px; 44 | } 45 | 46 | .breadcrumb { 47 | background-color: #eeeeee; 48 | margin-left: 56px; 49 | margin-right: 56px; 50 | margin-top: 50px; 51 | margin-bottom: 20px; 52 | } 53 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/tag-category-author-index.css: -------------------------------------------------------------------------------- 1 | @media (min-width: 600px) { 2 | .article-contents { 3 | min-height: 200px; 4 | } 5 | } 6 | @media (min-width: 992px) { 7 | .article-contents { 8 | min-height: 230px; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/css/tags.css: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | background-color: #fff; 3 | margin-right: 24px; 4 | margin-bottom: 20px; 5 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); 6 | width: 100%; 7 | } 8 | 9 | #tags { 10 | border-radius: 5px; 11 | } 12 | 13 | #all-tags { 14 | text-align: justify; 15 | padding-left: 25px; 16 | padding-right: 25px; 17 | padding-bottom: 10px; 18 | } 19 | 20 | #tag-search .input-field { 21 | margin-top: 0px; 22 | padding-top: 15px; 23 | padding-left: 15px; 24 | padding-right: 15px; 25 | } 26 | 27 | #search-icon { 28 | position: absolute; 29 | top: 20px; 30 | left: 20px; 31 | } 32 | 33 | #search-input { 34 | margin-left: 50px; 35 | padding-left: 10px; 36 | border-radius: 4px; 37 | border-width: medium medium 0; 38 | } 39 | 40 | #search-bar { 41 | border-top-left-radius: 4px;; 42 | border-top-right-radius: 4px;; 43 | } 44 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.eot -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/material-design-icons/Material-Design-Icons.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Bold.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Bold.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Light.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Light.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Medium.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Medium.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Regular.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Thin.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/font/roboto/Roboto-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/font/roboto/Roboto-Thin.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/img/default_avatar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/img/default_avatar.gif -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/img/island.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/img/island.jpg -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/malt/static/img/logo.png -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/js/init.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | $(function(){ 3 | $('.button-collapse').sideNav(); 4 | $(window).scroll(function(e){parallax();}); 5 | }); 6 | })(jQuery); 7 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/static/js/parallax.js: -------------------------------------------------------------------------------- 1 | function parallax() 2 | { 3 | var slow = $('.slow'); 4 | 5 | slow.removeClass('bounceInDown'); 6 | 7 | slow.css 8 | ({ 9 | 'padding-top': 50 + ($(window).scrollTop() / 1.888) + "px", 10 | 'opacity': 1 - ($(window).scrollTop() / 350) 11 | }); 12 | } 13 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/templates/category.html: -------------------------------------------------------------------------------- 1 | {% if CARD_SIZE is not defined %} 2 | {% set CARD_SIZE = "s12 m6 l4" %} 3 | {% endif %} 4 | 5 | {% if BREADCRUMB_ELEMENTS is not defined %} 6 | {% set BREADCRUMB_ELEMENTS = [("Categories", "categories/index.html"), (category.name, None)] %} 7 | {% endif %} 8 | 9 | {% if HIDE_AUTHOR_AVATAR is not defined %} 10 | {% set HIDE_AUTHOR_AVATAR = True %} 11 | {% endif %} 12 | 13 | {% if HIDE_CATEGORY is not defined %} 14 | {% set HIDE_CATEGORY = True %} 15 | {% endif %} 16 | 17 | {% extends "index.html" %} 18 | 19 | {% block styles %} 20 | {{ super() }} 21 | 22 | {% endblock %} 23 | 24 | {% block title %} 25 | Content in '{{ category.name }}' category | {{ SITENAME }} 26 | {% endblock %} 27 | 28 | {% block bannertext %} 29 |

    Content in '{{ category.name }}' category

    30 | {% endblock %} 31 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/templates/comunidade.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block styles %} 4 | {{ super() }} 5 | 6 | {% endblock %} 7 | 8 | {% block bannertext %} 9 |

    {{ page.title }}

    10 | {% endblock %} 11 | 12 | {% block navbar %} 13 | {% include "includes/navbar.html" %} 14 | {% endblock %} 15 | 16 | {% block content %} 17 | {% if MALT_COMUNITY is defined %} 18 |
    19 |
    20 | {% for section in MALT_COMUNITY %} 21 |
    22 |
    {{ section['title'] }}
    23 | 24 |

    {{ section['text'] }}

    25 | 26 |
    27 | {% for button in section['buttons'] %} 28 | {{ button['text'] }} 29 | {% endfor %} 30 |
    31 |
    32 | {% endfor %} 33 |
    34 |
    35 | {% endif %} 36 | {% endblock %} 37 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/templates/includes/breadcrumbs.html: -------------------------------------------------------------------------------- 1 | {% if DISPLAY_BREADCRUMBS %} 2 | 16 | {% endif %} 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ page.title }} | {{ SITENAME }}{% endblock %} 4 | 5 | {% block styles %} 6 | {{ super() }} 7 | 8 | {% endblock %} 9 | 10 | {% block banner %} 11 |
    12 |
    13 | {% endblock %} 14 | 15 | {% block content %} 16 |
    17 | 18 |
    19 |
    20 |

    {{ page.title }}

    21 |
    22 |
    23 | 24 | {% set BREADCRUMB_ELEMENTS = [(page.category, page.category.url)] %} 25 | 26 |
    27 |
    28 | {% include "includes/breadcrumbs.html" %} 29 |
    30 | {{ page.content }} 31 |
    32 |
    33 |
    34 | 35 | {% if page.comments != "closed" %} 36 | {% include "includes/comments.html" %} 37 | {% endif %} 38 |
    39 | {% endblock %} 40 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/templates/sitemap.xml: -------------------------------------------------------------------------------- 1 | {%- macro render_item(item) -%} 2 | 3 | {{item.external_url|safe}} 4 | {% if item.is_content %} 5 | {{item.modified.strftime('%Y-%m-%d')}} 6 | {% endif %} 7 | daily 8 | 0.2 9 | 10 | {%- endmacro -%} 11 | 12 | 13 | {%- for item in contents -%} 14 | {{ render_item(item) }} 15 | {%- endfor -%} 16 | 17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/malt/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% set CARD_SIZE = "s12 m6 l4" %} 2 | {% set BREADCRUMB_ELEMENTS = [("Tags", "tags"), (tag.name, None)] %} 3 | {% set HIDE_AUTHOR_AVATAR = True %} 4 | 5 | {% extends "index.html" %} 6 | 7 | {% block styles %} 8 | {{ super() }} 9 | 10 | {% endblock %} 11 | 12 | {% block title %} 13 | Content tagged in '{{ tag.name }}' | {{ SITENAME }} 14 | {% endblock %} 15 | 16 | {% block bannertext %} 17 |

    Content tagged in '{{ tag.name }}'

    18 | {% endblock %} 19 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache 2 | *~ 3 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Maurizio Sambati 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/bird_32_gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/bird_32_gray.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/bird_32_gray_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/bird_32_gray_fail.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/code_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/code_bg.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/dotted-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/dotted-border.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/email.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/line-tile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/line-tile.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/noise.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/rss.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/static/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/project_template/themes/octopress/static/images/search.png -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/after_footer.html: -------------------------------------------------------------------------------- 1 | {% include '_includes/analytics.html' %} 2 | {% include '_includes/piwik.html' %} 3 | {% include '_includes/disqus_script.html' %} 4 | {% include '_includes/twitter_sharing.html' %} 5 | {% include '_includes/google_plus_one.html' %} 6 | {% include '_includes/facebook_like.html' %} 7 | {% include '_includes/isso_script.html' %} 8 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/article.html: -------------------------------------------------------------------------------- 1 |
    2 | {% include '_includes/qr_code.html' %} 3 | {% if index %} 4 |

    5 | {{ article.title|striptags }} 6 |

    7 | {% else %} 8 |

    {{ article.title|striptags }}

    9 | {% endif %} 10 |

    11 | {% include '_includes/article_time.html' %} 12 | {% include '_includes/article_stats.html' %} 13 |

    14 |
    15 | 16 | {% if index %} 17 |
    {{ article.summary }}
    18 | {% if article.summary != article.content %} 19 | 22 | {% endif %} 23 | {% else %} 24 |
    {{ article.content }}
    25 | {% endif %} 26 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/article_infos.html: -------------------------------------------------------------------------------- 1 |

    2 | 11 | {% include '_includes/article_time.html' %} 12 | 13 | {{ article.category }} 14 | 15 | {% if article.tags %} 16 | 17 | {% for tag in article.tags %} 18 | {{ tag }}{% if not loop.last %},{% endif %} 19 | {% endfor %} 20 | 21 | {% endif %} 22 |

    23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/article_stats.html: -------------------------------------------------------------------------------- 1 | {% if X_MIN_READ %} 2 | – 🕓 {{ article.stats['read_mins'] }} min read 3 | {% endif %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/article_time.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/disqus_script.html: -------------------------------------------------------------------------------- 1 | {% if DISQUS_SITENAME %} 2 | 15 | {% endif %} 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/disqus_thread.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/facebook_like.html: -------------------------------------------------------------------------------- 1 | {% if FACEBOOK_LIKE %} 2 |
    3 | 10 | {% endif %} 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/footer.html: -------------------------------------------------------------------------------- 1 |

    2 | {% if LICENSE %} 3 | {{ LICENSE }} 4 | {% else %} 5 | {% set years = dates|groupby('date.year')|sort(reverse=False) %} 6 | {% set sinceYear = years|first|first|default('2014') %} 7 | {% set toYear = years|last|first|default('2014') %} 8 | Copyright © {% if sinceYear == toYear %} {{ sinceYear }} {% else %} {{ sinceYear }}–{{ toYear }} {% endif%} {{ AUTHOR }} — 9 | {% endif %} 10 | Powered by Pelican 11 |

    12 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/google_plus_one.html: -------------------------------------------------------------------------------- 1 | {% if GOOGLE_PLUS_ONE %} 2 | 9 | {% endif %} 10 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/gplus_sidebar.html: -------------------------------------------------------------------------------- 1 | {% if GOOGLE_PLUS_ID %} 2 |
    3 |

    4 | 5 | 6 | Google+ 7 | 8 |

    9 |
    10 | {% endif %} 11 | 12 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/header.html: -------------------------------------------------------------------------------- 1 |
    2 |

    {{ SITENAME }}

    3 | {% if SITESUBTITLE %} 4 |

    {{ SITESUBTITLE }}

    5 | {% endif %} 6 |
    -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/isso_script.html: -------------------------------------------------------------------------------- 1 | {% if ISSO_SITEURL %} 2 | 4 | {% endif %} 5 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/links.html: -------------------------------------------------------------------------------- 1 | {% if LINKS %} 2 |
    3 |

    Blogroll

    4 |
      5 | {% for name, link in LINKS %} 6 |
    • {{ name }}
    • 7 | {% endfor %} 8 |
    9 |
    10 | {% endif %} 11 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/pagination.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/piwik.html: -------------------------------------------------------------------------------- 1 | {% if PIWIK_URL and PIWIK_SITE_ID %} 2 | 16 | 17 | {% endif %} 18 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/qr_code.html: -------------------------------------------------------------------------------- 1 | {% if QR_CODE %} 2 | {% if article %} 3 | {% set divName = article.url|striptags|urlencode %} 4 | {% set url = article.url %} 5 | {% else %} 6 | {% set divName = page.url|striptags|urlencode %} 7 | {% set url = page.url %} 8 | {% endif %} 9 | 10 |
    11 | 12 | 20 | {% endif %} -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/sharing.html: -------------------------------------------------------------------------------- 1 | 12 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/sidebar.html: -------------------------------------------------------------------------------- 1 | 42 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/social.html: -------------------------------------------------------------------------------- 1 | 2 | {% if SOCIAL %} 3 |
    4 |

    Social

    5 |
      6 | {% if FEED_RSS %} 7 |
    • RSS
    • 8 | {% endif %} 9 | {% if FEED_ATOM %} 10 |
    • Atom
    • 11 | {% endif %} 12 | {% for name, link in SOCIAL %} 13 |
    • {{ name }}
    • 14 | {% endfor %} 15 |
    16 |
    17 | {% endif %} 18 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/_includes/twitter_sharing.html: -------------------------------------------------------------------------------- 1 | {% if TWITTER_TWEET_BUTTON %} 2 | 11 | {% endif %} 12 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/article.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ article.title|striptags }} — {{ SITENAME }}{% endblock %} 3 | {% block content %} 4 |
    5 |
    6 | {% include '_includes/article.html' %} 7 |
    8 | {% include '_includes/article_infos.html' %} 9 | {% include '_includes/sharing.html' %} 10 |
    11 |
    12 | 13 | {% if (DISQUS_SITENAME or ISSO_SITEURL) and SITEURL and article.status != "draft" %} 14 |
    15 |

    Comments

    16 | {% if ISSO_SITEURL %} 17 |
    18 | {% endif %} 19 | {% if DISQUS_SITENAME %} 20 |
    {% include '_includes/disqus_thread.html' %}
    21 | {% endif %} 22 |
    23 | {% endif %} 24 |
    25 | {% endblock %} 26 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}Authors — {{ SITENAME }}{% endblock %} 3 | {% block content %} 4 |
    5 |
    6 |
    7 |

    Blog Authors

    8 |
    9 | 10 | {% for author, articles in authors|sort %} 11 |

    {{ author.name }} ({{ articles|count }})

    12 | {% endfor %} 13 |
    14 |
    15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/categories.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}Categories — {{ SITENAME }}{% endblock %} 3 | {% block content %} 4 |
    5 |
    6 |
    7 |

    Blog Categories

    8 |
    9 | 10 |

    11 | {% for category, articles in categories|sort %} 12 | {{ category.name }} ({{ articles|count }})
    13 | {% endfor %} 14 |

    15 |
    16 |
    17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block content %} 3 | {% set index=True %} 4 |
    5 | {% if articles %} 6 | {% for article in articles_page.object_list %} 7 |
    8 | {% include '_includes/article.html' %} 9 |
    10 | {% endfor %} 11 | {% include '_includes/pagination.html' %} 12 | {% endif %} 13 |
    14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends 'base.html' %} 2 | {% block title %}{{ page.title }} — {{ SITENAME }}{% endblock %} 3 | {% block content %} 4 |
    5 |
    6 |
    7 | {% include '_includes/qr_code.html' %} 8 |

    {{ page.title }}

    9 |
    10 | {{ page.content }} 11 |
    12 |
    13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /quokka/project_template/themes/octopress/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}Tags — {{ SITENAME }}{% endblock %} 3 | {% block content %} 4 |
    5 |
    6 |
    7 |

    Blog Tags

    8 |
    9 | 10 |

    11 | {% for tag, articles in tags|sort %} 12 | {{ tag.name }} ({{ articles|count }})
    13 | {% endfor %} 14 |

    15 |
    16 |
    17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends 'index.html' %} 2 | {% block title %}all posts // {{ super() }}{% endblock title %} 3 | {% block pagetitle %}all posts{% endblock pagetitle %} 4 | 5 | 6 | {% block content %} 7 |
    8 | {% include 'sidebar.html' %} 9 |
    10 |
    11 |

    All posts

    12 | {% for article in dates %} 13 |
    14 | 15 | {% if article.author_gravatar %} 16 | {{ article.author }} 17 | {% endif %} 18 | 19 |
    {{ article.date|strftime('%Y') }}
    20 |

    {{ article.date|strftime('%d %B') }}

    21 |
    {{ article.title }}
    22 |

    {{ article.author }} in {{ article.category }}

    23 |
    24 | {% endfor %} 25 |
    26 |
    27 |
    28 | {% include 'footer.html' %} 29 | {% endblock %} 30 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends 'index.html' %} 2 | {% block title %}{{ author|striptags }} author // {{ super() }}{% endblock title %} 3 | {% block pagetitle %}Posts by '{{ author }}'{% endblock pagetitle %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends 'index.html' %} 2 | {% block title %}{{ category|striptags }} category // {{ super() }}{% endblock title %} 3 | {% block pagetitle %}Posts in '{{ category }}'{% endblock pagetitle %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/disqus.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 14 | 15 | comments powered by Disqus 16 |
    17 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/footer.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends 'index.html' %} 2 | {% block title %}{{ page.title|striptags }} // {{ super() }}{% endblock title %} 3 | 4 | {% block content %} 5 |
    6 | {% include 'sidebar.html' %} 7 |
    8 |
    9 |

    {{ page.title }}

    10 |

    {{ page.content }}

    11 |
    12 |
    13 |
    14 | {% include 'footer.html' %} 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/pagination.html: -------------------------------------------------------------------------------- 1 |
    2 | {% if DEFAULT_PAGINATION %} 3 | 18 | {% endif %} 19 |
    20 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/post.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 | {% if article.author_gravatar %} 5 | {{ article.author }} 6 | {% endif %} 7 | 8 |

    {{ article.title }}

    9 | 10 | 13 |
    14 |
    15 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/sidebar.html: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /quokka/project_template/themes/pure/templates/tag.html: -------------------------------------------------------------------------------- 1 | {% extends 'index.html' %} 2 | {% block title %}{{ tag|striptags }} tag // {{ super() }}{% endblock title %} 3 | {% block pagetitle %}Posts tagged '{{ tag }}'{% endblock pagetitle %} 4 | -------------------------------------------------------------------------------- /quokka/project_template/uploads/README.md: -------------------------------------------------------------------------------- 1 | # Store uploaded files 2 | -------------------------------------------------------------------------------- /quokka/project_template/wsgi.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import argparse 4 | from werkzeug.serving import run_simple 5 | from quokka import create_app 6 | 7 | application = app = create_app(ADMIN_REQUIRES_LOGIN=True) 8 | 9 | 10 | if __name__ == "__main__": 11 | parser = argparse.ArgumentParser(description="Run Quokka App for WSGI") 12 | parser.add_argument('-p', '--port', help='App Port') 13 | parser.add_argument('-i', '--host', help='App Host') 14 | parser.add_argument('-r', '--reloader', action='store_true', 15 | help='Turn reloader on') 16 | parser.add_argument('-d', '--debug', action='store_true', 17 | help='Turn debug on') 18 | args = parser.parse_args() 19 | run_simple( 20 | args.host or '127.0.0.1', 21 | int(args.port) if args.port else 5000, 22 | application, 23 | use_reloader=args.reloader or False, 24 | use_debugger=args.debug or False, 25 | ) 26 | -------------------------------------------------------------------------------- /quokka/templates/admin/quokka/create.html: -------------------------------------------------------------------------------- 1 | {% extends 'admin/model/create.html' %} 2 | {% import 'admin/quokka/macros.html' as quokka_macros with context %} 3 | -------------------------------------------------------------------------------- /quokka/templates/admin/quokka/edit.html: -------------------------------------------------------------------------------- 1 | {% extends 'admin/model/edit.html' %} 2 | {% import 'admin/quokka/macros.html' as quokka_macros with context %} 3 | 4 | {% block tail %} 5 | {{ super() }} 6 | 29 | 30 | 31 | 32 | {% endblock %} 33 | -------------------------------------------------------------------------------- /quokka/templates/admin/quokka/macros.html: -------------------------------------------------------------------------------- 1 | {% macro render_no_label(form, field, kwargs={}, caller=None) %} 2 |
    3 |
    4 | {{ field(**kwargs)|safe }} 5 | {% if caller %} 6 | {{ caller(form, field, direct_error, kwargs) }} 7 | {% endif %} 8 |
    9 |
    10 | {% endmacro %} 11 | 12 | 13 | {% macro render_hidden_field(form, field, kwargs={}, caller=None) %} 14 | {{ field(**kwargs)|safe }} 15 | {% if caller %} 16 | {{ caller(form, field, direct_error, kwargs) }} 17 | {% endif %} 18 | {% endmacro %} 19 | -------------------------------------------------------------------------------- /quokka/templates/admin/quokka/master.html: -------------------------------------------------------------------------------- 1 | {% extends 'admin/base.html' %} 2 | 3 | {% block access_control %} 4 | {% if is_logged_in() %} 5 |
    6 | 9 | 12 |
    13 | {% endif %} 14 | {% endblock %} 15 | -------------------------------------------------------------------------------- /quokka/templates/archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

    Archives for {{ SITENAME }}

    4 | 5 |
    6 | {% for article in dates %} 7 |
    {{ article.locale_date }}
    8 |
    {{ article.title }}
    9 | {% endfor %} 10 |
    11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /quokka/templates/author.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %} 4 | {% block content_title %} 5 |

    Articles by {{ author }}

    6 | {% endblock %} 7 | 8 | -------------------------------------------------------------------------------- /quokka/templates/authors.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Authors{% endblock %} 4 | 5 | {% block content %} 6 |

    Authors on {{ SITENAME }}

    7 | 8 |
      9 | {%- for author, articles in authors|sort %} 10 |
    • {{ author }} ({{ articles|count }})
    • 11 | {% endfor %} 12 |
    13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /quokka/templates/categories.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |
      4 | {% for category, articles in categories %} 5 |
    • {{ category }}
    • 6 | {% endfor %} 7 |
    8 | {% endblock %} 9 | -------------------------------------------------------------------------------- /quokka/templates/category.html: -------------------------------------------------------------------------------- 1 | {% extends "index.html" %} 2 | {% block content_title %} 3 |

    Articles in the {{ category }} category

    4 | {% endblock %} 5 | 6 | -------------------------------------------------------------------------------- /quokka/templates/errors/access_forbidden.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | (403) Access forbidden 4 | {% endblock %} 5 | -------------------------------------------------------------------------------- /quokka/templates/errors/method_not_allowed.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block content %} 4 | (405) Not allowed 5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /quokka/templates/errors/page_not_found.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 | (404) Not found. 4 | {% endblock %} 5 | -------------------------------------------------------------------------------- /quokka/templates/errors/server_error.html: -------------------------------------------------------------------------------- 1 | 2 | {% extends "base.html" %} 3 | {% block content %} 4 | (500) Server error 5 | {% endblock %} 6 | -------------------------------------------------------------------------------- /quokka/templates/gosquared.html: -------------------------------------------------------------------------------- 1 | {% if GOSQUARED_SITENAME %} 2 | 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /quokka/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |
    4 | {% block content_title %} 5 |

    All articles

    6 | {% endblock %} 7 | 8 |
      9 | {% for article in articles_page.object_list %} 10 |
    1. 11 |

      {{ article.title }}

      12 |
      13 | 14 |
      By 15 | {% for author in article.authors %} 16 | {{ author }} 17 | {% endfor %} 18 |
      19 |
      20 |
      {{ article.summary }}
      21 |
    2. 22 | {% endfor %} 23 |
    24 | {% if articles_page.has_other_pages() %} 25 | {% include 'pagination.html' %} 26 | {% endif %} 27 |
    28 | {% endblock content %} 29 | -------------------------------------------------------------------------------- /quokka/templates/overload_bootstrap3/templates/includes/sidebar/social.html: -------------------------------------------------------------------------------- 1 | {% if SOCIAL %} 2 | {% from 'includes/sidebar/macros.jinja' import title %} 3 | 4 | 5 |
  • 6 |

    {{ title(_('Social'), DISABLE_SIDEBAR_TITLE_ICONS) }}

    7 |
      8 | {% for s in SOCIAL %} 9 | {% if s[2] %} 10 | {% set name_sanitized = s[2]|lower|replace('+','-plus')|replace(' ','-') %} 11 | {% else %} 12 | {% set name_sanitized = s[0]|lower|replace('+','-plus')|replace(' ','-') %} 13 | {% endif %} 14 | {% if name_sanitized in ['flickr', 'slideshare', 'instagram', 'spotify', 'stack-overflow', 'weibo', 'line-chart', 'home', 'user', 'users', 'envelope', 'envelope-o', 'stack-exchange', 'hacker-news', 'gitlab'] %} 15 | {% set iconattributes = '"fa fa-' ~ name_sanitized ~ ' fa-lg"' %} 16 | {% else %} 17 | {% set iconattributes = '"fa fa-' ~ name_sanitized ~ '-square fa-lg"' %} 18 | {% endif %} 19 |
    • {{ s[0] }}
    • 20 | {% endfor %} 21 |
    22 |
  • 23 | 24 | {% endif %} 25 | -------------------------------------------------------------------------------- /quokka/templates/page.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block title %}{{ page.title }}{%endblock%} 3 | {% block content %} 4 |

    {{ page.title }}

    5 | {% import 'translations.html' as translations with context %} 6 | {{ translations.translations_for(page) }} 7 | 8 | {{ page.content }} 9 | 10 | {% if page.modified %} 11 |

    12 | Last updated: {{ page.locale_modified }} 13 |

    14 | {% endif %} 15 | {% endblock %} 16 | -------------------------------------------------------------------------------- /quokka/templates/pagination.html: -------------------------------------------------------------------------------- 1 | {% if DEFAULT_PAGINATION %} 2 |

    3 | {% if articles_page.has_previous() %} 4 | « 5 | {% endif %} 6 | Page {{ articles_page.number }} / {{ articles_paginator.num_pages }} 7 | {% if articles_page.has_next() %} 8 | » 9 | {% endif %} 10 |

    11 | {% endif %} 12 | -------------------------------------------------------------------------------- /quokka/templates/period_archives.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | {% block content %} 3 |

    Archives for {{ period | reverse | join(' ') }}

    4 | 5 |
    6 | {% for article in dates %} 7 |
    {{ article.locale_date }}
    8 |
    {{ article.title }}
    9 | {% endfor %} 10 |
    11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /quokka/templates/tag.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/templates/tag.html -------------------------------------------------------------------------------- /quokka/templates/tags.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block title %}{{ SITENAME }} - Tags{% endblock %} 4 | 5 | {% block content %} 6 |

    Tags for {{ SITENAME }}

    7 | {%- for tag, articles in tags|sort %} 8 |
  • {{ tag }} ({{ articles|count }})
  • 9 | {% endfor %} 10 | {% endblock %} 11 | -------------------------------------------------------------------------------- /quokka/templates/translations.html: -------------------------------------------------------------------------------- 1 | {% macro translations_for(article) %} 2 | {% if article.translations %} 3 | Translations: 4 | {% for translation in article.translations %} 5 | {{ translation.lang }} 6 | {% endfor %} 7 | {% endif %} 8 | {% endmacro %} 9 | 10 | -------------------------------------------------------------------------------- /quokka/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quokkaproject/quokka/a4d5cb6528d69b79f5e0d87a1faae70e84a3ec51/quokka/utils/__init__.py -------------------------------------------------------------------------------- /quokka/utils/custom_vars.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | from dynaconf.utils.parse_conf import parse_conf_data 4 | 5 | 6 | def parse_data(data): 7 | """Return converted data from @int, @float, @bool, @json markers""" 8 | return parse_conf_data(data) 9 | 10 | 11 | def custom_var_dict(cvarlist): 12 | cvarlist = cvarlist or [] 13 | return { 14 | cvar['key']: parse_data(cvar['value']) 15 | for cvar in cvarlist 16 | } 17 | -------------------------------------------------------------------------------- /quokka/utils/echo.py: -------------------------------------------------------------------------------- 1 | from functools import partial 2 | import click 3 | 4 | b = partial(click.style, bold=True) 5 | blue = partial(click.style, bold=True, fg="blue") 6 | green = partial(click.style, bold=True, fg="green") 7 | red = partial(click.style, bold=True, fg="red") 8 | yellow = partial(click.style, bold=True, fg="yellow") 9 | 10 | 11 | def lecho(label, text, style=b): 12 | """Click.echo with label e.g: 'Name: Foo' """ 13 | click.echo(f'{style(label.rstrip(":"))}: {text}') 14 | -------------------------------------------------------------------------------- /quokka/utils/project.py: -------------------------------------------------------------------------------- 1 | from .echo import green, lecho, red 2 | 3 | 4 | def fetch_theme(theme, destiny): 5 | """TODO: implement this""" 6 | lecho('🎨 Warning', f'{theme} theme not installed', red) 7 | return 8 | if theme: 9 | lecho('🎨 Theme installed', theme, green) 10 | 11 | 12 | def fetch_modules(modules, destiny): 13 | """TODO: implement this""" 14 | lecho('🚚 Warning', f'{modules} modules not installed', red) 15 | return 16 | if modules: 17 | lecho('🚚 Modules installed', modules, green) 18 | 19 | 20 | def cookiecutter(*args, **kwargs): 21 | lecho('🔧 Warning:', 'Config file not written', red) 22 | -------------------------------------------------------------------------------- /quokka/utils/routing.py: -------------------------------------------------------------------------------- 1 | 2 | 3 | def expose(url='/', methods=('GET',)): 4 | """ 5 | Use this decorator to expose views in your view classes. 6 | 7 | `url` 8 | Relative URL for the view 9 | `methods` 10 | Allowed HTTP methods. By default only GET is allowed. 11 | """ 12 | def wrap(f): 13 | if not hasattr(f, '_urls'): 14 | f._urls = [] 15 | f._urls.append((url, methods)) 16 | return f 17 | 18 | return wrap 19 | -------------------------------------------------------------------------------- /quokka/utils/upload.py: -------------------------------------------------------------------------------- 1 | import os.path as op 2 | import random 3 | from datetime import date 4 | 5 | from flask import current_app 6 | from speaklater import make_lazy_string 7 | from werkzeug import secure_filename 8 | 9 | 10 | def dated_path(obj, file_data): 11 | try: 12 | prefix = getattr(obj, 'model_name') 13 | except BaseException: 14 | prefix = "undefined" 15 | 16 | parts = op.splitext(file_data.filename) 17 | rand = random.getrandbits(16) 18 | filename = u"{name}_{rand}{ext}".format( 19 | rand=rand, name=parts[0], ext=parts[1] 20 | ) 21 | filename = secure_filename(filename) 22 | today = date.today() 23 | path = u"{prefix}/{t.year}/{t.month}/{filename}".format( 24 | prefix=prefix, t=today, filename=filename 25 | ) 26 | return path 27 | 28 | 29 | def media_path(suffix=None): 30 | media_root = current_app.config.get('MEDIA_ROOT') 31 | if suffix: 32 | return op.join(media_root, suffix) 33 | return op.join(media_root) 34 | 35 | 36 | def lazy_media_path(suffix=None): 37 | return make_lazy_string(lambda: media_path(suffix)) 38 | -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- 1 | pytest>=3.4.0 2 | ipython>=6.2.1 3 | ipdb>=0.10.3 4 | flask_debugtoolbar>=0.10.1 5 | pytest_flask>=0.10.0 6 | codecov>=2.0.15 7 | pytest-cov>=2.5.1 8 | flake8>=3.5.0 9 | flake8-bugbear>=18.2.0 10 | isort>=4.3.3 11 | twine>=1.9.1 12 | wheel>=0.30.0 13 | flask>=1.0 14 | logzero 15 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | flask>=1.0.2 2 | import_string>=0.1.0 3 | flask_admin>=1.5.0 4 | wtforms_components>=0.10.3 5 | pymongo==2.4.1 # pyup: ignore 6 | tinymongo>=0.2.0 7 | tinydb_serialization>=1.0.4 8 | manage>=0.1.13 9 | dynaconf>=1.0.0 10 | quokka_flask_htmlbuilder>=0.13 11 | awesome_slugify>=1.6.5 12 | flask_babelex>=0.9.3 13 | mistune>=0.8.3 14 | flask_simplelogin>=0.0.6 15 | frozen_flask>=0.15 16 | pillow>=5.0.0 17 | pyrss2gen>=1.1 18 | requests>=2.18.4 19 | pygments>=2.2.0 20 | six>=1.11.0 21 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = quokka 3 | author = Bruno Rocha 4 | author-email = rochacbruno@gmail.com 5 | home-page = https://github.com/rochacbruno/quokka 6 | requires-python = >=3.6 7 | summary = Content Management Framework for Python 8 | description-file = README.md 9 | description-content-type = text/x-rst; charset=UTF-8 10 | project_urls = 11 | Bug Tracker = https://github.com/rochacbruno/quokka 12 | Documentation = https://github.com/rochacbruno/quokka 13 | Source Code = https://github.com/rochacbruno/quokka 14 | license = BSD License 15 | classifier = 16 | Development Status :: 4 - Beta 17 | Environment :: Web Environment 18 | Intended Audience :: Developers 19 | Intended Audience :: Information Technology 20 | License :: OSI Approved :: BSD License 21 | Operating System :: OS Independent 22 | Programming Language :: Python 23 | Programming Language :: Python :: 3 24 | Programming Language :: Python :: 3.6 25 | Topic :: Internet :: WWW/HTTP :: Dynamic Content 26 | Topic :: Software Development :: Libraries :: Python Modules 27 | keywords = cms content management flask static site blog 28 | 29 | [files] 30 | packages = 31 | quokka 32 | 33 | [entry_points] 34 | console_scripts = 35 | quokka = quokka.cli:main 36 | pbr.config.drivers = 37 | plain = pbr.cfg.driver:Plain 38 | 39 | [bdist_wheel] 40 | universal = 1 41 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from setuptools import setup 4 | 5 | 6 | setup( 7 | setup_requires=['pbr'], 8 | pbr=True 9 | ) 10 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- 1 | import os 2 | import pytest 3 | from quokka import create_app 4 | 5 | 6 | @pytest.fixture 7 | def app(): 8 | """Flask Pytest uses it""" 9 | os.chdir('quokka/project_template/') 10 | return create_app() 11 | -------------------------------------------------------------------------------- /tests/test_basic.py: -------------------------------------------------------------------------------- 1 | 2 | def test_basic(app): 3 | assert app.name == 'quokka' 4 | --------------------------------------------------------------------------------