├── .gitignore
├── CHANGES.txt
├── LICENSE
├── Procfile
├── README.md
├── app.json
├── custom
├── logging.ini
├── moya
├── settings.ini
└── templates
│ └── willmcgugan.techblog
│ └── base.html
├── heroku
├── heroku.ini
├── logging.ini
├── moya
├── postdeploy.sh
├── readme.txt
└── wsgi.py
├── requirements.txt
├── runtime.txt
├── setup.py
├── site
├── basesettings.ini
├── data
│ └── readme.txt
├── external
│ ├── moya.fontawesome
│ │ ├── __init__.py
│ │ ├── docs
│ │ │ └── index.txt
│ │ ├── lib.ini
│ │ ├── locale
│ │ │ └── readme.txt
│ │ ├── manifest.csv
│ │ └── media
│ │ │ ├── css
│ │ │ ├── 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
│ │ │ └── readme.txt
│ ├── moya.imagelib
│ │ ├── __init__.py
│ │ ├── docs
│ │ │ ├── index.txt
│ │ │ └── introduction.txt
│ │ ├── lib.ini
│ │ ├── locale
│ │ │ └── readme.txt
│ │ ├── logic
│ │ │ ├── admin.xml
│ │ │ ├── content.xml
│ │ │ ├── forms.xml
│ │ │ ├── macros.xml
│ │ │ ├── models.xml
│ │ │ ├── mountpoints.xml
│ │ │ ├── rpc.xml
│ │ │ ├── signals.xml
│ │ │ ├── tags.xml
│ │ │ ├── thumbs.xml
│ │ │ ├── views.xml
│ │ │ └── widgets.xml
│ │ ├── manifest.csv
│ │ ├── media
│ │ │ ├── css
│ │ │ │ └── imglib.css
│ │ │ ├── img
│ │ │ │ ├── shade.png
│ │ │ │ └── transparent.png
│ │ │ ├── js
│ │ │ │ └── imglib.js
│ │ │ └── readme.txt
│ │ └── templates
│ │ │ └── moya.imagelib
│ │ │ ├── base.html
│ │ │ ├── emptyoption.html
│ │ │ ├── imglist.html
│ │ │ ├── managerbase.html
│ │ │ ├── option.html
│ │ │ └── widgets
│ │ │ ├── manager
│ │ │ ├── fragments
│ │ │ │ └── progress.html
│ │ │ ├── image_form.html
│ │ │ ├── manager.html
│ │ │ └── manager_image.html
│ │ │ ├── picker
│ │ │ └── picker.html
│ │ │ ├── readme.txt
│ │ │ └── uploader
│ │ │ ├── uploader.html
│ │ │ └── uploader_image.html
│ ├── moya.logins
│ │ ├── __init__.py
│ │ ├── data
│ │ │ └── moya.logins
│ │ │ │ └── providers.json
│ │ ├── docs
│ │ │ ├── index.txt
│ │ │ └── introduction.txt
│ │ ├── lib.ini
│ │ ├── locale
│ │ │ └── readme.txt
│ │ ├── logic
│ │ │ ├── admin.xml
│ │ │ ├── commands.xml
│ │ │ ├── content.xml
│ │ │ ├── customize.xml
│ │ │ ├── forms.xml
│ │ │ ├── macros.xml
│ │ │ ├── models.xml
│ │ │ ├── mountpoints.xml
│ │ │ ├── preflight.xml
│ │ │ ├── profile.xml
│ │ │ ├── views.xml
│ │ │ └── widgets.xml
│ │ ├── manifest.csv
│ │ ├── media
│ │ │ ├── css
│ │ │ │ ├── bootstrap-social.css
│ │ │ │ └── logins.css
│ │ │ └── readme.txt
│ │ ├── py
│ │ │ ├── __init__.py
│ │ │ ├── oauth1.py
│ │ │ └── oauth2.py
│ │ ├── requirements.txt
│ │ └── templates
│ │ │ ├── moya.auth
│ │ │ └── login_container.html
│ │ │ └── moya.logins
│ │ │ ├── admin
│ │ │ └── provider.html
│ │ │ ├── base.html
│ │ │ └── widgets
│ │ │ ├── login-button.html
│ │ │ └── readme.txt
│ ├── moya.thumbnail
│ │ ├── __init__.py
│ │ ├── docs
│ │ │ ├── index.txt
│ │ │ └── introduction.txt
│ │ ├── lib.ini
│ │ ├── locale
│ │ │ └── readme.txt
│ │ ├── logic
│ │ │ ├── admin.xml
│ │ │ ├── content.xml
│ │ │ ├── forms.xml
│ │ │ ├── macros.xml
│ │ │ ├── models.xml
│ │ │ ├── mountpoints.xml
│ │ │ ├── rpc.xml
│ │ │ ├── signals.xml
│ │ │ ├── tags.xml
│ │ │ ├── thumbs.xml
│ │ │ ├── views.xml
│ │ │ └── widgets.xml
│ │ ├── manifest.csv
│ │ ├── media
│ │ │ ├── css
│ │ │ │ └── imglib.css
│ │ │ ├── img
│ │ │ │ ├── shade.png
│ │ │ │ └── transparent.png
│ │ │ ├── js
│ │ │ │ └── imglib.js
│ │ │ └── readme.txt
│ │ └── templates
│ │ │ └── moya.imagelib
│ │ │ ├── base.html
│ │ │ ├── emptyoption.html
│ │ │ ├── imglist.html
│ │ │ ├── managerbase.html
│ │ │ ├── option.html
│ │ │ └── widgets
│ │ │ ├── manager
│ │ │ ├── fragments
│ │ │ │ └── progress.html
│ │ │ ├── image_form.html
│ │ │ ├── manager.html
│ │ │ └── manager_image.html
│ │ │ ├── picker
│ │ │ └── picker.html
│ │ │ ├── readme.txt
│ │ │ └── uploader
│ │ │ ├── uploader.html
│ │ │ └── uploader_image.html
│ ├── moya.widgets.extra
│ │ ├── __init__.py
│ │ ├── docs
│ │ │ ├── index.txt
│ │ │ └── introduction.txt
│ │ ├── lib.ini
│ │ ├── locale
│ │ │ └── readme.txt
│ │ ├── logic
│ │ │ ├── content.xml
│ │ │ ├── forms.xml
│ │ │ ├── models.xml
│ │ │ ├── mountpoints.xml
│ │ │ ├── readme.txt
│ │ │ ├── signals.xml
│ │ │ ├── tags.xml
│ │ │ ├── views.xml
│ │ │ └── widgets.xml
│ │ ├── manifest.csv
│ │ ├── media
│ │ │ ├── css
│ │ │ │ └── widgetsextra.css
│ │ │ ├── js
│ │ │ │ └── widgetsextra.js
│ │ │ └── readme.txt
│ │ └── templates
│ │ │ └── moya.widgets.extra
│ │ │ ├── base.html
│ │ │ └── widgets
│ │ │ ├── option.html
│ │ │ ├── readme.txt
│ │ │ ├── select-drop.html
│ │ │ └── select.html
│ ├── readme.txt
│ └── update.sh
├── local
│ └── readme.txt
├── logging.ini
├── logic
│ ├── readme.txt
│ └── server.xml
├── moya
├── prodlogging.ini
├── production.ini
├── readme.txt
├── settings.ini
├── site
│ ├── lib.ini
│ ├── locale
│ │ └── readme.txt
│ ├── logic
│ │ ├── content.xml
│ │ ├── data.xml
│ │ ├── mountpoints.xml
│ │ └── readme.txt
│ └── readme.txt
├── static
│ ├── auth-media
│ │ └── css
│ │ │ └── auth.css
│ ├── bootstrap-media
│ │ └── css
│ │ │ └── bootstrap.min.css
│ ├── comments-media
│ │ └── css
│ │ │ └── comments.css
│ └── readme.txt
├── templates
│ ├── base.html
│ ├── email
│ │ ├── base.html
│ │ └── base.txt
│ └── readme.txt
├── themes
│ └── default.json
└── wsgi.py
├── techblog.py
├── techblog
├── __init__.py
└── app.py
└── willmcgugan.techblog
├── __init__.py
├── data
└── willmcgugan.techblog
│ ├── feed_description_sanitize.json
│ └── sanitize_rules.json
├── lib.ini
├── locale
└── moya_blog.pot
├── logic
├── admin.xml
├── commands.xml
├── content.xml
├── forms.xml
├── inserts.xml
├── models.xml
├── preflight.xml
├── rpc.xml
├── signals.xml
├── tags.xml
├── thumbs.xml
├── views.xml
└── widgets.xml
├── media
├── css
│ └── blog.css
├── highlight
│ ├── CHANGES.md
│ ├── LICENSE
│ ├── README.md
│ ├── README.ru.md
│ ├── highlight.pack.js
│ └── styles
│ │ ├── agate.css
│ │ ├── androidstudio.css
│ │ ├── arta.css
│ │ ├── ascetic.css
│ │ ├── atelier-cave.dark.css
│ │ ├── atelier-cave.light.css
│ │ ├── atelier-dune.dark.css
│ │ ├── atelier-dune.light.css
│ │ ├── atelier-estuary.dark.css
│ │ ├── atelier-estuary.light.css
│ │ ├── atelier-forest.dark.css
│ │ ├── atelier-forest.light.css
│ │ ├── atelier-heath.dark.css
│ │ ├── atelier-heath.light.css
│ │ ├── atelier-lakeside.dark.css
│ │ ├── atelier-lakeside.light.css
│ │ ├── atelier-plateau.dark.css
│ │ ├── atelier-plateau.light.css
│ │ ├── atelier-savanna.dark.css
│ │ ├── atelier-savanna.light.css
│ │ ├── atelier-seaside.dark.css
│ │ ├── atelier-seaside.light.css
│ │ ├── atelier-sulphurpool.dark.css
│ │ ├── atelier-sulphurpool.light.css
│ │ ├── brown_paper.css
│ │ ├── brown_papersq.png
│ │ ├── codepen-embed.css
│ │ ├── color-brewer.css
│ │ ├── dark.css
│ │ ├── darkula.css
│ │ ├── default.css
│ │ ├── docco.css
│ │ ├── far.css
│ │ ├── foundation.css
│ │ ├── github-gist.css
│ │ ├── github.css
│ │ ├── googlecode.css
│ │ ├── grayscale.css
│ │ ├── hopscotch.css
│ │ ├── hybrid.css
│ │ ├── idea.css
│ │ ├── ir_black.css
│ │ ├── kimbie.dark.css
│ │ ├── kimbie.light.css
│ │ ├── magula.css
│ │ ├── mono-blue.css
│ │ ├── monokai.css
│ │ ├── monokai_sublime.css
│ │ ├── obsidian.css
│ │ ├── paraiso.dark.css
│ │ ├── paraiso.light.css
│ │ ├── pojoaque.css
│ │ ├── pojoaque.jpg
│ │ ├── railscasts.css
│ │ ├── rainbow.css
│ │ ├── school_book.css
│ │ ├── school_book.png
│ │ ├── solarized_dark.css
│ │ ├── solarized_light.css
│ │ ├── sunburst.css
│ │ ├── tomorrow-night-blue.css
│ │ ├── tomorrow-night-bright.css
│ │ ├── tomorrow-night-eighties.css
│ │ ├── tomorrow-night.css
│ │ ├── tomorrow.css
│ │ ├── vs.css
│ │ ├── xcode.css
│ │ └── zenburn.css
├── img
│ ├── bearback.jpg
│ └── birdback.jpg
└── js
│ ├── editpost.js
│ └── techblog.js
└── templates
├── 404.html
├── 500.html
├── base.html
├── footer.html
├── ga.html
├── moya.comments
└── widgets
│ ├── comment_editor.html
│ ├── comment_form_new.html
│ ├── comment_form_reply.html
│ ├── comment_markup.html
│ └── comments.html
├── navbar.html
└── willmcgugan.techblog
├── base.html
├── blog_list.html
├── channel_list.html
├── editor
└── draft.html
├── editor_base.html
├── feed_description.html
├── inserts
└── post_image.html
├── list.html
├── photo_fan.html
├── post_info.html
├── posts
├── page.html
└── text.html
├── read_more.html
├── rpc
├── images.html
├── preview_comment.html
└── preview_content.html
├── search.html
├── search_header.html
├── settings
├── base.html
├── drafts.html
└── links.html
├── social.html
├── summary
├── photo.html
└── text.html
├── summary_img.html
├── tag_header.html
└── widgets
├── narrow_posts_list.html
├── popular_tags.html
├── post.html
├── post_content.html
├── posts_by_month.html
├── recent_posts.html
└── related_posts.html
/.gitignore:
--------------------------------------------------------------------------------
1 | *.orig
2 | *.project
3 | *.pyc
4 | *.egg
5 | *.egg-info
6 | *.db
7 | *.sqlite
8 | *.sublime-*
9 | /**/__*__
10 | .eggs
11 | .tox
12 | build/
13 | .DS_Store
14 | *.sqllite
15 | local.ini
16 | pg.ini
17 |
--------------------------------------------------------------------------------
/CHANGES.txt:
--------------------------------------------------------------------------------
1 | 1.0.0
2 | -----
3 |
4 | First feature complete release
5 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 moyaproject
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 |
--------------------------------------------------------------------------------
/Procfile:
--------------------------------------------------------------------------------
1 | web: gunicorn --chdir ./heroku wsgi:application --log-file -
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Moya Tech Blog
2 |
3 | Blog software for code and Photography. See [this blog post](https://www.willmcgugan.com/blog/tech/post/moya-tech-blog/) for more details.
4 |
5 | ## Installing Moya
6 |
7 | If you don't have moya installed, install it from the command line with:
8 |
9 | pip install moya
10 |
11 | You may need 'sudo' on some platforms. If you have an older version of Moya, add the -U switch to upgrade.
12 |
13 | You will also need the following for the 'Sign In' buttons.
14 |
15 | pip install requests_oauthlib
16 |
17 | ## Getting Started
18 |
19 | To set up a Techblog site, run the following:
20 |
21 | git clone git@github.com:moyaproject/moya-techblog.git
22 | cd moya-techblog/site
23 | moya init
24 |
25 | You can now run a development server with this command:
26 |
27 | moya runserver
28 |
29 | Navigate to http://127.0.0.1:8000 to see your blog.
30 |
31 | ## Deploy with Heroku
32 |
33 | Deploy directly to Heroku by clicking the following button (see [this blog post](https://www.willmcgugan.com/blog/tech/post/deploy-moya-tech-blog-with-heroku/) for more information).
34 |
35 | [](https://heroku.com/deploy?template=https://github.com/moyaproject/moya-techblog)
36 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Moya Tech Blog",
3 | "description": "A blogging engine for coders and photographers",
4 | "repository": "https://github.com/moyaproject/moya-techblog",
5 | "success_url": "/",
6 | "keywords": [
7 | "moya",
8 | "blog",
9 | "blogging",
10 | "photography"
11 | ],
12 | "scripts": {
13 | "postdeploy": "moya db sync && moya auth#cmd.init --username $SUPER_USER --password $SUPER_PASSWORD --email $SUPER_EMAIL && moya techblog#cmd.init --force"
14 | },
15 | "env": {
16 | "BLOG_TITLE": {
17 | "value": "Techblog",
18 | "description": "Title of your blog"
19 | },
20 | "SUPER_USER": {
21 | "value": "admin",
22 | "description": "Super user's username, enter your username here"
23 | },
24 | "SUPER_EMAIL": {
25 | "value": "",
26 | "description": "Enter your email address here"
27 | },
28 | "SUPER_PASSWORD": {
29 | "value": "admin",
30 | "description": "Super user's password (change it when you first log in)"
31 | },
32 | "MOYA_SECRET": {
33 | "description": "Some random characters for cookies and CSRF detection",
34 | "generator": "secret"
35 | },
36 | "MOYA_DEBUG": {
37 | "description": "Set to 'yes' to enable debug mode (you can enable it later if you need to)",
38 | "value": "no"
39 | },
40 | "MOYA_PROJECT": {
41 | "value": "/app/heroku",
42 | "description": "The /heroku directory contains custom setting for the Herokou platform"
43 | },
44 | "MOYA_PROJECT_INI": {
45 | "value": "heroku.ini",
46 | "description": "INI file to load settings from ('heroku.ini' for Heroki platform)"
47 | },
48 | "TECHBLOG_UPLOADS_LOCATION": {
49 | "value": "./__uploads__",
50 | "description": "filesystem for uploads, may be be directory or s3://S3_KEY:S3_SECRET@BUCKET"
51 | },
52 | "TECHBLOG_THUMBS_URL": {
53 | "value": "/uploads/",
54 | "description": "URL that serves uploaded media, should be '/uploads/' or S3 static URL"
55 | }
56 | },
57 | "addons": [
58 | "heroku-postgresql:hobby-dev"
59 | ]
60 | }
61 |
--------------------------------------------------------------------------------
/custom/logging.ini:
--------------------------------------------------------------------------------
1 | [logger:root]
2 | handlers=moyaconsole
3 |
4 | [logger:moya]
5 | level=DEBUG
6 |
7 | [logger:moya.startup]
8 |
9 | [logger:moya.signal]
10 |
11 | [logger:sqlalchemy.engine]
12 | handlers=moyaconsole
13 | level=WARN
14 | propagate=no
15 |
16 | [handler:moyaconsole]
17 | class=moya.logtools.MoyaConsoleHandler
18 | formatter=simple
19 | args=(sys.stdout,)
20 |
21 | [handler:stdout]
22 | class=StreamHandler
23 | formatter=simple
24 | args=(sys.stdout,)
25 |
26 | [formatter:simple]
27 | format=%(asctime)s:%(name)s:%(levelname)s: %(message)s
28 | datefmt=[%d/%b/%Y %H:%M:%S]
29 |
30 |
--------------------------------------------------------------------------------
/custom/moya:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/custom/moya
--------------------------------------------------------------------------------
/custom/settings.ini:
--------------------------------------------------------------------------------
1 |
2 | [customize]
3 | # Tell Moya to load and customize another project
4 | location = ../site/
5 | settings = settings.ini
6 |
7 |
8 | #[db:main]
9 | #engine = sqlite:///../site/basic.sqlite
10 | #echo = no
11 | #default = yes
12 |
13 |
14 |
--------------------------------------------------------------------------------
/heroku/heroku.ini:
--------------------------------------------------------------------------------
1 |
2 | [customize]
3 | # Tell Moya to load and customize another project
4 | location = ../site/
5 | settings = settings.ini
6 |
7 | [settings]
8 | title = $BLOG_TITLE
9 |
10 | [project]
11 | debug = $MOYA_DEBUG
12 | preflight = no
13 | secret = $MOYA_SECRET
14 |
15 | [console]
16 | color = no
17 | logger = moya.console
18 |
19 | [db:main]
20 | # Heroku sets a DATABASE_URL environment variable, which happens to be in the format we need
21 | # Moya expands this automatically
22 | engine = $DATABASE_URL
23 | echo = no
24 | default = yes
25 |
26 | [fs:uploads]
27 | # Uploads location
28 | location = $TECHBLOG_UPLOADS_LOCATION
29 | create = yes
30 |
31 | [settings:thumbs]
32 | serve_url = $TECHBLOG_THUMBS_URL
33 | app_serve =
34 |
35 | # Store caches in Heroku's ephemeral filesystem
36 |
37 | [cache:parser]
38 | # Cache used to store parsed expressions
39 | type = file
40 | namespace = parser
41 | location = ./__moyacache__
42 | compress = no
43 |
44 | [cache:templates]
45 | # Cache used to store compiled templates
46 | type = file
47 | debug = no
48 | namespace = templates
49 | location = ./__moyacache__
50 |
51 | [cache:fragment]
52 | # Cache used to store html fragments
53 | type = file
54 | namespace = fragment
55 | debug = no
56 | location = ./__moyacache__
57 |
58 | [cache:runtime]
59 | # Cache to store runtime data
60 | type = file
61 | location = ./__moyacache__
62 | namespace = runtime
63 | debug = no
64 |
--------------------------------------------------------------------------------
/heroku/logging.ini:
--------------------------------------------------------------------------------
1 | [logger:root]
2 | handers=stdout
3 |
4 | [logger:moya]
5 | level=DEBUG
6 |
7 | [logger:moya.request]
8 | handlers=stdout
9 | level=INFO
10 | propage=no
11 |
12 | [handler:stdout]
13 | class=StreamHandler
14 | formatter=simple
15 | args=(sys.stdout,)
16 |
17 | [formatter:simple]
18 | format=%(asctime)s:%(name)s:%(levelname)s: %(message)s
19 | datefmt=[%d/%b/%Y %H:%M:%S]
20 |
--------------------------------------------------------------------------------
/heroku/moya:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/heroku/moya
--------------------------------------------------------------------------------
/heroku/postdeploy.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | moya db sync
3 | moya auth#cmd.init --username $SUPER_USER --password $SUPER_PASSWORD --email $SUPER_EMAIL
4 | moya techblog#cmd.init --force
5 |
--------------------------------------------------------------------------------
/heroku/readme.txt:
--------------------------------------------------------------------------------
1 | This directory sets up the project for running on Heroku (http://www.heroku.com)
2 |
3 | The heroku.ini files tells Moya to load the project from site/ with custom settings for heroku
--------------------------------------------------------------------------------
/heroku/wsgi.py:
--------------------------------------------------------------------------------
1 | # encoding=UTF-8
2 | from __future__ import unicode_literals
3 | from moya.wsgi import Application
4 |
5 | application = Application('./', ['heroku.ini'], server='main', logging='logging.ini')
6 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | gunicorn
2 | moya==0.5.30
3 | requests_oauthlib
4 | psycopg2
5 | boto
6 |
--------------------------------------------------------------------------------
/runtime.txt:
--------------------------------------------------------------------------------
1 | python-2.7.10
2 |
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 | from setuptools import setuptools
2 |
3 | VERSION = "0.1.0"
4 |
5 | setup(
6 | name='techblog',
7 | version=VERSION,
8 | description="Blog for Coders and Photographers",
9 | zip_safe=False,
10 | license="MIT",
11 | author="Will McGugan",
12 | author_email="willmcgugan@gmail.com",
13 | url="https://github.com/moyaproject/moya-techblog",
14 |
15 | entry_points={
16 | "console_scripts": [
17 | 'techblog = techblog:main'
18 | ]
19 |
20 | }
21 |
22 | )
--------------------------------------------------------------------------------
/site/data/readme.txt:
--------------------------------------------------------------------------------
1 | Static data (typically json files) may be placed here.
2 |
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/__init__.py:
--------------------------------------------------------------------------------
1 | # Required if you want to distribute your library as a Python module
2 |
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/docs/index.txt:
--------------------------------------------------------------------------------
1 | [title Font Awesome]
2 |
3 | This library bundles the [url http://fortawesome.github.io/Font-Awesome/]Font Awesome[/url] assets, which contain a large number of icons packed in to a font.
4 |
5 | You can include Font Awesome CSS by adding the following to your content:
6 |
7 | [code xml]
8 |
9 | [/code]
10 |
11 | Or, by adding the following directly to your base template:
12 |
13 | [code moyatemplate]
14 |
15 | [/code]
16 |
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = admin@moyaproject.com
4 | organization = Moya Project
5 | url = https://www.moyaproject.com
6 |
7 | [lib]
8 | title = Moya Font Awesome
9 | url = https://github.com/moyaproject/moya-fontawesome
10 | namespace = http://moyaproject.com/fontawesome
11 | name = moya.fontawesome
12 | # Set to 0.1.0 for your first release
13 | version = 0.1.2
14 |
15 | [settings]
16 |
17 | [media:media]
18 | location = ./media
19 |
20 | [locale]
21 | location = ./locale
22 | default_language = en
23 | languages = en
24 |
25 | [documentation]
26 | location = ./docs
27 |
28 | [package]
29 | exclude = __*__/*
30 | .*
31 | *.pyc
32 | .svn
33 | .hg
34 | .git
35 |
36 |
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/locale/readme.txt:
--------------------------------------------------------------------------------
1 | Translations go here. Use the 'moya extract' command to create message
2 | catalogs.
3 |
4 |
5 |
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/manifest.csv:
--------------------------------------------------------------------------------
1 | "path","md5","auth md5"
2 | "/lib.ini",dc2a0ca6a699089ce326dcb04bc07e19,ca007459d338d01aeeffe1f7b5227308
3 | "/__init__.py",e54925e1ed3818adfd6c00bffa62f89d,07f2dead3bac69c65db162b2f4aba71c
4 | "/locale/readme.txt",06c4fce01453459edb43d2857ebcc873,c44a09c4f28517782589988dd758c62e
5 | "/media/readme.txt",ca958e537f29bc260e179537ce151dba,77e93fe2d9cd8aa606d603a8dbe35e93
6 | "/media/fonts/fontawesome-webfont.woff",d9ee23d59d0e0e727b51368b458a0bff,63de4353dbb8e0cb0df73b9479141268
7 | "/media/fonts/fontawesome-webfont.woff2",97493d3f11c0a3bd5cbd959f5d19b699,ddc6d5d8e415a2e60cd93a8f6a41d644
8 | "/media/fonts/fontawesome-webfont.ttf",706450d7bba6374ca02fe167d86685cb,e7ca06fd720de96806d2280b494953b3
9 | "/media/fonts/fontawesome-webfont.svg",2980083682e94d33a66eef2e7d612519,206967a3e42b04c3978580f0c9e4c35f
10 | "/media/fonts/fontawesome-webfont.eot",f7c2b4b747b1a225eb8dee034134a1b0,72550ed3cf1555e8742fdd4c88e4e226
11 | "/media/fonts/FontAwesome.otf",0b462f5cc07779cab3bef252c0271f2b,a2d56f3bc1a318ad50082d9f9f88bc7d
12 | "/media/css/font-awesome.min.css",04425bbdc6243fc6e54bf8984fe50330,2f481a2e9ccda9ffdc43e9d255678efd
13 | "/media/css/font-awesome.css",3f05a51a1e5260f4179db8ca65307a6a,8b40b5b945fcf73792b94a0b5f6905b2
14 | "/docs/index.txt",b21709851b16e61fc0f02bed2d6f7642,3d4dc6f761ea5ef4c1de3b67520a334b
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/media/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.fontawesome/media/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.fontawesome/media/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/site/external/moya.fontawesome/media/readme.txt:
--------------------------------------------------------------------------------
1 | Put any shared media (css, JS etc) here
2 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/__init__.py:
--------------------------------------------------------------------------------
1 | # Required if you want to distribute your library as a Python module
2 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/docs/index.txt:
--------------------------------------------------------------------------------
1 | [title Moya Image Lib]
2 |
3 | Welcome to Moya Image Lib Documentation.
4 |
5 | [index]
6 | introduction
7 | [/index]
8 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/docs/introduction.txt:
--------------------------------------------------------------------------------
1 | [title Introduction]
2 |
3 | Test
4 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = will@willmcgugan.com
4 | organization = Moya Project
5 | url = http://willmcgugan.com
6 |
7 | [lib]
8 | location = ./logic
9 | title = Moya Imagelib
10 | url =
11 | namespace = http://moyaproject.com/imagelib
12 | name = moya.imagelib
13 | version = 1.0.24
14 |
15 | [settings]
16 | imagefs = uploads
17 | app_serve = serve_uploads
18 | thumbnails = #thumbnails.manager
19 |
20 | manage_permission = admin
21 | uploader_permission =
22 |
23 | manage_check =
24 | uploader_check = moya.imagelib#macro.uploader.check
25 |
26 | [templates]
27 | location = ./templates
28 |
29 | [media:media]
30 | location = ./media
31 |
32 | [locale]
33 | location = ./locale
34 | default_language = en
35 | languages = en
36 |
37 | [documentation]
38 | location = ./docs
39 |
40 | [package]
41 | exclude = __*__/*
42 | .*
43 | *.pyc
44 | .svn
45 | .hg
46 | .git
47 |
48 | [requires]
49 | install = moya.widgets.extra==0.1.0
50 | moya.thumbnail
51 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/locale/readme.txt:
--------------------------------------------------------------------------------
1 | Translations go here. Use the 'moya extract' command to create message
2 | catalogs.
3 |
4 |
5 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/admin.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
11 |
12 |
13 |
14 |
15 |
18 | ${object.uuid}
19 | ${object.slug or ''}
20 |
21 | Manage
22 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | ${object.uuid}
35 | ${object.title}
36 | ${object.created_time.local % "short"}
37 | ${object.uploaded_time.local % "short"}
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/content.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 | Hello, ${name}!
14 |
15 |
16 |
17 |
18 |
19 |
22 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/macros.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | default uploader check used, override with 'uploader_check' setting
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/mountpoints.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/signals.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
11 |
12 |
13 |
14 | deleted '${file}' from fs ${imagefs}
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/tags.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Clone an existing collection with new image objects referencing the original files
8 |
9 |
10 |
11 |
12 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/logic/thumbs.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/media/img/shade.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.imagelib/media/img/shade.png
--------------------------------------------------------------------------------
/site/external/moya.imagelib/media/img/transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.imagelib/media/img/transparent.png
--------------------------------------------------------------------------------
/site/external/moya.imagelib/media/readme.txt:
--------------------------------------------------------------------------------
1 | Put any shared media (css, JS etc) here
2 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/base.html:
--------------------------------------------------------------------------------
1 | {% extends "/base.html" %}
2 |
3 | {% block "body" %}
4 |
Moya Imagelib
5 |
6 | Created by moya start library
7 |
8 | {% render sections.body %}
9 |
10 | {% endblock %}
11 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/emptyoption.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ${text}
5 |
6 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/imglist.html:
--------------------------------------------------------------------------------
1 | {% for img in collection.images %}
2 |
3 | {% endfor %}
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/managerbase.html:
--------------------------------------------------------------------------------
1 | {% extends "wide.html" from "moya.twitter.bootstrap" %}
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/option.html:
--------------------------------------------------------------------------------
1 |
2 | {% if img.file %}
3 |
4 | {% endif %}
5 |
6 | ${img.title}
7 | ${img.width} x ${img.height} pixels
8 |
9 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/manager/fragments/progress.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/manager/image_form.html:
--------------------------------------------------------------------------------
1 | {# rendered in an rpc call #}
2 | {% if image %}
3 |
4 |
5 |
6 |
7 |
8 |
9 |
${image.title}
10 |
11 |
12 | Dimensions
13 | ${image.width} x ${image.height} pixels
14 |
15 | {%- if image.filesize %}
16 | Filesize
17 | ${filesize:image.filesize} (${image.filesize::','} bytes)
18 | {%- endif %}
19 |
20 | {%- if image.owner %}
21 | Uploaded by
22 | ${image.owner.username}
23 | {% endif %}
24 |
25 | {%- if image.uploaded_time %}
26 | Uploaded time
27 | ${localize:image.uploaded_time}
28 | {%- end-if %}
29 |
30 | Original filename
31 | ${image.original_filename}
32 |
33 |
34 |
35 |
36 |
{% render form %}
37 |
38 | {% else %}
39 |
40 |
41 | The image was not found.
42 |
43 | It may have been deleted. Try reloading the page.
44 |
45 |
46 |
47 |
48 | Back to Manager
49 |
50 |
51 |
52 |
53 | {% endif %}
54 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/manager/manager_image.html:
--------------------------------------------------------------------------------
1 | {% if image.file %}
2 | {% spaceless %}
3 |
4 | {%- if edit %}
5 |
✎
6 | {%- endif %}
7 |
8 |
9 | {% end %}
10 | {% endif %}
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/picker/picker.html:
--------------------------------------------------------------------------------
1 | Picker
2 |
3 |
4 |
5 |
6 | {% with img=current %}
7 |
8 |
9 | ${img.title}
10 |
11 | {% end-with %}
12 |
13 |
14 |
15 | {% for img in images %}
16 |
17 |
18 |
19 | ${img.title}
20 |
21 |
22 | {% end-for %}
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain templates for widgets defined in the library.
2 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/uploader/uploader.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
20 | ×
21 | Image upload failed —
22 |
23 |
24 |
--------------------------------------------------------------------------------
/site/external/moya.imagelib/templates/moya.imagelib/widgets/uploader/uploader_image.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/site/external/moya.logins/__init__.py:
--------------------------------------------------------------------------------
1 | # Required if you want to distribute your library as a Python module
2 |
--------------------------------------------------------------------------------
/site/external/moya.logins/docs/index.txt:
--------------------------------------------------------------------------------
1 | [title Moya Logins]
2 |
3 | Moya Logins adds the ability to log in to your Moya web application with external providers such as Google, Facebook and Twitter.
4 |
5 | [index]
6 | introduction
7 | configuration
8 | development
9 | [/index]
10 |
--------------------------------------------------------------------------------
/site/external/moya.logins/docs/introduction.txt:
--------------------------------------------------------------------------------
1 | [title Introduction]
2 |
3 | Moya Logins enables external Sign In buttons, which allow a user to log in with credentials from one of a number of popular services, such as Google and Facebook.
4 |
5 | This means that a user can create a new account and login without having to fill in a sign up form, which can increase the number of Sign Ups you get.
6 |
7 | The technology behind this feature is known as OAuth and comes in two versions; OAuth 1 and OAuth 2. Moya Logins supports both.
--------------------------------------------------------------------------------
/site/external/moya.logins/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = willmcgugan@gmail.com
4 | organization = Moya Project
5 | url = http://moyaproject.com
6 |
7 | [lib]
8 | location = ./logic
9 | title = Moya Logins
10 | url =
11 | namespace = http://moyaproject.com/logins
12 | name = moya.logins
13 | # Set to 0.1.0 for your first release
14 | version = 0.1.6-dev.8
15 |
16 | [settings]
17 | pick_username = yes
18 |
19 | [templates]
20 | location = ./templates
21 |
22 | [media:media]
23 | location = ./media
24 |
25 | [data]
26 | location = ./data
27 |
28 | [py:oauth1]
29 | location = ./py
30 |
31 | [py:oauth2]
32 | location = ./py
33 |
34 | [locale]
35 | location = ./locale
36 | default_language = en
37 | languages = en
38 |
39 | [documentation]
40 | location = ./docs
41 |
42 | [package]
43 | exclude = __*__/*
44 | .*
45 | *.pyc
46 | .svn
47 | .hg
48 | .git
49 |
50 | [requires]
51 | install = moya.fontawesome
52 |
--------------------------------------------------------------------------------
/site/external/moya.logins/locale/readme.txt:
--------------------------------------------------------------------------------
1 | Translations go here. Use the 'moya extract' command to create message
2 | catalogs.
3 |
4 |
5 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/admin.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
11 |
12 |
13 |
14 |
15 |
16 |
20 |
21 |
22 |
23 |
24 |
27 | ${object.provider}
28 |
29 |
30 |
31 |
34 | ${object.user.username}/${object.provider}
35 | ${object.user.username}
36 | ${object.provider}
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/commands.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | [provider=${name}]
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/customize.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 | New Comment
11 |
12 |
13 |
14 |
15 | **Your comment has been saved**
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/macros.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Provider name
13 |
14 |
15 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Provider name
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | Unable to read provider information: ${error.msg}
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/models.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/mountpoints.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/preflight.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 | moya.logins is not mounted.
9 | Add a <mount> tag to your sever.xml, or set the 'mount' attribute on the <install> tag.
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/site/external/moya.logins/logic/widgets.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | A login button
8 |
9 |
10 | Name of a registered provider
11 |
12 |
13 | URL to redirect to if login is successful
14 |
15 |
16 | Extra class(es) for button
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/site/external/moya.logins/media/css/logins.css:
--------------------------------------------------------------------------------
1 | .moya-logins-pick-username .form-group:last-child
2 | {
3 | margin-bottom:0px;
4 | }
--------------------------------------------------------------------------------
/site/external/moya.logins/media/readme.txt:
--------------------------------------------------------------------------------
1 | Put any shared media (css, JS etc) here
2 |
--------------------------------------------------------------------------------
/site/external/moya.logins/py/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.logins/py/__init__.py
--------------------------------------------------------------------------------
/site/external/moya.logins/requirements.txt:
--------------------------------------------------------------------------------
1 | requests_oauthlib
2 |
--------------------------------------------------------------------------------
/site/external/moya.logins/templates/moya.auth/login_container.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {% children %}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/site/external/moya.logins/templates/moya.logins/admin/provider.html:
--------------------------------------------------------------------------------
1 |
2 |
${name}
3 |
4 | {% children %}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/site/external/moya.logins/templates/moya.logins/base.html:
--------------------------------------------------------------------------------
1 | {% extends "/base.html" %}
2 |
3 | {% block "body" %}
4 | Moya OpenID
5 |
6 | Created by moya start library
7 |
8 | {% render sections.body %}
9 |
10 | {% endblock %}
11 |
--------------------------------------------------------------------------------
/site/external/moya.logins/templates/moya.logins/widgets/login-button.html:
--------------------------------------------------------------------------------
1 |
2 | Sign in with ${provider.title}
3 |
--------------------------------------------------------------------------------
/site/external/moya.logins/templates/moya.logins/widgets/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain templates for widgets defined in the library.
2 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/__init__.py:
--------------------------------------------------------------------------------
1 | # Required if you want to distribute your library as a Python module
2 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/docs/index.txt:
--------------------------------------------------------------------------------
1 | [title Moya Image Lib]
2 |
3 | Welcome to Moya Image Lib Documentation.
4 |
5 | [index]
6 | introduction
7 | [/index]
8 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/docs/introduction.txt:
--------------------------------------------------------------------------------
1 | [title Introduction]
2 |
3 | Test
4 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = will@willmcgugan.com
4 | organization = Moya Project
5 | url = http://willmcgugan.com
6 |
7 | [lib]
8 | location = ./logic
9 | title = Moya Imagelib
10 | url =
11 | namespace = http://moyaproject.com/imagelib
12 | name = moya.imagelib
13 | version = 1.0.24
14 |
15 | [settings]
16 | imagefs = uploads
17 | app_serve = serve_uploads
18 | thumbnails = #thumbnails.manager
19 |
20 | manage_permission = admin
21 | uploader_permission =
22 |
23 | manage_check =
24 | uploader_check = moya.imagelib#macro.uploader.check
25 |
26 | [templates]
27 | location = ./templates
28 |
29 | [media:media]
30 | location = ./media
31 |
32 | [locale]
33 | location = ./locale
34 | default_language = en
35 | languages = en
36 |
37 | [documentation]
38 | location = ./docs
39 |
40 | [package]
41 | exclude = __*__/*
42 | .*
43 | *.pyc
44 | .svn
45 | .hg
46 | .git
47 |
48 | [requires]
49 | install = moya.widgets.extra==0.1.0
50 | moya.thumbnail
51 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/locale/readme.txt:
--------------------------------------------------------------------------------
1 | Translations go here. Use the 'moya extract' command to create message
2 | catalogs.
3 |
4 |
5 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/admin.xml:
--------------------------------------------------------------------------------
1 |
8 |
9 |
11 |
12 |
13 |
14 |
15 |
18 | ${object.uuid}
19 | ${object.slug or ''}
20 |
21 | Manage
22 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | ${object.uuid}
35 | ${object.title}
36 | ${object.created_time.local % "short"}
37 | ${object.uploaded_time.local % "short"}
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/content.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 | Hello, ${name}!
14 |
15 |
16 |
17 |
18 |
19 |
22 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/macros.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | default uploader check used, override with 'uploader_check' setting
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/mountpoints.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/signals.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
11 |
12 |
13 |
14 | deleted '${file}' from fs ${imagefs}
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/tags.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 | Clone an existing collection with new image objects referencing the original files
8 |
9 |
10 |
11 |
12 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/logic/thumbs.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/media/img/shade.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.thumbnail/media/img/shade.png
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/media/img/transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/site/external/moya.thumbnail/media/img/transparent.png
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/media/readme.txt:
--------------------------------------------------------------------------------
1 | Put any shared media (css, JS etc) here
2 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/base.html:
--------------------------------------------------------------------------------
1 | {% extends "/base.html" %}
2 |
3 | {% block "body" %}
4 | Moya Imagelib
5 |
6 | Created by moya start library
7 |
8 | {% render sections.body %}
9 |
10 | {% endblock %}
11 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/emptyoption.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ${text}
5 |
6 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/imglist.html:
--------------------------------------------------------------------------------
1 | {% for img in collection.images %}
2 |
3 | {% endfor %}
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/managerbase.html:
--------------------------------------------------------------------------------
1 | {% extends "wide.html" from "moya.twitter.bootstrap" %}
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/option.html:
--------------------------------------------------------------------------------
1 |
2 | {% if img.file %}
3 |
4 | {% endif %}
5 |
6 | ${img.title}
7 | ${img.width} x ${img.height} pixels
8 |
9 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/manager/fragments/progress.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/manager/image_form.html:
--------------------------------------------------------------------------------
1 | {# rendered in an rpc call #}
2 | {% if image %}
3 |
4 |
5 |
6 |
7 |
8 |
9 |
${image.title}
10 |
11 |
12 | Dimensions
13 | ${image.width} x ${image.height} pixels
14 |
15 | {%- if image.filesize %}
16 | Filesize
17 | ${filesize:image.filesize} (${image.filesize::','} bytes)
18 | {%- endif %}
19 |
20 | {%- if image.owner %}
21 | Uploaded by
22 | ${image.owner.username}
23 | {% endif %}
24 |
25 | {%- if image.uploaded_time %}
26 | Uploaded time
27 | ${localize:image.uploaded_time}
28 | {%- end-if %}
29 |
30 | Original filename
31 | ${image.original_filename}
32 |
33 |
34 |
35 |
36 |
{% render form %}
37 |
38 | {% else %}
39 |
40 |
41 | The image was not found.
42 |
43 | It may have been deleted. Try reloading the page.
44 |
45 |
46 |
47 |
48 | Back to Manager
49 |
50 |
51 |
52 |
53 | {% endif %}
54 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/manager/manager_image.html:
--------------------------------------------------------------------------------
1 | {% if image.file %}
2 | {% spaceless %}
3 |
4 | {%- if edit %}
5 |
✎
6 | {%- endif %}
7 |
8 |
9 | {% end %}
10 | {% endif %}
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/picker/picker.html:
--------------------------------------------------------------------------------
1 | Picker
2 |
3 |
4 |
5 |
6 | {% with img=current %}
7 |
8 |
9 | ${img.title}
10 |
11 | {% end-with %}
12 |
13 |
14 |
15 | {% for img in images %}
16 |
17 |
18 |
19 | ${img.title}
20 |
21 |
22 | {% end-for %}
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain templates for widgets defined in the library.
2 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/uploader/uploader.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
20 | ×
21 | Image upload failed —
22 |
23 |
24 |
--------------------------------------------------------------------------------
/site/external/moya.thumbnail/templates/moya.imagelib/widgets/uploader/uploader_image.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/__init__.py:
--------------------------------------------------------------------------------
1 | # Required if you want to distribute your library as a Python module
2 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/docs/index.txt:
--------------------------------------------------------------------------------
1 | [title Documentation Index]
2 | Welcome to Moya Extra Widgets documentation
3 |
4 | This library adds additional widgets to Moya's built-in widgets library
5 |
6 | [index]
7 | introduction
8 | [/index]
9 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/docs/introduction.txt:
--------------------------------------------------------------------------------
1 | [title Introduction]
2 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = willmcgugan@gmail.com
4 | organization = Moya Project
5 | url = http://moyaproject.com
6 |
7 | [lib]
8 | location = ./logic
9 | title = Moya Widgets Extra
10 | url = http://moyaproject.com
11 | namespace = http://moyaproject.com/widgets
12 | name = moya.widgets.extra
13 | # Set to 0.1.0 for your first release
14 | version = 0.1.0
15 |
16 | [settings]
17 |
18 | [templates]
19 | location = ./templates
20 |
21 | [media:media]
22 | location = ./media
23 |
24 | [locale]
25 | location = ./locale
26 | default_language = en
27 | languages = en
28 |
29 | [documentation]
30 | location = ./docs
31 |
32 | [package]
33 | exclude = __*__/*
34 | .*
35 | *.pyc
36 | .svn
37 | .hg
38 | .git
39 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/locale/readme.txt:
--------------------------------------------------------------------------------
1 | Translations go here. Use the 'moya extract' command to create message
2 | catalogs.
3 |
4 |
5 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/content.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 | Hello, ${name}!
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/forms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/models.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/mountpoints.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/readme.txt:
--------------------------------------------------------------------------------
1 | Moya code goes here
2 |
3 | The filenames used here are just a suggestion of how to organize your Moya code
4 | -- all files with the extension .xml will be read.
5 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/signals.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/tags.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/views.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/logic/widgets.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | .moya-widgets-select,.moya-widgets-select-current
20 | {
21 | border-color: ${.theme.colors.border.normal};
22 | }
23 | .moya-widgets-option:hover
24 | {
25 | background-color:${.theme.colors.highlight.bg};
26 | color:${.theme.colors.highlight.fg};
27 | }
28 | .moya-widgets-select .moya-widgets-option.active
29 | {
30 | background-color:${.theme.colors.selected.bg};
31 | color:${.theme.colors.selected.fg};
32 | }
33 | .moya-widgets-select-container.focused .moya-widgets-select
34 | {
35 | border-color:${.theme.colors.border.focused};
36 | }
37 |
38 |
39 | $("#${id}").moyaSelect(${json:options});
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/manifest.csv:
--------------------------------------------------------------------------------
1 | "path","md5","auth md5"
2 | "/__init__.py",e54925e1ed3818adfd6c00bffa62f89d,07f2dead3bac69c65db162b2f4aba71c
3 | "/docs/index.txt",d095cc258282eaf936b3553d7cc76323,c964693a0969994b1a6120af46df6235
4 | "/docs/introduction.txt",6e757242abcd892c46a7cd0e5a664b31,c9fd815572b2543c78022bbe4fc917b4
5 | "/lib.ini",4a6a11d8fd0cc6aa76a21a5e286d98d4,7eb9c8ccde60c7f32c90ec16a8d320b9
6 | "/locale/readme.txt",06c4fce01453459edb43d2857ebcc873,c44a09c4f28517782589988dd758c62e
7 | "/logic/content.xml",bd37bd718ddc4f838205b547cbf9bc99,d1bd5ea77d462248f73a1ed8dbf9123f
8 | "/logic/forms.xml",291092bfcc128aae063f1ea974c21cc5,45707742181ca26591caec1b3b2b3ad5
9 | "/logic/models.xml",790e476f895f35ac44578bc4d726ab46,72f47ec38da5ef07af86805c412c9723
10 | "/logic/mountpoints.xml",3691a4def0b78c0676a390e30c6443ad,32d62ff8c338f32b0b13eecc979d4fb4
11 | "/logic/readme.txt",c9b6ae3a72d38bce525f828d88a29f78,6c8d877e335ec732a80091f9f7990aa9
12 | "/logic/signals.xml",b4bd529963cd7022f1c19af0060f1632,cb5ef45fdca0ef9471b8e950f07d298c
13 | "/logic/tags.xml",0e11b0ce2f7190bb982d19ab3e16f2f1,3debb8c9dc093d7013cce880abb812d6
14 | "/logic/views.xml",0c83e921235f59881913a520dce80714,52632a4329d0f54e4151acbd83fcfc7f
15 | "/logic/widgets.xml",7137963b1b9d0ffc818cbf2c7bfae7fd,8f96096111a84890621f0f8ea8309147
16 | "/media/css/widgetsextra.css",03776b613a1176d6aee4aea6b73858f9,d0a35542434dd2501156b3a1d85130e3
17 | "/media/js/widgetsextra.js",ca3e2b7996f52bf96aeed00b02996161,e4c6b4fc898bd81634ba5e2c99849bc5
18 | "/media/readme.txt",ca958e537f29bc260e179537ce151dba,77e93fe2d9cd8aa606d603a8dbe35e93
19 | "/templates/moya.widgets.extra/base.html",c1b899c16cba897d3c784615565ada5d,5233bf13d4a3e007fc7d6d8336d45cb0
20 | "/templates/moya.widgets.extra/widgets/option.html",7f4370b412c47ed7038546989488e56d,1357589cd16d6f967a4d391c99b5d937
21 | "/templates/moya.widgets.extra/widgets/readme.txt",3dbbc17a918596cb8b229d7d55bb33b9,e155f352f63950a54b4ac0bfa6bd35a8
22 | "/templates/moya.widgets.extra/widgets/select-drop.html",245dc143bd8bb9155849634e43b2fe6f,322444c0964dcf15d9d97ee030e91870
23 | "/templates/moya.widgets.extra/widgets/select.html",a25fb00c223060ca45f03f07ecd3fc71,9abdd05e4dddd61f63f96730e239f978
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/media/css/widgetsextra.css:
--------------------------------------------------------------------------------
1 | .moya-widgets-select,.moya-widgets-select-current
2 | {
3 | border:1px solid #ccc;
4 | z-index:10;
5 | background-color:#fff;
6 | /*margin-top:4px;*/
7 | border-radius:3px;
8 | padding:0px 0px;
9 | overflow:auto;
10 | max-height:300px;
11 | /*display:inline-block;*/
12 | }
13 |
14 | .moya-widgets-option
15 | {
16 | padding:5px 10px;
17 | }
18 |
19 | .moya-widgets-select-container[disabled=disabled]
20 | {
21 | opacity: 0.5;
22 | cursor:auto;
23 | }
24 |
25 | .moya-widgets-option:hover
26 | {
27 | background-color:#f4f4f4;
28 | cursor:pointer;
29 | }
30 |
31 | .moya-widgets-select-container[disabled=disabled] .moya-widgets-option:hover
32 | {
33 | cursor:auto;
34 | background-color:inherit;
35 | }
36 |
37 | .moya-widgets-select .moya-widgets-option.active
38 | {
39 | background-color:#428bca;
40 | opacity:.7;
41 | }
42 |
43 | .moya-widgets-select .moya-widgets-option.active *
44 | {
45 | color:#fff !important;
46 | }
47 |
48 | .moya-widgets-select-container.focused .moya-widgets-option.active
49 | {
50 | opacity:1;
51 | }
52 |
53 | .moya-widgets-select-current
54 | {
55 | position:relative;
56 | -webkit-transform-style: preserve-3d;
57 | -moz-transform-style: preserve-3d;
58 | transform-style: preserve-3d;
59 | }
60 |
61 | .moya-widgets-select-current:before
62 | {
63 | content:'\25bc';
64 | position:absolute;
65 | right:0.6em;
66 | top: 50%;
67 | transform: translateY(-50%);
68 | }
69 |
70 | .moya-widgets-select-container
71 | {
72 | position:relative;
73 | margin:0px;
74 | padding:0px;
75 | padding-top:5px;
76 | }
77 |
78 | .moya-widgets-select-container .moya-widgets-select-current
79 | {
80 | }
81 |
82 | .moya-widgets-select-container .moya-widgets-select
83 | {
84 | display:none;
85 | }
86 |
87 | .moya-widgets-select-container.focused .moya-widgets-select-current
88 | {
89 | /*display:none;*/
90 | visibility: hidden;
91 | }
92 |
93 | .moya-widgets-select-container.focused .moya-widgets-select
94 | {
95 | display:block;
96 | position:absolute;
97 | z-index:5;
98 | top:5px;
99 | }
100 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/media/readme.txt:
--------------------------------------------------------------------------------
1 | Put any shared media (css, JS etc) here
2 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/templates/moya.widgets.extra/base.html:
--------------------------------------------------------------------------------
1 | {% extends "/base.html" %}
2 |
3 | {% block "body" %}
4 | Moya Widgets Extra
5 |
6 | Created by moya start library
7 |
8 | {% render sections.body %}
9 |
10 | {% endblock %}
11 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/templates/moya.widgets.extra/widgets/option.html:
--------------------------------------------------------------------------------
1 |
2 | {%- children -%}
3 |
4 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/templates/moya.widgets.extra/widgets/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain templates for widgets defined in the library.
2 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/templates/moya.widgets.extra/widgets/select-drop.html:
--------------------------------------------------------------------------------
1 | {%- let active_index=0, disabled=disabled or not bool:self.children -%}
2 | {%- for index, child in enumerate:self.children %}
3 | {%- if field.value == str:child.value %}{% let active_index=index %}{% end-if %}
4 | {%- end-for %}
5 |
6 |
29 |
--------------------------------------------------------------------------------
/site/external/moya.widgets.extra/templates/moya.widgets.extra/widgets/select.html:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/site/external/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain libraries that are external (i.e. authored
2 | elsewhere).
3 | The moya command line app installs libraries to this location.
4 |
5 | NB. If you make local edits to these files, the moya command line app may end
6 | up overwriting them!
7 |
--------------------------------------------------------------------------------
/site/external/update.sh:
--------------------------------------------------------------------------------
1 | cp -rf /home/will/projects/moyaimagelib/moya.imagelib .
2 | cp -rf /home/will/projects/widgetsx/moya.widgets.extra .
3 | moya runserver -t --host 0.0.0.0
4 |
--------------------------------------------------------------------------------
/site/local/readme.txt:
--------------------------------------------------------------------------------
1 | This folder should contain libraries that are local to the project, i.e.
2 | authored by yourself or organization.
3 |
--------------------------------------------------------------------------------
/site/logging.ini:
--------------------------------------------------------------------------------
1 | [logger:root]
2 | handlers=moyaconsole
3 |
4 | [logger:moya]
5 | level=DEBUG
6 |
7 | [logger:moya.startup]
8 |
9 | [logger:moya.signal]
10 |
11 | [logger:sqlalchemy.engine]
12 | handlers=moyaconsole
13 | #level=DEBUG
14 | level=WARNING
15 | propagate=no
16 |
17 | [handler:moyaconsole]
18 | class=moya.logtools.MoyaConsoleHandler
19 | formatter=simple
20 | args=(sys.stdout,)
21 |
22 | [handler:stdout]
23 | class=StreamHandler
24 | formatter=simple
25 | args=(sys.stdout,)
26 |
27 | [formatter:simple]
28 | format=%(asctime)s:%(name)s:%(levelname)s: %(message)s
29 | datefmt=[%d/%b/%Y %H:%M:%S]
30 |
31 |
--------------------------------------------------------------------------------
/site/logic/readme.txt:
--------------------------------------------------------------------------------
1 | This folder contains the first XML files read by Moya, which will typically
2 | contain one or more declarations.
3 |
--------------------------------------------------------------------------------
/site/moya:
--------------------------------------------------------------------------------
1 | # The presence of this file indicates that this directory is a top-level moya project.
2 | #
3 | # The command line tool will look for this in the current directory and ancestors.
4 | #
5 | # Although the contents of this file are not currently read by Moya, in the future this file may be an INI file
6 |
--------------------------------------------------------------------------------
/site/prodlogging.ini:
--------------------------------------------------------------------------------
1 | # Logging conf for production
2 | # Only errors and request information is written to stdout
3 |
4 | extends = logging.ini
5 |
6 | [logger:root]
7 | handlers=null
8 |
9 | [logger:moya]
10 | handlers=syslog
11 | level=ERROR
12 | propagate=no
13 |
14 | [logger:moya.request]
15 | level=INFO
16 | handlers=syslog
17 | propagate=no
18 |
19 | [formatter:syslog]
20 | format=:%(name)s:%(levelname)s: %(message)s
21 | datefmt=[%d/%b/%Y %H:%M:%S]
22 |
23 | [handler:syslog]
24 | formatter = syslog
25 | class = logging.handlers.SysLogHandler
26 |
27 | # Most Linuxes
28 | args = ('/dev/log',)
29 |
30 | # OSX
31 | # args = ('/var/run/syslog',)
32 |
33 | # Windows
34 | # args = ()
35 |
36 |
--------------------------------------------------------------------------------
/site/production.ini:
--------------------------------------------------------------------------------
1 | extends=basesettings.ini
2 |
3 | [project]
4 | debug = no
5 | preflight = no
6 |
7 |
8 | # Change this to your production database
9 | [db:main]
10 | engine = sqlite:///basic.sqlite
11 | echo = no
12 | default = yes
13 |
14 |
--------------------------------------------------------------------------------
/site/readme.txt:
--------------------------------------------------------------------------------
1 | Getting Started
2 | ===============
3 |
4 | This file was created by running the command 'moya start project'. The other
5 | files in this directory contain a Moya project tailored to your requirements,
6 | based on your responses to the start project command.
7 |
8 | There are a few quick steps you need to run before you can begin developing
9 | your website. If you haven't already done so, open up a terminal and navigate
10 | to the same directory that contains this file.
11 |
12 | If you opted for a database, review the database settings in 'settings.ini'.
13 | The default settings will automatically create an sqlite database in this
14 | directory.
15 |
16 | After you have reviewed the database settings run the following command to
17 | 'synchronize' the database (i.e. create required tables):
18 |
19 | moya db sync
20 |
21 | If you enabled Moya auth support, run the following command to create initial
22 | permissions / groups and an admin user:
23 |
24 | moya auth#cmd.init
25 |
26 | Use the following command to run a development server:
27 |
28 | moya runserver
29 |
30 | If all goes well, Moya will let you know it is serving your web site. Point
31 | your browser at http://127.0.0.1:8000 to see it.
32 |
33 | See http://moyaproject.com/gettingstarted/ for more information.
34 |
--------------------------------------------------------------------------------
/site/settings.ini:
--------------------------------------------------------------------------------
1 | extends=basesettings.ini
2 |
3 | [project]
4 | debug = yes
5 | preflight = yes
6 | log_signals = no
7 | develop = no
8 |
9 | [autoreload]
10 | enabled = yes
11 | extensions = .xml
12 | .ini
13 | .py
14 | .html
15 | .txt
16 | location = ../
17 |
18 |
19 | # an SQLite database is useful for development
20 | [db:main]
21 | engine = sqlite:///basic.sqlite
22 | echo = no
23 | default = yes
24 |
25 |
--------------------------------------------------------------------------------
/site/site/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = willmcgugan@gmail.com
4 | url = http://www.willmcgugan.com
5 | organization = Will McGugan
6 |
7 | [lib]
8 | title = Moya Techblog
9 | url = /
10 | namespace =
11 | name = site.moya-techblog
12 | location = ./logic
13 | version = 0.1
14 |
15 | [locale]
16 | location = ./locale
17 | default_language = en
18 | languages = en
19 |
20 |
--------------------------------------------------------------------------------
/site/site/locale/readme.txt:
--------------------------------------------------------------------------------
1 | Internationalization files go here.
2 |
3 |
--------------------------------------------------------------------------------
/site/site/logic/content.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/site/site/logic/data.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/site/site/logic/mountpoints.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/site/site/logic/readme.txt:
--------------------------------------------------------------------------------
1 | XML files go in here.
2 |
3 | The filenames used here are just a suggestion of how to organize your Moya code
4 | -- all files with the extension .xml will be read.
5 |
--------------------------------------------------------------------------------
/site/site/readme.txt:
--------------------------------------------------------------------------------
1 | This folder contains the 'site' library. The site library is for functionality
2 | that is highly specific to the site, and is generally used to customize
3 | functionality of other libraries.
4 |
--------------------------------------------------------------------------------
/site/static/auth-media/css/auth.css:
--------------------------------------------------------------------------------
1 | .moya-auth-signin .form-group:last-child
2 | {
3 | margin-bottom:0px;
4 | }
5 |
6 | .btn-social>:first-child
7 | {
8 | margin-top:4px;
9 | }
10 |
--------------------------------------------------------------------------------
/site/static/readme.txt:
--------------------------------------------------------------------------------
1 | The contents of this directory will be served as static files by the
2 | moya.static library (including this file)!
3 | If you have directory listing enabled, you can see what files are served by
4 | visiting the /static/ url in your browser.
5 |
--------------------------------------------------------------------------------
/site/templates/base.html:
--------------------------------------------------------------------------------
1 | {% extends "starter.html" from "moya.twitter.bootstrap" %}
--------------------------------------------------------------------------------
/site/templates/email/base.html:
--------------------------------------------------------------------------------
1 | {%- block "content" %}{% endblock -%}
2 | --
3 | ${.settings.project_title}
--------------------------------------------------------------------------------
/site/templates/email/base.txt:
--------------------------------------------------------------------------------
1 | {%- block "content" %}{% endblock -%}
2 | --
3 | ${.settings.project_title}
4 |
--------------------------------------------------------------------------------
/site/templates/readme.txt:
--------------------------------------------------------------------------------
1 | This folder contains site-wide templates, typically used to customize the look
2 | and feel of the site.
3 |
--------------------------------------------------------------------------------
/site/themes/default.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors":
3 | {
4 | "text":
5 | {
6 | "fg": "#333",
7 | "bg": "white"
8 | },
9 | "highlight":
10 | {
11 | "fg": "#333",
12 | "bg": "#eee"
13 | },
14 | "selected":
15 | {
16 | "fg": "#fff",
17 | "bg": "#2780e3"
18 | },
19 | "border":
20 | {
21 | "normal": "#ccc",
22 | "focused": "#ddd"
23 | }
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/site/wsgi.py:
--------------------------------------------------------------------------------
1 | # encoding=UTF-8
2 | from __future__ import unicode_literals
3 | from moya.wsgi import Application
4 |
5 | application = Application('./', ['local.ini', 'production.ini'], server='main', logging='prodlogging.ini')
6 |
--------------------------------------------------------------------------------
/techblog.py:
--------------------------------------------------------------------------------
1 | # encoding=UTF-8
2 | from __future__ import unicode_literals
3 |
4 | import sys
5 |
6 | import moya
7 | from moya.wsgi import Application
8 | from moya.command.app import main
9 |
10 | application = Application('./', ['local.ini', 'production.ini'], server='main', logging='prodlogging.ini')
11 |
--------------------------------------------------------------------------------
/techblog/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/techblog/__init__.py
--------------------------------------------------------------------------------
/techblog/app.py:
--------------------------------------------------------------------------------
1 | # encoding=UTF-8
2 | from __future__ import unicode_literals
3 |
4 | import sys
5 |
6 | from moya.command.app import main
7 |
8 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/willmcgugan.techblog/__init__.py
--------------------------------------------------------------------------------
/willmcgugan.techblog/data/willmcgugan.techblog/feed_description_sanitize.json:
--------------------------------------------------------------------------------
1 | {
2 | "tags":
3 | [
4 | "a",
5 | "abbr",
6 | "acronym",
7 | "b",
8 | "blockquote",
9 | "pre",
10 | "code",
11 | "em",
12 | "i",
13 | "li",
14 | "ol",
15 | "strong",
16 | "ul",
17 | "p",
18 | "br",
19 | "h1",
20 | "h2",
21 | "h3",
22 | "h4",
23 | "h5",
24 | "img",
25 | "caption",
26 | "figcaption",
27 | "div",
28 | "iframe"
29 | ],
30 | "attributes":
31 | {
32 | "a": ["href", "title"],
33 | "abbr": ["title"],
34 | "acronym": ["title"],
35 | "code": ["class"],
36 | "img": ["title", "src"],
37 | "iframe": ["width", "height", "src", "frameborder", "allowfullscreen"]
38 | },
39 | "styles":
40 | [
41 | ],
42 | "values":
43 | {
44 | "class":
45 | [
46 | "language-python",
47 | "language-xml",
48 | "language-html",
49 | "language-css",
50 | "language-c",
51 | "language-cpp",
52 | "language-javascript",
53 | "language-ruby"
54 | ]
55 | },
56 | "strip": true,
57 | "strip_comments": true
58 | }
59 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/data/willmcgugan.techblog/sanitize_rules.json:
--------------------------------------------------------------------------------
1 | {
2 | "tags":
3 | [
4 | "a",
5 | "abbr",
6 | "acronym",
7 | "b",
8 | "blockquote",
9 | "pre",
10 | "code",
11 | "em",
12 | "i",
13 | "li",
14 | "ol",
15 | "strong",
16 | "ul",
17 | "p",
18 | "br",
19 | "h1",
20 | "h2",
21 | "h3",
22 | "h4",
23 | "h5"
24 | ],
25 | "attributes":
26 | {
27 | "a": ["href", "title"],
28 | "abbr": ["title"],
29 | "acronym": ["title"],
30 | "code": ["class"]
31 | },
32 | "styles":
33 | [
34 | ],
35 | "values":
36 | {
37 | "class":
38 | [
39 | "language-python",
40 | "language-xml",
41 | "language-html",
42 | "language-css",
43 | "language-c",
44 | "language-cpp",
45 | "language-javascript",
46 | "language-ruby"
47 | ]
48 | },
49 | "strip": false,
50 | "strip_comments": true
51 | }
52 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/lib.ini:
--------------------------------------------------------------------------------
1 | [author]
2 | name = Will McGugan
3 | email = will@moyaproject.com
4 | organization = Will McGugan
5 | url = http://moyaproject.com
6 |
7 | [lib]
8 | title = Moya Techblog
9 | url = http://moyaproject.com
10 | namespace = http://willmcgugan.com/techblog
11 | name = willmcgugan.techblog
12 | location = ./logic
13 | version = 0.1.5
14 |
15 | [templates]
16 | location = ./templates
17 |
18 | [media:media]
19 | location = ./media
20 |
21 | [data]
22 | location = ./data
23 |
24 | [i18n]
25 | location = ./locale
26 | default_language = en
27 | languages = en
28 |
29 | [settings]
30 | title = Moya Techblog
31 | copyright = 2015 Will McGugan
32 | page_size = 10
33 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/locale/moya_blog.pot:
--------------------------------------------------------------------------------
1 | #
2 | msgid ""
3 | msgstr ""
4 | "POT-Creation-Date: 2014-01-18T20:40:33.037038+00:00\n"
5 | "MIME-Version: 1.0\n"
6 | "Content-Type: text/plain; charset=utf-8\n"
7 | "Content-Transfer-Encoding: 8Bit\n"
8 |
9 | #: logic/forms.xml:68 logic/forms.xml:68
10 | msgid "Are you sure you wish to hide post '${post.title}'?"
11 | msgstr ""
12 |
13 | #: logic/content.xml:45
14 | msgid "Edit Post"
15 | msgstr ""
16 |
17 | #: logic/content.xml:55 logic/content.xml:55
18 | msgid "Post '${deleted}' has been deleted"
19 | msgstr ""
20 |
21 | #: logic/content.xml:65
22 | msgid "${post.title}"
23 | msgstr ""
24 |
25 | #: logic/content.xml:22 logic/content.xml:22
26 | msgid "No posts yet!"
27 | msgstr ""
28 |
29 | #: logic/forms.xml:47 logic/forms.xml:47
30 | msgid "Are you sure you wish to delete post '${post.title}'?"
31 | msgstr ""
32 |
33 | #: logic/content.xml:93
34 | msgid "Hide post"
35 | msgstr ""
36 |
37 | #: logic/forms.xml:32
38 | msgid "Slug should only contain letters, numbers and hyphens"
39 | msgstr ""
40 |
41 | #: logic/forms.xml:57 logic/forms.xml:57
42 | msgid "The URL will be"
43 | msgstr ""
44 |
45 | #: logic/views.xml:58
46 | msgid "Slug exists, please edit"
47 | msgstr ""
48 |
49 | #: logic/forms.xml:69 logic/forms.xml:69
50 | msgid "Hidden posts will be visible to admin only"
51 | msgstr ""
52 |
53 | #: logic/content.xml:56 logic/content.xml:56
54 | msgid "Return to Posts"
55 | msgstr ""
56 |
57 | #: logic/content.xml:52
58 | msgid "Delete Post"
59 | msgstr ""
60 |
61 | #: logic/forms.xml:58 logic/forms.xml:58
62 | msgid "${posturl}"
63 | msgstr ""
64 |
65 | #: logic/content.xml:34
66 | msgid "Recent Posts"
67 | msgstr ""
68 |
69 | #: logic/forms.xml:29
70 | msgid "Slug exists, please edit"
71 | msgstr ""
72 |
73 | #: logic/content.xml:86
74 | msgid "Publish post"
75 | msgstr ""
76 |
77 | #: logic/forms.xml:41 logic/forms.xml:41
78 | msgid "Cancel"
79 | msgstr ""
80 |
81 | #: logic/content.xml:38
82 | msgid "Posts by Month"
83 | msgstr ""
84 |
85 | #: logic/content.xml:11
86 | msgid "${app.settings.name}"
87 | msgstr ""
88 |
89 | #: logic/content.xml:40 logic/content.xml:40
90 | msgid "Posts in ${start % \"MMMM, YYYY\"}"
91 | msgstr ""
92 |
93 | #: logic/forms.xml:56 logic/forms.xml:56
94 | msgid "Are you sure you wish to publish post '${post.title}'?"
95 | msgstr ""
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/logic/inserts.xml:
--------------------------------------------------------------------------------
1 |
12 |
15 |
16 |
17 |
18 |
20 |
21 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | just now
31 |
32 |
33 | ${localize:age} ago
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/logic/preflight.xml:
--------------------------------------------------------------------------------
1 |
4 |
7 |
8 |
9 |
10 | No blogs created -- add a blog in admin, or run 'moya init'
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/logic/signals.xml:
--------------------------------------------------------------------------------
1 |
4 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006, Ivan Sagalaev
2 | All rights reserved.
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions are met:
5 |
6 | * Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | * Redistributions in binary form must reproduce the above copyright
9 | notice, this list of conditions and the following disclaimer in the
10 | documentation and/or other materials provided with the distribution.
11 | * Neither the name of highlight.js nor the names of its contributors
12 | may be used to endorse or promote products derived from this software
13 | without specific prior written permission.
14 |
15 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
16 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/androidstudio.css:
--------------------------------------------------------------------------------
1 | /*
2 | Date: 24 Fev 2015
3 | Author: Pedro Oliveira
4 | */
5 |
6 | .hljs {
7 | color: #a9b7c6;
8 | background: #282b2e;
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-number {
16 | color: #6897BB;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-deletion {
21 | color: #cc7832;
22 | }
23 |
24 | .hljs-comment {
25 | color: #808080;
26 | }
27 |
28 | .hljs-annotation {
29 | color: #bbb529;
30 | }
31 |
32 | .hljs-string,
33 | .hljs-addition {
34 | color: #6A8759;
35 | }
36 |
37 | .hljs-function .hljs-title,
38 | .hljs-change {
39 | color: #ffc66d;
40 | }
41 |
42 | .hljs-tag .hljs-title,
43 | .hljs-doctype {
44 | color: #e8bf6a;
45 | }
46 |
47 | .hljs-tag .hljs-attribute {
48 | color: #bababa;
49 | }
50 |
51 | .hljs-tag .hljs-value {
52 | color: #a5c261;
53 | }
54 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/ascetic.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: white;
12 | color: black;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-string,
17 | .hljs-tag .hljs-value,
18 | .hljs-filter .hljs-argument,
19 | .hljs-addition,
20 | .hljs-change,
21 | .apache .hljs-tag,
22 | .apache .hljs-cbracket,
23 | .nginx .hljs-built_in,
24 | .tex .hljs-formula {
25 | color: #888;
26 | }
27 |
28 | .hljs-comment,
29 | .hljs-shebang,
30 | .hljs-doctype,
31 | .hljs-pi,
32 | .hljs-javadoc,
33 | .hljs-deletion,
34 | .apache .hljs-sqbracket {
35 | color: #ccc;
36 | }
37 |
38 | .hljs-keyword,
39 | .hljs-tag .hljs-title,
40 | .ini .hljs-title,
41 | .lisp .hljs-title,
42 | .http .hljs-title,
43 | .nginx .hljs-title,
44 | .css .hljs-tag,
45 | .hljs-winutils,
46 | .hljs-flow,
47 | .apache .hljs-tag,
48 | .tex .hljs-command,
49 | .hljs-request,
50 | .hljs-status {
51 | font-weight: bold;
52 | }
53 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-dune.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Dune Dark Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #999580;
10 | }
11 |
12 | /* Atelier Dune Dark Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #d73737;
26 | }
27 |
28 | /* Atelier Dune Dark Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #b65611;
37 | }
38 |
39 | /* Atelier Dune Dark Yellow */
40 | .ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #cfb017;
43 | }
44 |
45 | /* Atelier Dune Dark Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #60ac39;
53 | }
54 |
55 | /* Atelier Dune Dark Aqua */
56 | .css .hljs-hexcolor {
57 | color: #1fad83;
58 | }
59 |
60 | /* Atelier Dune Dark Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #6684e1;
70 | }
71 |
72 | /* Atelier Dune Dark Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #b854d4;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #292824;
82 | color: #a6a28c;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-dune.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Dune Light Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #7d7a68;
10 | }
11 |
12 | /* Atelier Dune Light Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #d73737;
26 | }
27 |
28 | /* Atelier Dune Light Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #b65611;
37 | }
38 |
39 | /* Atelier Dune Light Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #cfb017;
43 | }
44 |
45 | /* Atelier Dune Light Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #60ac39;
53 | }
54 |
55 | /* Atelier Dune Light Aqua */
56 | .css .hljs-hexcolor {
57 | color: #1fad83;
58 | }
59 |
60 | /* Atelier Dune Light Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #6684e1;
70 | }
71 |
72 | /* Atelier Dune Light Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #b854d4;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #fefbec;
82 | color: #6e6b5e;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-forest.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Forest Dark Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #9c9491;
10 | }
11 |
12 | /* Atelier Forest Dark Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #f22c40;
26 | }
27 |
28 | /* Atelier Forest Dark Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #df5320;
37 | }
38 |
39 | /* Atelier Forest Dark Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #d5911a;
43 | }
44 |
45 | /* Atelier Forest Dark Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #5ab738;
53 | }
54 |
55 | /* Atelier Forest Dark Aqua */
56 | .css .hljs-hexcolor {
57 | color: #00ad9c;
58 | }
59 |
60 | /* Atelier Forest Dark Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #407ee7;
70 | }
71 |
72 | /* Atelier Forest Dark Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #6666ea;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #2c2421;
82 | color: #a8a19f;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-forest.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Forest Light Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #766e6b;
10 | }
11 |
12 | /* Atelier Forest Light Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #f22c40;
26 | }
27 |
28 | /* Atelier Forest Light Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #df5320;
37 | }
38 |
39 | /* Atelier Forest Light Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #d5911a;
43 | }
44 |
45 | /* Atelier Forest Light Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #5ab738;
53 | }
54 |
55 | /* Atelier Forest Light Aqua */
56 | .css .hljs-hexcolor {
57 | color: #00ad9c;
58 | }
59 |
60 | /* Atelier Forest Light Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #407ee7;
70 | }
71 |
72 | /* Atelier Forest Light Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #6666ea;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #f1efee;
82 | color: #68615e;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-heath.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Heath Dark Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #9e8f9e;
10 | }
11 |
12 | /* Atelier Heath Dark Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #ca402b;
26 | }
27 |
28 | /* Atelier Heath Dark Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #a65926;
37 | }
38 |
39 | /* Atelier Heath Dark Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #bb8a35;
43 | }
44 |
45 | /* Atelier Heath Dark Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #379a37;
53 | }
54 |
55 | /* Atelier Heath Dark Aqua */
56 | .css .hljs-hexcolor {
57 | color: #159393;
58 | }
59 |
60 | /* Atelier Heath Dark Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #516aec;
70 | }
71 |
72 | /* Atelier Heath Dark Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #7b59c0;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #292329;
82 | color: #ab9bab;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-heath.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Heath Light Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #776977;
10 | }
11 |
12 | /* Atelier Heath Light Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #ca402b;
26 | }
27 |
28 | /* Atelier Heath Light Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #a65926;
37 | }
38 |
39 | /* Atelier Heath Light Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #bb8a35;
43 | }
44 |
45 | /* Atelier Heath Light Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #379a37;
53 | }
54 |
55 | /* Atelier Heath Light Aqua */
56 | .css .hljs-hexcolor {
57 | color: #159393;
58 | }
59 |
60 | /* Atelier Heath Light Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #516aec;
70 | }
71 |
72 | /* Atelier Heath Light Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #7b59c0;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #f7f3f7;
82 | color: #695d69;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-lakeside.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Lakeside Dark Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #7195a8;
10 | }
11 |
12 | /* Atelier Lakeside Dark Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #d22d72;
26 | }
27 |
28 | /* Atelier Lakeside Dark Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #935c25;
37 | }
38 |
39 | /* Atelier Lakeside Dark Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #8a8a0f;
43 | }
44 |
45 | /* Atelier Lakeside Dark Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #568c3b;
53 | }
54 |
55 | /* Atelier Lakeside Dark Aqua */
56 | .css .hljs-hexcolor {
57 | color: #2d8f6f;
58 | }
59 |
60 | /* Atelier Lakeside Dark Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #257fad;
70 | }
71 |
72 | /* Atelier Lakeside Dark Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #5d5db1;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #1f292e;
82 | color: #7ea2b4;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-lakeside.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Lakeside Light Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #5a7b8c;
10 | }
11 |
12 | /* Atelier Lakeside Light Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #d22d72;
26 | }
27 |
28 | /* Atelier Lakeside Light Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #935c25;
37 | }
38 |
39 | /* Atelier Lakeside Light Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #8a8a0f;
43 | }
44 |
45 | /* Atelier Lakeside Light Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #568c3b;
53 | }
54 |
55 | /* Atelier Lakeside Light Aqua */
56 | .css .hljs-hexcolor {
57 | color: #2d8f6f;
58 | }
59 |
60 | /* Atelier Lakeside Light Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #257fad;
70 | }
71 |
72 | /* Atelier Lakeside Light Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #5d5db1;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #ebf8ff;
82 | color: #516d7b;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-seaside.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Seaside Dark Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #809980;
10 | }
11 |
12 | /* Atelier Seaside Dark Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #e6193c;
26 | }
27 |
28 | /* Atelier Seaside Dark Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #87711d;
37 | }
38 |
39 | /* Atelier Seaside Dark Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #c3c322;
43 | }
44 |
45 | /* Atelier Seaside Dark Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #29a329;
53 | }
54 |
55 | /* Atelier Seaside Dark Aqua */
56 | .css .hljs-hexcolor {
57 | color: #1999b3;
58 | }
59 |
60 | /* Atelier Seaside Dark Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #3d62f5;
70 | }
71 |
72 | /* Atelier Seaside Dark Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #ad2bee;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #242924;
82 | color: #8ca68c;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-seaside.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 | /* https://github.com/jmblog/color-themes-for-highlightjs */
5 |
6 | /* Atelier Seaside Light Comment */
7 | .hljs-comment,
8 | .hljs-title {
9 | color: #687d68;
10 | }
11 |
12 | /* Atelier Seaside Light Red */
13 | .hljs-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-regexp,
17 | .ruby .hljs-constant,
18 | .xml .hljs-tag .hljs-title,
19 | .xml .hljs-pi,
20 | .xml .hljs-doctype,
21 | .html .hljs-doctype,
22 | .css .hljs-id,
23 | .css .hljs-class,
24 | .css .hljs-pseudo {
25 | color: #e6193c;
26 | }
27 |
28 | /* Atelier Seaside Light Orange */
29 | .hljs-number,
30 | .hljs-preprocessor,
31 | .hljs-pragma,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #87711d;
37 | }
38 |
39 | /* Atelier Seaside Light Yellow */
40 | .hljs-ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #c3c322;
43 | }
44 |
45 | /* Atelier Seaside Light Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #29a329;
53 | }
54 |
55 | /* Atelier Seaside Light Aqua */
56 | .css .hljs-hexcolor {
57 | color: #1999b3;
58 | }
59 |
60 | /* Atelier Seaside Light Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #3d62f5;
70 | }
71 |
72 | /* Atelier Seaside Light Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #ad2bee;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #f0fff0;
82 | color: #5e6e5e;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-sulphurpool.dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment {
7 | color: #898ea4;
8 | }
9 |
10 | /* Atelier-Sulphurpool Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #c94922;
25 | }
26 |
27 | /* Atelier-Sulphurpool Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #c76b29;
35 | }
36 |
37 | /* Atelier-Sulphurpool Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #c08b30;
41 | }
42 |
43 | /* Atelier-Sulphurpool Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #ac9739;
51 | }
52 |
53 | /* Atelier-Sulphurpool Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #22a2c9;
57 | }
58 |
59 | /* Atelier-Sulphurpool Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #3d8fd1;
69 | }
70 |
71 | /* Atelier-Sulphurpool Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6679cc;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #202746;
81 | color: #979db4;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/atelier-sulphurpool.light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment {
7 | color: #6b7394;
8 | }
9 |
10 | /* Atelier-Sulphurpool Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .hljs-name,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #c94922;
25 | }
26 |
27 | /* Atelier-Sulphurpool Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #c76b29;
35 | }
36 |
37 | /* Atelier-Sulphurpool Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rule .hljs-attribute {
40 | color: #c08b30;
41 | }
42 |
43 | /* Atelier-Sulphurpool Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #ac9739;
51 | }
52 |
53 | /* Atelier-Sulphurpool Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #22a2c9;
57 | }
58 |
59 | /* Atelier-Sulphurpool Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #3d8fd1;
69 | }
70 |
71 | /* Atelier-Sulphurpool Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #6679cc;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #f5f7ff;
81 | color: #5e6687;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/brown_paper.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background:#b7a68e url(./brown_papersq.png);
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-keyword,
16 | .hljs-literal,
17 | .hljs-change,
18 | .hljs-winutils,
19 | .hljs-flow,
20 | .nginx .hljs-title,
21 | .tex .hljs-special,
22 | .hljs-request,
23 | .hljs-status {
24 | color:#005599;
25 | font-weight:bold;
26 | }
27 |
28 | .hljs,
29 | .hljs-subst,
30 | .hljs-tag .hljs-keyword {
31 | color: #363c69;
32 | }
33 |
34 | .hljs-string,
35 | .hljs-title,
36 | .hljs-type,
37 | .hljs-tag .hljs-value,
38 | .css .hljs-rules .hljs-value,
39 | .hljs-preprocessor,
40 | .hljs-pragma,
41 | .ruby .hljs-symbol,
42 | .ruby .hljs-symbol .hljs-string,
43 | .ruby .hljs-class .hljs-parent,
44 | .hljs-built_in,
45 | .django .hljs-template_tag,
46 | .django .hljs-variable,
47 | .smalltalk .hljs-class,
48 | .hljs-javadoc,
49 | .ruby .hljs-string,
50 | .django .hljs-filter .hljs-argument,
51 | .smalltalk .hljs-localvars,
52 | .smalltalk .hljs-array,
53 | .hljs-attr_selector,
54 | .hljs-pseudo,
55 | .hljs-addition,
56 | .hljs-stream,
57 | .hljs-envvar,
58 | .apache .hljs-tag,
59 | .apache .hljs-cbracket,
60 | .tex .hljs-number {
61 | color: #2c009f;
62 | }
63 |
64 | .hljs-comment,
65 | .hljs-annotation,
66 | .hljs-decorator,
67 | .hljs-pi,
68 | .hljs-doctype,
69 | .hljs-deletion,
70 | .hljs-shebang,
71 | .apache .hljs-sqbracket,
72 | .nginx .hljs-built_in,
73 | .tex .hljs-formula {
74 | color: #802022;
75 | }
76 |
77 | .hljs-keyword,
78 | .hljs-literal,
79 | .css .hljs-id,
80 | .hljs-phpdoc,
81 | .hljs-dartdoc,
82 | .hljs-title,
83 | .hljs-type,
84 | .vbscript .hljs-built_in,
85 | .rsl .hljs-built_in,
86 | .smalltalk .hljs-class,
87 | .diff .hljs-header,
88 | .hljs-chunk,
89 | .hljs-winutils,
90 | .bash .hljs-variable,
91 | .apache .hljs-tag,
92 | .tex .hljs-command {
93 | font-weight: bold;
94 | }
95 |
96 | .coffeescript .javascript,
97 | .javascript .xml,
98 | .tex .hljs-formula,
99 | .xml .javascript,
100 | .xml .vbscript,
101 | .xml .css,
102 | .xml .hljs-cdata {
103 | opacity: 0.8;
104 | }
105 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/brown_papersq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/willmcgugan.techblog/media/highlight/styles/brown_papersq.png
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/codepen-embed.css:
--------------------------------------------------------------------------------
1 | /*
2 | codepen.io Embed Theme
3 | Author: Justin Perry
4 | Original theme - https://github.com/chriskempson/tomorrow-theme
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #222;
12 | color: #fff;
13 | font-family: Menlo, Monaco, 'Andale Mono', 'Lucida Console', 'Courier New', monospace;
14 | -webkit-text-size-adjust: none;
15 | }
16 |
17 | .hljs-comment,
18 | .hljs-title {
19 | color: #777;
20 | }
21 |
22 | .hljs-variable,
23 | .hljs-attribute,
24 | .hljs-tag,
25 | .hljs-regexp,
26 | .ruby .constant,
27 | .xml .tag .title,
28 | .xml .pi,
29 | .xml .doctype,
30 | .html .doctype {
31 | color: #ab875d;
32 | }
33 |
34 | .css .value {
35 | color: #cd6a51;
36 | }
37 |
38 | .css .value .function,
39 | .css .value .string {
40 | color: #a67f59;
41 | }
42 |
43 | .css .value .number {
44 | color: #9b869c;
45 | }
46 |
47 | .css .id,
48 | .css .class,
49 | .css-pseudo,
50 | .css .selector,
51 | .css .tag {
52 | color: #dfc48c;
53 | }
54 |
55 | .hljs-number,
56 | .hljs-preprocessor,
57 | .hljs-built_in,
58 | .hljs-literal,
59 | .hljs-params,
60 | .hljs-constant {
61 | color: #ab875d;
62 | }
63 |
64 | .ruby .class .title,
65 | .css .rules .attribute {
66 | color: #9b869b;
67 | }
68 |
69 | .hljs-string,
70 | .hljs-value,
71 | .hljs-inheritance,
72 | .hljs-header,
73 | .ruby .symbol,
74 | .xml .cdata {
75 | color: #8f9c6c;
76 | }
77 |
78 | .css .hexcolor {
79 | color: #cd6a51;
80 | }
81 |
82 | .function,
83 | .python .decorator,
84 | .python .title,
85 | .ruby .function .title,
86 | .ruby .title .keyword,
87 | .perl .sub,
88 | .javascript .title,
89 | .coffeescript .title {
90 | color: #fff;
91 | }
92 |
93 | .hljs-keyword,
94 | .javascript .function {
95 | color: #8f9c6c;
96 | }
97 |
98 | .coffeescript .javascript,
99 | .javascript,
100 | .javascript .xml,
101 | .tex .formula,
102 | .xml .javascript,
103 | .xml .vbscript,
104 | .xml .css,
105 | .xml .cdata {
106 | background: transparent;
107 | opacity: 1;
108 | }
109 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #444;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-keyword,
16 | .hljs-literal,
17 | .hljs-change,
18 | .hljs-winutils,
19 | .hljs-flow,
20 | .nginx .hljs-title,
21 | .tex .hljs-special {
22 | color: white;
23 | }
24 |
25 | .hljs,
26 | .hljs-subst {
27 | color: #ddd;
28 | }
29 |
30 | .hljs-string,
31 | .hljs-title,
32 | .hljs-type,
33 | .ini .hljs-title,
34 | .hljs-tag .hljs-value,
35 | .css .hljs-rules .hljs-value,
36 | .hljs-preprocessor,
37 | .hljs-pragma,
38 | .ruby .hljs-symbol,
39 | .ruby .hljs-symbol .hljs-string,
40 | .ruby .hljs-class .hljs-parent,
41 | .hljs-built_in,
42 | .django .hljs-template_tag,
43 | .django .hljs-variable,
44 | .smalltalk .hljs-class,
45 | .hljs-javadoc,
46 | .ruby .hljs-string,
47 | .django .hljs-filter .hljs-argument,
48 | .smalltalk .hljs-localvars,
49 | .smalltalk .hljs-array,
50 | .hljs-attr_selector,
51 | .hljs-pseudo,
52 | .hljs-addition,
53 | .hljs-stream,
54 | .hljs-envvar,
55 | .apache .hljs-tag,
56 | .apache .hljs-cbracket,
57 | .tex .hljs-command,
58 | .hljs-prompt,
59 | .coffeescript .hljs-attribute {
60 | color: #d88;
61 | }
62 |
63 | .hljs-comment,
64 | .hljs-annotation,
65 | .hljs-decorator,
66 | .hljs-pi,
67 | .hljs-doctype,
68 | .hljs-deletion,
69 | .hljs-shebang,
70 | .apache .hljs-sqbracket,
71 | .tex .hljs-formula {
72 | color: #777;
73 | }
74 |
75 | .hljs-keyword,
76 | .hljs-literal,
77 | .hljs-title,
78 | .css .hljs-id,
79 | .hljs-phpdoc,
80 | .hljs-dartdoc,
81 | .hljs-type,
82 | .vbscript .hljs-built_in,
83 | .rsl .hljs-built_in,
84 | .smalltalk .hljs-class,
85 | .diff .hljs-header,
86 | .hljs-chunk,
87 | .hljs-winutils,
88 | .bash .hljs-variable,
89 | .apache .hljs-tag,
90 | .tex .hljs-special,
91 | .hljs-request,
92 | .hljs-status {
93 | font-weight: bold;
94 | }
95 |
96 | .coffeescript .javascript,
97 | .javascript .xml,
98 | .tex .hljs-formula,
99 | .xml .javascript,
100 | .xml .vbscript,
101 | .xml .css,
102 | .xml .hljs-cdata {
103 | opacity: 0.5;
104 | }
105 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/far.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | FAR Style (c) MajestiC
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #000080;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst {
17 | color: #0ff;
18 | }
19 |
20 | .hljs-string,
21 | .ruby .hljs-string,
22 | .haskell .hljs-type,
23 | .hljs-tag .hljs-value,
24 | .hljs-rules .hljs-value,
25 | .hljs-rules .hljs-value .hljs-number,
26 | .hljs-preprocessor,
27 | .hljs-pragma,
28 | .ruby .hljs-symbol,
29 | .ruby .hljs-symbol .hljs-string,
30 | .hljs-built_in,
31 | .django .hljs-template_tag,
32 | .django .hljs-variable,
33 | .smalltalk .hljs-class,
34 | .hljs-addition,
35 | .apache .hljs-tag,
36 | .apache .hljs-cbracket,
37 | .tex .hljs-command,
38 | .coffeescript .hljs-attribute {
39 | color: #ff0;
40 | }
41 |
42 | .hljs-keyword,
43 | .css .hljs-id,
44 | .hljs-title,
45 | .hljs-type,
46 | .vbscript .hljs-built_in,
47 | .rsl .hljs-built_in,
48 | .smalltalk .hljs-class,
49 | .xml .hljs-tag .hljs-title,
50 | .hljs-winutils,
51 | .hljs-flow,
52 | .hljs-change,
53 | .hljs-envvar,
54 | .bash .hljs-variable,
55 | .tex .hljs-special {
56 | color: #fff;
57 | }
58 |
59 | .hljs-comment,
60 | .hljs-phpdoc,
61 | .hljs-dartdoc,
62 | .hljs-javadoc,
63 | .hljs-annotation,
64 | .hljs-deletion,
65 | .apache .hljs-sqbracket,
66 | .tex .hljs-formula {
67 | color: #888;
68 | }
69 |
70 | .hljs-number,
71 | .hljs-date,
72 | .hljs-regexp,
73 | .hljs-literal,
74 | .smalltalk .hljs-symbol,
75 | .smalltalk .hljs-char,
76 | .clojure .hljs-attribute {
77 | color: #0f0;
78 | }
79 |
80 | .hljs-decorator,
81 | .django .hljs-filter .hljs-argument,
82 | .smalltalk .hljs-localvars,
83 | .smalltalk .hljs-array,
84 | .hljs-attr_selector,
85 | .hljs-pseudo,
86 | .xml .hljs-pi,
87 | .diff .hljs-header,
88 | .hljs-chunk,
89 | .hljs-shebang,
90 | .nginx .hljs-built_in,
91 | .hljs-prompt {
92 | color: #008080;
93 | }
94 |
95 | .hljs-keyword,
96 | .css .hljs-id,
97 | .hljs-title,
98 | .hljs-type,
99 | .vbscript .hljs-built_in,
100 | .rsl .hljs-built_in,
101 | .smalltalk .hljs-class,
102 | .hljs-winutils,
103 | .hljs-flow,
104 | .apache .hljs-tag,
105 | .nginx .hljs-built_in,
106 | .tex .hljs-command,
107 | .tex .hljs-special,
108 | .hljs-request,
109 | .hljs-status {
110 | font-weight: bold;
111 | }
112 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/foundation.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Foundation 4 docs style for highlight.js
3 | Author: Dan Allen
4 | Website: http://foundation.zurb.com/docs/
5 | Version: 1.0
6 | Date: 2013-04-02
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | background: #eee;
14 | -webkit-text-size-adjust: none;
15 | }
16 |
17 | .hljs-header,
18 | .hljs-decorator,
19 | .hljs-annotation {
20 | color: #000077;
21 | }
22 |
23 | .hljs-horizontal_rule,
24 | .hljs-link_url,
25 | .hljs-emphasis,
26 | .hljs-attribute {
27 | color: #070;
28 | }
29 |
30 | .hljs-emphasis {
31 | font-style: italic;
32 | }
33 |
34 | .hljs-link_label,
35 | .hljs-strong,
36 | .hljs-value,
37 | .hljs-string,
38 | .scss .hljs-value .hljs-string {
39 | color: #d14;
40 | }
41 |
42 | .hljs-strong {
43 | font-weight: bold;
44 | }
45 |
46 | .hljs-blockquote,
47 | .hljs-comment {
48 | color: #998;
49 | font-style: italic;
50 | }
51 |
52 | .asciidoc .hljs-title,
53 | .hljs-function .hljs-title {
54 | color: #900;
55 | }
56 |
57 | .hljs-class {
58 | color: #458;
59 | }
60 |
61 | .hljs-id,
62 | .hljs-pseudo,
63 | .hljs-constant,
64 | .hljs-hexcolor {
65 | color: teal;
66 | }
67 |
68 | .hljs-variable {
69 | color: #336699;
70 | }
71 |
72 | .hljs-bullet,
73 | .hljs-javadoc {
74 | color: #997700;
75 | }
76 |
77 | .hljs-pi,
78 | .hljs-doctype {
79 | color: #3344bb;
80 | }
81 |
82 | .hljs-code,
83 | .hljs-number {
84 | color: #099;
85 | }
86 |
87 | .hljs-important {
88 | color: #f00;
89 | }
90 |
91 | .smartquote,
92 | .hljs-label {
93 | color: #970;
94 | }
95 |
96 | .hljs-preprocessor,
97 | .hljs-pragma {
98 | color: #579;
99 | }
100 |
101 | .hljs-reserved,
102 | .hljs-keyword,
103 | .scss .hljs-value {
104 | color: #000;
105 | }
106 |
107 | .hljs-regexp {
108 | background-color: #fff0ff;
109 | color: #880088;
110 | }
111 |
112 | .hljs-symbol {
113 | color: #990073;
114 | }
115 |
116 | .hljs-symbol .hljs-string {
117 | color: #a60;
118 | }
119 |
120 | .hljs-tag {
121 | color: #007700;
122 | }
123 |
124 | .hljs-at_rule,
125 | .hljs-at_rule .hljs-keyword {
126 | color: #088;
127 | }
128 |
129 | .hljs-at_rule .hljs-preprocessor {
130 | color: #808;
131 | }
132 |
133 | .scss .hljs-tag,
134 | .scss .hljs-attribute {
135 | color: #339;
136 | }
137 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/github.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | github.com style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #333;
12 | background: #f8f8f8;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-comment,
17 | .diff .hljs-header,
18 | .hljs-javadoc {
19 | color: #998;
20 | font-style: italic;
21 | }
22 |
23 | .hljs-keyword,
24 | .css .rule .hljs-keyword,
25 | .hljs-winutils,
26 | .nginx .hljs-title,
27 | .hljs-subst,
28 | .hljs-request,
29 | .hljs-status {
30 | color: #333;
31 | font-weight: bold;
32 | }
33 |
34 | .hljs-number,
35 | .hljs-hexcolor,
36 | .ruby .hljs-constant {
37 | color: #008080;
38 | }
39 |
40 | .hljs-string,
41 | .hljs-tag .hljs-value,
42 | .hljs-phpdoc,
43 | .hljs-dartdoc,
44 | .tex .hljs-formula {
45 | color: #d14;
46 | }
47 |
48 | .hljs-title,
49 | .hljs-id,
50 | .scss .hljs-preprocessor {
51 | color: #900;
52 | font-weight: bold;
53 | }
54 |
55 | .hljs-list .hljs-keyword,
56 | .hljs-subst {
57 | font-weight: normal;
58 | }
59 |
60 | .hljs-class .hljs-title,
61 | .hljs-type,
62 | .vhdl .hljs-literal,
63 | .tex .hljs-command {
64 | color: #458;
65 | font-weight: bold;
66 | }
67 |
68 | .hljs-tag,
69 | .hljs-tag .hljs-title,
70 | .hljs-rules .hljs-property,
71 | .django .hljs-tag .hljs-keyword {
72 | color: #000080;
73 | font-weight: normal;
74 | }
75 |
76 | .hljs-attribute,
77 | .hljs-variable,
78 | .lisp .hljs-body {
79 | color: #008080;
80 | }
81 |
82 | .hljs-regexp {
83 | color: #009926;
84 | }
85 |
86 | .hljs-symbol,
87 | .ruby .hljs-symbol .hljs-string,
88 | .lisp .hljs-keyword,
89 | .clojure .hljs-keyword,
90 | .scheme .hljs-keyword,
91 | .tex .hljs-special,
92 | .hljs-prompt {
93 | color: #990073;
94 | }
95 |
96 | .hljs-built_in {
97 | color: #0086b3;
98 | }
99 |
100 | .hljs-preprocessor,
101 | .hljs-pragma,
102 | .hljs-pi,
103 | .hljs-doctype,
104 | .hljs-shebang,
105 | .hljs-cdata {
106 | color: #999;
107 | font-weight: bold;
108 | }
109 |
110 | .hljs-deletion {
111 | background: #fdd;
112 | }
113 |
114 | .hljs-addition {
115 | background: #dfd;
116 | }
117 |
118 | .diff .hljs-change {
119 | background: #0086b3;
120 | }
121 |
122 | .hljs-chunk {
123 | color: #aaa;
124 | }
125 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/hopscotch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Hopscotch
3 | * by Jan T. Sott
4 | * https://github.com/idleberg/Hopscotch
5 | *
6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License
7 | */
8 |
9 | /* Comment */
10 | .hljs-comment,
11 | .hljs-title {
12 | color: #989498;
13 | }
14 |
15 | /* Red */
16 | .hljs-variable,
17 | .hljs-attribute,
18 | .hljs-tag,
19 | .hljs-regexp,
20 | .ruby .hljs-constant,
21 | .xml .hljs-tag .hljs-title,
22 | .xml .hljs-pi,
23 | .xml .hljs-doctype,
24 | .html .hljs-doctype,
25 | .css .hljs-id,
26 | .css .hljs-class,
27 | .css .hljs-pseudo {
28 | color: #dd464c;
29 | }
30 |
31 | /* Orange */
32 | .hljs-number,
33 | .hljs-preprocessor,
34 | .hljs-built_in,
35 | .hljs-literal,
36 | .hljs-params,
37 | .hljs-constant {
38 | color: #fd8b19;
39 | }
40 |
41 | /* Yellow */
42 | .ruby .hljs-class .hljs-title,
43 | .css .hljs-rules .hljs-attribute {
44 | color: #fdcc59;
45 | }
46 |
47 | /* Green */
48 | .hljs-string,
49 | .hljs-value,
50 | .hljs-inheritance,
51 | .hljs-header,
52 | .ruby .hljs-symbol,
53 | .xml .hljs-cdata {
54 | color: #8fc13e;
55 | }
56 |
57 | /* Aqua */
58 | .css .hljs-hexcolor {
59 | color: #149b93;
60 | }
61 |
62 | /* Blue */
63 | .hljs-function,
64 | .python .hljs-decorator,
65 | .python .hljs-title,
66 | .ruby .hljs-function .hljs-title,
67 | .ruby .hljs-title .hljs-keyword,
68 | .perl .hljs-sub,
69 | .javascript .hljs-title,
70 | .coffeescript .hljs-title {
71 | color: #1290bf;
72 | }
73 |
74 | /* Purple */
75 | .hljs-keyword,
76 | .javascript .hljs-function {
77 | color: #c85e7c;
78 | }
79 |
80 | .hljs {
81 | display: block;
82 | background: #322931;
83 | color: #b9b5b8;
84 | padding: 0.5em;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/idea.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Intellij Idea-like styling (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #000;
12 | background: #fff;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-subst,
17 | .hljs-title,
18 | .json .hljs-value {
19 | font-weight: normal;
20 | color: #000;
21 | }
22 |
23 | .hljs-comment,
24 | .hljs-javadoc,
25 | .diff .hljs-header {
26 | color: #808080;
27 | font-style: italic;
28 | }
29 |
30 | .hljs-annotation,
31 | .hljs-decorator,
32 | .hljs-preprocessor,
33 | .hljs-pragma,
34 | .hljs-doctype,
35 | .hljs-pi,
36 | .hljs-chunk,
37 | .hljs-shebang,
38 | .apache .hljs-cbracket,
39 | .hljs-prompt,
40 | .http .hljs-title {
41 | color: #808000;
42 | }
43 |
44 | .hljs-tag,
45 | .hljs-pi {
46 | background: #efefef;
47 | }
48 |
49 | .hljs-tag .hljs-title,
50 | .hljs-id,
51 | .hljs-attr_selector,
52 | .hljs-pseudo,
53 | .hljs-literal,
54 | .hljs-keyword,
55 | .hljs-hexcolor,
56 | .css .hljs-function,
57 | .ini .hljs-title,
58 | .css .hljs-class,
59 | .hljs-list .hljs-keyword,
60 | .nginx .hljs-title,
61 | .tex .hljs-command,
62 | .hljs-request,
63 | .hljs-status {
64 | font-weight: bold;
65 | color: #000080;
66 | }
67 |
68 | .hljs-attribute,
69 | .hljs-rules .hljs-keyword,
70 | .hljs-number,
71 | .hljs-date,
72 | .hljs-regexp,
73 | .tex .hljs-special {
74 | font-weight: bold;
75 | color: #0000ff;
76 | }
77 |
78 | .hljs-number,
79 | .hljs-regexp {
80 | font-weight: normal;
81 | }
82 |
83 | .hljs-string,
84 | .hljs-value,
85 | .hljs-filter .hljs-argument,
86 | .css .hljs-function .hljs-params,
87 | .apache .hljs-tag {
88 | color: #008000;
89 | font-weight: bold;
90 | }
91 |
92 | .hljs-symbol,
93 | .ruby .hljs-symbol .hljs-string,
94 | .hljs-char,
95 | .tex .hljs-formula {
96 | color: #000;
97 | background: #d0eded;
98 | font-style: italic;
99 | }
100 |
101 | .hljs-phpdoc,
102 | .hljs-dartdoc,
103 | .hljs-yardoctag,
104 | .hljs-javadoctag {
105 | text-decoration: underline;
106 | }
107 |
108 | .hljs-variable,
109 | .hljs-envvar,
110 | .apache .hljs-sqbracket,
111 | .nginx .hljs-built_in {
112 | color: #660e7a;
113 | }
114 |
115 | .hljs-addition {
116 | background: #baeeba;
117 | }
118 |
119 | .hljs-deletion {
120 | background: #ffc8bd;
121 | }
122 |
123 | .diff .hljs-change {
124 | background: #bccff9;
125 | }
126 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/ir_black.css:
--------------------------------------------------------------------------------
1 | /*
2 | IR_Black style (c) Vasily Mikhailitchenko
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #000;
10 | color: #f8f8f8;
11 | -webkit-text-size-adjust: none;
12 | }
13 |
14 | .hljs-shebang,
15 | .hljs-comment,
16 | .hljs-javadoc {
17 | color: #7c7c7c;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-tag,
22 | .tex .hljs-command,
23 | .hljs-request,
24 | .hljs-status,
25 | .clojure .hljs-attribute {
26 | color: #96cbfe;
27 | }
28 |
29 | .hljs-sub .hljs-keyword,
30 | .method,
31 | .hljs-list .hljs-title,
32 | .nginx .hljs-title {
33 | color: #ffffb6;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-tag .hljs-value,
38 | .hljs-cdata,
39 | .hljs-filter .hljs-argument,
40 | .hljs-attr_selector,
41 | .apache .hljs-cbracket,
42 | .hljs-date,
43 | .coffeescript .hljs-attribute {
44 | color: #a8ff60;
45 | }
46 |
47 | .hljs-subst {
48 | color: #daefa3;
49 | }
50 |
51 | .hljs-regexp {
52 | color: #e9c062;
53 | }
54 |
55 | .hljs-title,
56 | .hljs-sub .hljs-identifier,
57 | .hljs-pi,
58 | .hljs-decorator,
59 | .tex .hljs-special,
60 | .hljs-type,
61 | .hljs-constant,
62 | .smalltalk .hljs-class,
63 | .hljs-javadoctag,
64 | .hljs-yardoctag,
65 | .hljs-phpdoc,
66 | .hljs-dartdoc,
67 | .nginx .hljs-built_in {
68 | color: #ffffb6;
69 | }
70 |
71 | .hljs-symbol,
72 | .ruby .hljs-symbol .hljs-string,
73 | .hljs-number,
74 | .hljs-variable,
75 | .vbscript,
76 | .hljs-literal {
77 | color: #c6c5fe;
78 | }
79 |
80 | .css .hljs-tag {
81 | color: #96cbfe;
82 | }
83 |
84 | .css .hljs-rules .hljs-property,
85 | .css .hljs-id {
86 | color: #ffffb6;
87 | }
88 |
89 | .css .hljs-class {
90 | color: #fff;
91 | }
92 |
93 | .hljs-hexcolor {
94 | color: #c6c5fe;
95 | }
96 |
97 | .hljs-number {
98 | color:#ff73fd;
99 | }
100 |
101 | .coffeescript .javascript,
102 | .javascript .xml,
103 | .tex .hljs-formula,
104 | .xml .javascript,
105 | .xml .vbscript,
106 | .xml .css,
107 | .xml .hljs-cdata {
108 | opacity: 0.7;
109 | }
110 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/kimbie.dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (dark)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-title {
11 | color: #d6baad;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-attribute,
17 | .hljs-tag,
18 | .hljs-regexp,
19 | .ruby .hljs-constant,
20 | .xml .hljs-tag .hljs-title,
21 | .xml .hljs-pi,
22 | .xml .hljs-doctype,
23 | .html .hljs-doctype,
24 | .css .hljs-id,
25 | .css .hljs-class,
26 | .css .hljs-pseudo {
27 | color: #dc3958;
28 | }
29 |
30 | /* Kimbie Orange */
31 | .hljs-number,
32 | .hljs-preprocessor,
33 | .hljs-built_in,
34 | .hljs-literal,
35 | .hljs-params,
36 | .hljs-constant {
37 | color: #f79a32;
38 | }
39 |
40 | /* Kimbie Yellow */
41 | .ruby .hljs-class .hljs-title,
42 | .css .hljs-rules .hljs-attribute {
43 | color: #f06431;
44 | }
45 |
46 | /* Kimbie Green */
47 | .hljs-string,
48 | .hljs-value,
49 | .hljs-inheritance,
50 | .hljs-header,
51 | .ruby .hljs-symbol,
52 | .xml .hljs-cdata {
53 | color: #889b4a;
54 | }
55 |
56 | /* Kimbie Aqua */
57 | .css .hljs-hexcolor {
58 | color: #088649;
59 | }
60 |
61 | /* Kimbie Blue */
62 | .hljs-function,
63 | .python .hljs-decorator,
64 | .python .hljs-title,
65 | .ruby .hljs-function .hljs-title,
66 | .ruby .hljs-title .hljs-keyword,
67 | .perl .hljs-sub,
68 | .javascript .hljs-title,
69 | .coffeescript .hljs-title {
70 | color: #8ab1b0;
71 | }
72 |
73 | /* Kimbie Purple */
74 | .hljs-keyword,
75 | .javascript .hljs-function {
76 | color: #98676a;
77 | }
78 |
79 | .hljs {
80 | display: block;
81 | overflow-x: auto;
82 | background: #221a0f;
83 | color: #d3af86;
84 | padding: 0.5em;
85 | -webkit-text-size-adjust: none;
86 | }
87 |
88 | .coffeescript .javascript,
89 | .javascript .xml,
90 | .tex .hljs-formula,
91 | .xml .javascript,
92 | .xml .vbscript,
93 | .xml .css,
94 | .xml .hljs-cdata {
95 | opacity: 0.5;
96 | }
97 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/kimbie.light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (light)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-title {
11 | color: #a57a4c;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-attribute,
17 | .hljs-tag,
18 | .hljs-regexp,
19 | .ruby .hljs-constant,
20 | .xml .hljs-tag .hljs-title,
21 | .xml .hljs-pi,
22 | .xml .hljs-doctype,
23 | .html .hljs-doctype,
24 | .css .hljs-id,
25 | .css .hljs-class,
26 | .css .hljs-pseudo {
27 | color: #dc3958;
28 | }
29 |
30 | /* Kimbie Orange */
31 | .hljs-number,
32 | .hljs-preprocessor,
33 | .hljs-built_in,
34 | .hljs-literal,
35 | .hljs-params,
36 | .hljs-constant {
37 | color: #f79a32;
38 | }
39 |
40 | /* Kimbie Yellow */
41 | .ruby .hljs-class .hljs-title,
42 | .css .hljs-rules .hljs-attribute {
43 | color: #f06431;
44 | }
45 |
46 | /* Kimbie Green */
47 | .hljs-string,
48 | .hljs-value,
49 | .hljs-inheritance,
50 | .hljs-header,
51 | .ruby .hljs-symbol,
52 | .xml .hljs-cdata {
53 | color: #889b4a;
54 | }
55 |
56 | /* Kimbie Aqua */
57 | .css .hljs-hexcolor {
58 | color: #088649;
59 | }
60 |
61 | /* Kimbie Blue */
62 | .hljs-function,
63 | .python .hljs-decorator,
64 | .python .hljs-title,
65 | .ruby .hljs-function .hljs-title,
66 | .ruby .hljs-title .hljs-keyword,
67 | .perl .hljs-sub,
68 | .javascript .hljs-title,
69 | .coffeescript .hljs-title {
70 | color: #8ab1b0;
71 | }
72 |
73 | /* Kimbie Purple */
74 | .hljs-keyword,
75 | .javascript .hljs-function {
76 | color: #98676a;
77 | }
78 |
79 | .hljs {
80 | display: block;
81 | overflow-x: auto;
82 | background: #fbebd4;
83 | color: #84613d;
84 | padding: 0.5em;
85 | -webkit-text-size-adjust: none;
86 | }
87 |
88 | .coffeescript .javascript,
89 | .javascript .xml,
90 | .tex .hljs-formula,
91 | .xml .javascript,
92 | .xml .vbscript,
93 | .xml .css,
94 | .xml .hljs-cdata {
95 | opacity: 0.5;
96 | }
97 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/mono-blue.css:
--------------------------------------------------------------------------------
1 | /*
2 | Five-color theme from a single blue hue.
3 | */
4 | .hljs {
5 | display: block;
6 | overflow-x: auto;
7 | padding: 0.5em;
8 | background: #eaeef3;
9 | -webkit-text-size-adjust: none;
10 | }
11 |
12 | .hljs,
13 | .hljs-list .hljs-built_in {
14 | color: #00193a;
15 | }
16 |
17 | .hljs-keyword,
18 | .hljs-title,
19 | .hljs-important,
20 | .hljs-request,
21 | .hljs-header,
22 | .hljs-javadoctag {
23 | font-weight: bold;
24 | }
25 |
26 | .hljs-comment,
27 | .hljs-chunk {
28 | color: #738191;
29 | }
30 |
31 | .hljs-string,
32 | .hljs-title,
33 | .hljs-parent,
34 | .hljs-built_in,
35 | .hljs-literal,
36 | .hljs-filename,
37 | .hljs-value,
38 | .hljs-addition,
39 | .hljs-tag,
40 | .hljs-argument,
41 | .hljs-link_label,
42 | .hljs-blockquote,
43 | .hljs-header {
44 | color: #0048ab;
45 | }
46 |
47 | .hljs-decorator,
48 | .hljs-prompt,
49 | .hljs-yardoctag,
50 | .hljs-subst,
51 | .hljs-symbol,
52 | .hljs-doctype,
53 | .hljs-regexp,
54 | .hljs-preprocessor,
55 | .hljs-pragma,
56 | .hljs-pi,
57 | .hljs-attribute,
58 | .hljs-attr_selector,
59 | .hljs-javadoc,
60 | .hljs-xmlDocTag,
61 | .hljs-deletion,
62 | .hljs-shebang,
63 | .hljs-string .hljs-variable,
64 | .hljs-link_url,
65 | .hljs-bullet,
66 | .hljs-sqbracket,
67 | .hljs-phony {
68 | color: #4c81c9;
69 | }
70 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/paraiso.dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (dark)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-title {
10 | color: #8d8687;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-attribute,
16 | .hljs-tag,
17 | .hljs-regexp,
18 | .ruby .hljs-constant,
19 | .xml .hljs-tag .hljs-title,
20 | .xml .hljs-pi,
21 | .xml .hljs-doctype,
22 | .html .hljs-doctype,
23 | .css .hljs-id,
24 | .css .hljs-class,
25 | .css .hljs-pseudo {
26 | color: #ef6155;
27 | }
28 |
29 | /* Paraíso Orange */
30 | .hljs-number,
31 | .hljs-preprocessor,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #f99b15;
37 | }
38 |
39 | /* Paraíso Yellow */
40 | .ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #fec418;
43 | }
44 |
45 | /* Paraíso Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #48b685;
53 | }
54 |
55 | /* Paraíso Aqua */
56 | .css .hljs-hexcolor {
57 | color: #5bc4bf;
58 | }
59 |
60 | /* Paraíso Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #06b6ef;
70 | }
71 |
72 | /* Paraíso Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #815ba4;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #2f1e2e;
82 | color: #a39e9b;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/paraiso.light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (light)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-title {
10 | color: #776e71;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-attribute,
16 | .hljs-tag,
17 | .hljs-regexp,
18 | .ruby .hljs-constant,
19 | .xml .hljs-tag .hljs-title,
20 | .xml .hljs-pi,
21 | .xml .hljs-doctype,
22 | .html .hljs-doctype,
23 | .css .hljs-id,
24 | .css .hljs-class,
25 | .css .hljs-pseudo {
26 | color: #ef6155;
27 | }
28 |
29 | /* Paraíso Orange */
30 | .hljs-number,
31 | .hljs-preprocessor,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-params,
35 | .hljs-constant {
36 | color: #f99b15;
37 | }
38 |
39 | /* Paraíso Yellow */
40 | .ruby .hljs-class .hljs-title,
41 | .css .hljs-rules .hljs-attribute {
42 | color: #fec418;
43 | }
44 |
45 | /* Paraíso Green */
46 | .hljs-string,
47 | .hljs-value,
48 | .hljs-inheritance,
49 | .hljs-header,
50 | .ruby .hljs-symbol,
51 | .xml .hljs-cdata {
52 | color: #48b685;
53 | }
54 |
55 | /* Paraíso Aqua */
56 | .css .hljs-hexcolor {
57 | color: #5bc4bf;
58 | }
59 |
60 | /* Paraíso Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #06b6ef;
70 | }
71 |
72 | /* Paraíso Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #815ba4;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #e7e9db;
82 | color: #4f424c;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/pojoaque.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Pojoaque Style by Jason Tate
4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
5 | Based on Solarized Style from http://ethanschoonover.com/solarized
6 |
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | color: #dccf8f;
14 | background: url(./pojoaque.jpg) repeat scroll left top #181914;
15 | -webkit-text-size-adjust: none;
16 | }
17 |
18 | .hljs-comment,
19 | .diff .hljs-header,
20 | .hljs-doctype,
21 | .lisp .hljs-string,
22 | .hljs-javadoc {
23 | color: #586e75;
24 | font-style: italic;
25 | }
26 |
27 | .hljs-keyword,
28 | .css .rule .hljs-keyword,
29 | .hljs-winutils,
30 | .javascript .hljs-title,
31 | .method,
32 | .hljs-addition,
33 | .css .hljs-tag,
34 | .hljs-list .hljs-keyword,
35 | .nginx .hljs-title {
36 | color: #b64926;
37 | }
38 |
39 | .hljs-number,
40 | .hljs-command,
41 | .hljs-string,
42 | .hljs-tag .hljs-value,
43 | .hljs-phpdoc,
44 | .hljs-dartdoc,
45 | .tex .hljs-formula,
46 | .hljs-regexp,
47 | .hljs-hexcolor {
48 | color: #468966;
49 | }
50 |
51 | .hljs-title,
52 | .hljs-localvars,
53 | .hljs-function .hljs-title,
54 | .hljs-chunk,
55 | .hljs-decorator,
56 | .hljs-built_in,
57 | .hljs-identifier,
58 | .hljs-id {
59 | color: #ffb03b;
60 | }
61 |
62 | .hljs-attribute,
63 | .hljs-variable,
64 | .lisp .hljs-body,
65 | .smalltalk .hljs-number,
66 | .hljs-constant,
67 | .hljs-class .hljs-title,
68 | .hljs-parent,
69 | .hljs-type {
70 | color: #b58900;
71 | }
72 |
73 | .css .hljs-attribute {
74 | color: #b89859;
75 | }
76 |
77 | .css .hljs-number,
78 | .css .hljs-hexcolor {
79 | color: #dccf8f;
80 | }
81 |
82 | .css .hljs-class {
83 | color: #d3a60c;
84 | }
85 |
86 | .hljs-preprocessor,
87 | .hljs-pragma,
88 | .hljs-pi,
89 | .hljs-shebang,
90 | .hljs-symbol,
91 | .hljs-symbol .hljs-string,
92 | .diff .hljs-change,
93 | .hljs-special,
94 | .hljs-attr_selector,
95 | .hljs-important,
96 | .hljs-subst,
97 | .hljs-cdata {
98 | color: #cb4b16;
99 | }
100 |
101 | .hljs-deletion {
102 | color: #dc322f;
103 | }
104 |
105 | .tex .hljs-formula {
106 | background: #073642;
107 | }
108 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/pojoaque.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/willmcgugan.techblog/media/highlight/styles/pojoaque.jpg
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/rainbow.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Style with support for rainbow parens
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #474949;
12 | color: #d1d9e1;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 |
17 | .hljs-body,
18 | .hljs-collection {
19 | color: #d1d9e1;
20 | }
21 |
22 | .hljs-comment,
23 | .diff .hljs-header,
24 | .hljs-doctype,
25 | .lisp .hljs-string,
26 | .hljs-javadoc {
27 | color: #969896;
28 | font-style: italic;
29 | }
30 |
31 | .hljs-keyword,
32 | .clojure .hljs-attribute,
33 | .hljs-winutils,
34 | .javascript .hljs-title,
35 | .hljs-addition,
36 | .css .hljs-tag {
37 | color: #cc99cc;
38 | }
39 |
40 | .hljs-number { color: #f99157; }
41 |
42 | .hljs-command,
43 | .hljs-string,
44 | .hljs-tag .hljs-value,
45 | .hljs-phpdoc,
46 | .hljs-dartdoc,
47 | .tex .hljs-formula,
48 | .hljs-regexp,
49 | .hljs-hexcolor {
50 | color: #8abeb7;
51 | }
52 |
53 | .hljs-title,
54 | .hljs-localvars,
55 | .hljs-function .hljs-title,
56 | .hljs-chunk,
57 | .hljs-decorator,
58 | .hljs-built_in,
59 | .hljs-identifier {
60 | color: #b5bd68;
61 | }
62 |
63 | .hljs-class .hljs-keyword {
64 | color: #f2777a;
65 | }
66 |
67 | .hljs-variable,
68 | .smalltalk .hljs-number,
69 | .hljs-constant,
70 | .hljs-class .hljs-title,
71 | .hljs-parent,
72 | .haskell .hljs-label,
73 | .hljs-id {
74 | color: #ffcc66;
75 | }
76 |
77 | .hljs-tag .hljs-title,
78 | .hljs-rules .hljs-property,
79 | .django .hljs-tag .hljs-keyword {
80 | font-weight: bold;
81 | }
82 |
83 | .hljs-attribute {
84 | color: #81a2be;
85 | }
86 |
87 | .hljs-preprocessor,
88 | .hljs-pragma,
89 | .hljs-pi,
90 | .hljs-shebang,
91 | .hljs-symbol,
92 | .hljs-symbol .hljs-string,
93 | .diff .hljs-change,
94 | .hljs-special,
95 | .hljs-attr_selector,
96 | .hljs-important,
97 | .hljs-subst,
98 | .hljs-cdata {
99 | color: #f99157;
100 | }
101 |
102 | .hljs-deletion {
103 | color: #dc322f;
104 | }
105 |
106 | .tex .hljs-formula {
107 | background: #eee8d5;
108 | }
109 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/school_book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/willmcgugan.techblog/media/highlight/styles/school_book.png
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/solarized_dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #002b36;
12 | color: #839496;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-comment,
17 | .diff .hljs-header,
18 | .hljs-doctype,
19 | .hljs-pi,
20 | .lisp .hljs-string,
21 | .hljs-javadoc {
22 | color: #586e75;
23 | }
24 |
25 | /* Solarized Green */
26 | .hljs-keyword,
27 | .hljs-winutils,
28 | .method,
29 | .hljs-addition,
30 | .css .hljs-tag,
31 | .hljs-request,
32 | .hljs-status,
33 | .nginx .hljs-title {
34 | color: #859900;
35 | }
36 |
37 | /* Solarized Cyan */
38 | .hljs-number,
39 | .hljs-command,
40 | .hljs-string,
41 | .hljs-tag .hljs-value,
42 | .hljs-rules .hljs-value,
43 | .hljs-phpdoc,
44 | .hljs-dartdoc,
45 | .tex .hljs-formula,
46 | .hljs-regexp,
47 | .hljs-hexcolor,
48 | .hljs-link_url {
49 | color: #2aa198;
50 | }
51 |
52 | /* Solarized Blue */
53 | .hljs-title,
54 | .hljs-localvars,
55 | .hljs-chunk,
56 | .hljs-decorator,
57 | .hljs-built_in,
58 | .hljs-identifier,
59 | .vhdl .hljs-literal,
60 | .hljs-id,
61 | .css .hljs-function {
62 | color: #268bd2;
63 | }
64 |
65 | /* Solarized Yellow */
66 | .hljs-attribute,
67 | .hljs-variable,
68 | .lisp .hljs-body,
69 | .smalltalk .hljs-number,
70 | .hljs-constant,
71 | .hljs-class .hljs-title,
72 | .hljs-parent,
73 | .hljs-type,
74 | .hljs-link_reference {
75 | color: #b58900;
76 | }
77 |
78 | /* Solarized Orange */
79 | .hljs-preprocessor,
80 | .hljs-preprocessor .hljs-keyword,
81 | .hljs-pragma,
82 | .hljs-shebang,
83 | .hljs-symbol,
84 | .hljs-symbol .hljs-string,
85 | .diff .hljs-change,
86 | .hljs-special,
87 | .hljs-attr_selector,
88 | .hljs-subst,
89 | .hljs-cdata,
90 | .css .hljs-pseudo,
91 | .hljs-header {
92 | color: #cb4b16;
93 | }
94 |
95 | /* Solarized Red */
96 | .hljs-deletion,
97 | .hljs-important {
98 | color: #dc322f;
99 | }
100 |
101 | /* Solarized Violet */
102 | .hljs-link_label {
103 | color: #6c71c4;
104 | }
105 |
106 | .tex .hljs-formula {
107 | background: #073642;
108 | }
109 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/solarized_light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fdf6e3;
12 | color: #657b83;
13 | -webkit-text-size-adjust: none;
14 | }
15 |
16 | .hljs-comment,
17 | .diff .hljs-header,
18 | .hljs-doctype,
19 | .hljs-pi,
20 | .lisp .hljs-string,
21 | .hljs-javadoc {
22 | color: #93a1a1;
23 | }
24 |
25 | /* Solarized Green */
26 | .hljs-keyword,
27 | .hljs-winutils,
28 | .method,
29 | .hljs-addition,
30 | .css .hljs-tag,
31 | .hljs-request,
32 | .hljs-status,
33 | .nginx .hljs-title {
34 | color: #859900;
35 | }
36 |
37 | /* Solarized Cyan */
38 | .hljs-number,
39 | .hljs-command,
40 | .hljs-string,
41 | .hljs-tag .hljs-value,
42 | .hljs-rules .hljs-value,
43 | .hljs-phpdoc,
44 | .hljs-dartdoc,
45 | .tex .hljs-formula,
46 | .hljs-regexp,
47 | .hljs-hexcolor,
48 | .hljs-link_url {
49 | color: #2aa198;
50 | }
51 |
52 | /* Solarized Blue */
53 | .hljs-title,
54 | .hljs-localvars,
55 | .hljs-chunk,
56 | .hljs-decorator,
57 | .hljs-built_in,
58 | .hljs-identifier,
59 | .vhdl .hljs-literal,
60 | .hljs-id,
61 | .css .hljs-function {
62 | color: #268bd2;
63 | }
64 |
65 | /* Solarized Yellow */
66 | .hljs-attribute,
67 | .hljs-variable,
68 | .lisp .hljs-body,
69 | .smalltalk .hljs-number,
70 | .hljs-constant,
71 | .hljs-class .hljs-title,
72 | .hljs-parent,
73 | .hljs-type,
74 | .hljs-link_reference {
75 | color: #b58900;
76 | }
77 |
78 | /* Solarized Orange */
79 | .hljs-preprocessor,
80 | .hljs-preprocessor .hljs-keyword,
81 | .hljs-pragma,
82 | .hljs-shebang,
83 | .hljs-symbol,
84 | .hljs-symbol .hljs-string,
85 | .diff .hljs-change,
86 | .hljs-special,
87 | .hljs-attr_selector,
88 | .hljs-subst,
89 | .hljs-cdata,
90 | .css .hljs-pseudo,
91 | .hljs-header {
92 | color: #cb4b16;
93 | }
94 |
95 | /* Solarized Red */
96 | .hljs-deletion,
97 | .hljs-important {
98 | color: #dc322f;
99 | }
100 |
101 | /* Solarized Violet */
102 | .hljs-link_label {
103 | color: #6c71c4;
104 | }
105 |
106 | .tex .hljs-formula {
107 | background: #eee8d5;
108 | }
109 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/tomorrow-night-blue.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Blue Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment {
8 | color: #7285b7;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-attribute,
14 | .hljs-tag,
15 | .hljs-regexp,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #ff9da4;
25 | }
26 |
27 | /* Tomorrow Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-pragma,
31 | .hljs-built_in,
32 | .hljs-literal,
33 | .hljs-params,
34 | .hljs-constant {
35 | color: #ffc58f;
36 | }
37 |
38 | /* Tomorrow Yellow */
39 | .ruby .hljs-class .hljs-title,
40 | .css .hljs-rules .hljs-attribute {
41 | color: #ffeead;
42 | }
43 |
44 | /* Tomorrow Green */
45 | .hljs-string,
46 | .hljs-value,
47 | .hljs-inheritance,
48 | .hljs-header,
49 | .ruby .hljs-symbol,
50 | .xml .hljs-cdata {
51 | color: #d1f1a9;
52 | }
53 |
54 | /* Tomorrow Aqua */
55 | .hljs-title,
56 | .css .hljs-hexcolor {
57 | color: #99ffff;
58 | }
59 |
60 | /* Tomorrow Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #bbdaff;
70 | }
71 |
72 | /* Tomorrow Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #ebbbff;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #002451;
82 | color: white;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/tomorrow-night-bright.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Bright Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment {
7 | color: #969896;
8 | }
9 |
10 | /* Tomorrow Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .ruby .hljs-constant,
16 | .xml .hljs-tag .hljs-title,
17 | .xml .hljs-pi,
18 | .xml .hljs-doctype,
19 | .html .hljs-doctype,
20 | .css .hljs-id,
21 | .css .hljs-class,
22 | .css .hljs-pseudo {
23 | color: #d54e53;
24 | }
25 |
26 | /* Tomorrow Orange */
27 | .hljs-number,
28 | .hljs-preprocessor,
29 | .hljs-pragma,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #e78c45;
35 | }
36 |
37 | /* Tomorrow Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rules .hljs-attribute {
40 | color: #e7c547;
41 | }
42 |
43 | /* Tomorrow Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #b9ca4a;
51 | }
52 |
53 | /* Tomorrow Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #70c0b1;
57 | }
58 |
59 | /* Tomorrow Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #7aa6da;
69 | }
70 |
71 | /* Tomorrow Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #c397d8;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: black;
81 | color: #eaeaea;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/tomorrow-night-eighties.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Eighties Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment {
7 | color: #999999;
8 | }
9 |
10 | /* Tomorrow Red */
11 | .hljs-variable,
12 | .hljs-attribute,
13 | .hljs-tag,
14 | .hljs-regexp,
15 | .ruby .hljs-constant,
16 | .xml .hljs-tag .hljs-title,
17 | .xml .hljs-pi,
18 | .xml .hljs-doctype,
19 | .html .hljs-doctype,
20 | .css .hljs-id,
21 | .css .hljs-class,
22 | .css .hljs-pseudo {
23 | color: #f2777a;
24 | }
25 |
26 | /* Tomorrow Orange */
27 | .hljs-number,
28 | .hljs-preprocessor,
29 | .hljs-pragma,
30 | .hljs-built_in,
31 | .hljs-literal,
32 | .hljs-params,
33 | .hljs-constant {
34 | color: #f99157;
35 | }
36 |
37 | /* Tomorrow Yellow */
38 | .ruby .hljs-class .hljs-title,
39 | .css .hljs-rules .hljs-attribute {
40 | color: #ffcc66;
41 | }
42 |
43 | /* Tomorrow Green */
44 | .hljs-string,
45 | .hljs-value,
46 | .hljs-inheritance,
47 | .hljs-header,
48 | .ruby .hljs-symbol,
49 | .xml .hljs-cdata {
50 | color: #99cc99;
51 | }
52 |
53 | /* Tomorrow Aqua */
54 | .hljs-title,
55 | .css .hljs-hexcolor {
56 | color: #66cccc;
57 | }
58 |
59 | /* Tomorrow Blue */
60 | .hljs-function,
61 | .python .hljs-decorator,
62 | .python .hljs-title,
63 | .ruby .hljs-function .hljs-title,
64 | .ruby .hljs-title .hljs-keyword,
65 | .perl .hljs-sub,
66 | .javascript .hljs-title,
67 | .coffeescript .hljs-title {
68 | color: #6699cc;
69 | }
70 |
71 | /* Tomorrow Purple */
72 | .hljs-keyword,
73 | .javascript .hljs-function {
74 | color: #cc99cc;
75 | }
76 |
77 | .hljs {
78 | display: block;
79 | overflow-x: auto;
80 | background: #2d2d2d;
81 | color: #cccccc;
82 | padding: 0.5em;
83 | -webkit-text-size-adjust: none;
84 | }
85 |
86 | .coffeescript .javascript,
87 | .javascript .xml,
88 | .tex .hljs-formula,
89 | .xml .javascript,
90 | .xml .vbscript,
91 | .xml .css,
92 | .xml .hljs-cdata {
93 | opacity: 0.5;
94 | }
95 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/tomorrow-night.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment {
8 | color: #969896;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-attribute,
14 | .hljs-tag,
15 | .hljs-regexp,
16 | .ruby .hljs-constant,
17 | .xml .hljs-tag .hljs-title,
18 | .xml .hljs-pi,
19 | .xml .hljs-doctype,
20 | .html .hljs-doctype,
21 | .css .hljs-id,
22 | .css .hljs-class,
23 | .css .hljs-pseudo {
24 | color: #cc6666;
25 | }
26 |
27 | /* Tomorrow Orange */
28 | .hljs-number,
29 | .hljs-preprocessor,
30 | .hljs-pragma,
31 | .hljs-built_in,
32 | .hljs-literal,
33 | .hljs-params,
34 | .hljs-constant {
35 | color: #de935f;
36 | }
37 |
38 | /* Tomorrow Yellow */
39 | .ruby .hljs-class .hljs-title,
40 | .css .hljs-rules .hljs-attribute {
41 | color: #f0c674;
42 | }
43 |
44 | /* Tomorrow Green */
45 | .hljs-string,
46 | .hljs-value,
47 | .hljs-inheritance,
48 | .hljs-header,
49 | .ruby .hljs-symbol,
50 | .xml .hljs-cdata {
51 | color: #b5bd68;
52 | }
53 |
54 | /* Tomorrow Aqua */
55 | .hljs-title,
56 | .css .hljs-hexcolor {
57 | color: #8abeb7;
58 | }
59 |
60 | /* Tomorrow Blue */
61 | .hljs-function,
62 | .python .hljs-decorator,
63 | .python .hljs-title,
64 | .ruby .hljs-function .hljs-title,
65 | .ruby .hljs-title .hljs-keyword,
66 | .perl .hljs-sub,
67 | .javascript .hljs-title,
68 | .coffeescript .hljs-title {
69 | color: #81a2be;
70 | }
71 |
72 | /* Tomorrow Purple */
73 | .hljs-keyword,
74 | .javascript .hljs-function {
75 | color: #b294bb;
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #1d1f21;
82 | color: #c5c8c6;
83 | padding: 0.5em;
84 | -webkit-text-size-adjust: none;
85 | }
86 |
87 | .coffeescript .javascript,
88 | .javascript .xml,
89 | .tex .hljs-formula,
90 | .xml .javascript,
91 | .xml .vbscript,
92 | .xml .css,
93 | .xml .hljs-cdata {
94 | opacity: 0.5;
95 | }
96 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/tomorrow.css:
--------------------------------------------------------------------------------
1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
2 |
3 | /* Tomorrow Comment */
4 | .hljs-comment {
5 | color: #8e908c;
6 | }
7 |
8 | /* Tomorrow Red */
9 | .hljs-variable,
10 | .hljs-attribute,
11 | .hljs-tag,
12 | .hljs-regexp,
13 | .ruby .hljs-constant,
14 | .xml .hljs-tag .hljs-title,
15 | .xml .hljs-pi,
16 | .xml .hljs-doctype,
17 | .html .hljs-doctype,
18 | .css .hljs-id,
19 | .css .hljs-class,
20 | .css .hljs-pseudo {
21 | color: #c82829;
22 | }
23 |
24 | /* Tomorrow Orange */
25 | .hljs-number,
26 | .hljs-preprocessor,
27 | .hljs-pragma,
28 | .hljs-built_in,
29 | .hljs-literal,
30 | .hljs-params,
31 | .hljs-constant {
32 | color: #f5871f;
33 | }
34 |
35 | /* Tomorrow Yellow */
36 | .ruby .hljs-class .hljs-title,
37 | .css .hljs-rules .hljs-attribute {
38 | color: #eab700;
39 | }
40 |
41 | /* Tomorrow Green */
42 | .hljs-string,
43 | .hljs-value,
44 | .hljs-inheritance,
45 | .hljs-header,
46 | .ruby .hljs-symbol,
47 | .xml .hljs-cdata {
48 | color: #718c00;
49 | }
50 |
51 | /* Tomorrow Aqua */
52 | .hljs-title,
53 | .css .hljs-hexcolor {
54 | color: #3e999f;
55 | }
56 |
57 | /* Tomorrow Blue */
58 | .hljs-function,
59 | .python .hljs-decorator,
60 | .python .hljs-title,
61 | .ruby .hljs-function .hljs-title,
62 | .ruby .hljs-title .hljs-keyword,
63 | .perl .hljs-sub,
64 | .javascript .hljs-title,
65 | .coffeescript .hljs-title {
66 | color: #4271ae;
67 | }
68 |
69 | /* Tomorrow Purple */
70 | .hljs-keyword,
71 | .javascript .hljs-function {
72 | color: #8959a8;
73 | }
74 |
75 | .hljs {
76 | display: block;
77 | overflow-x: auto;
78 | background: white;
79 | color: #4d4d4c;
80 | padding: 0.5em;
81 | -webkit-text-size-adjust: none;
82 | }
83 |
84 | .coffeescript .javascript,
85 | .javascript .xml,
86 | .tex .hljs-formula,
87 | .xml .javascript,
88 | .xml .vbscript,
89 | .xml .css,
90 | .xml .hljs-cdata {
91 | opacity: 0.5;
92 | }
93 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/vs.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Visual Studio-like style based on original C# coloring by Jason Diamond
4 |
5 | */
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: white;
11 | color: black;
12 | -webkit-text-size-adjust: none;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-annotation,
17 | .diff .hljs-header,
18 | .hljs-chunk,
19 | .apache .hljs-cbracket {
20 | color: #008000;
21 | }
22 |
23 | .hljs-keyword,
24 | .hljs-id,
25 | .hljs-built_in,.css
26 | .smalltalk .hljs-class,
27 | .hljs-winutils,
28 | .bash .hljs-variable,
29 | .tex .hljs-command,
30 | .hljs-request,
31 | .hljs-status,
32 | .nginx .hljs-title,
33 | .xml .hljs-tag,
34 | .xml .hljs-tag .hljs-value {
35 | color: #00f;
36 | }
37 |
38 | .hljs-string,
39 | .hljs-title,
40 | .hljs-parent,
41 | .hljs-tag .hljs-value,
42 | .hljs-rules .hljs-value,
43 | .ruby .hljs-symbol,
44 | .ruby .hljs-symbol .hljs-string,
45 | .hljs-template_tag,
46 | .django .hljs-variable,
47 | .hljs-addition,
48 | .hljs-flow,
49 | .hljs-stream,
50 | .apache .hljs-tag,
51 | .hljs-date,
52 | .tex .hljs-formula,
53 | .coffeescript .hljs-attribute {
54 | color: #a31515;
55 | }
56 |
57 | .ruby .hljs-string,
58 | .hljs-decorator,
59 | .hljs-filter .hljs-argument,
60 | .hljs-localvars,
61 | .hljs-array,
62 | .hljs-attr_selector,
63 | .hljs-pseudo,
64 | .hljs-pi,
65 | .hljs-doctype,
66 | .hljs-deletion,
67 | .hljs-envvar,
68 | .hljs-shebang,
69 | .hljs-preprocessor,
70 | .hljs-pragma,
71 | .userType,
72 | .apache .hljs-sqbracket,
73 | .nginx .hljs-built_in,
74 | .tex .hljs-special,
75 | .hljs-prompt {
76 | color: #2b91af;
77 | }
78 |
79 | .hljs-phpdoc,
80 | .hljs-dartdoc,
81 | .hljs-javadoc,
82 | .hljs-xmlDocTag {
83 | color: #808080;
84 | }
85 |
86 | .hljs-type,
87 | .hljs-typename { font-weight: bold; }
88 |
89 | .vhdl .hljs-string { color: #666666; }
90 | .vhdl .hljs-literal { color: #a31515; }
91 | .vhdl .hljs-attribute { color: #00b0e8; }
92 |
93 | .xml .hljs-attribute { color: #f00; }
94 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/highlight/styles/zenburn.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov
4 | based on dark.css by Ivan Sagalaev
5 |
6 | */
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #3f3f3f;
13 | color: #dcdcdc;
14 | -webkit-text-size-adjust: none;
15 | }
16 |
17 | .hljs-keyword,
18 | .hljs-tag,
19 | .css .hljs-class,
20 | .css .hljs-id,
21 | .lisp .hljs-title,
22 | .nginx .hljs-title,
23 | .hljs-request,
24 | .hljs-status,
25 | .clojure .hljs-attribute {
26 | color: #e3ceab;
27 | }
28 |
29 | .django .hljs-template_tag,
30 | .django .hljs-variable,
31 | .django .hljs-filter .hljs-argument {
32 | color: #dcdcdc;
33 | }
34 |
35 | .hljs-number,
36 | .hljs-date {
37 | color: #8cd0d3;
38 | }
39 |
40 | .dos .hljs-envvar,
41 | .dos .hljs-stream,
42 | .hljs-variable,
43 | .apache .hljs-sqbracket {
44 | color: #efdcbc;
45 | }
46 |
47 | .dos .hljs-flow,
48 | .diff .hljs-change,
49 | .python .exception,
50 | .python .hljs-built_in,
51 | .hljs-literal,
52 | .tex .hljs-special {
53 | color: #efefaf;
54 | }
55 |
56 | .diff .hljs-chunk,
57 | .hljs-subst {
58 | color: #8f8f8f;
59 | }
60 |
61 | .dos .hljs-keyword,
62 | .hljs-decorator,
63 | .hljs-title,
64 | .hljs-type,
65 | .diff .hljs-header,
66 | .ruby .hljs-class .hljs-parent,
67 | .apache .hljs-tag,
68 | .nginx .hljs-built_in,
69 | .tex .hljs-command,
70 | .hljs-prompt {
71 | color: #efef8f;
72 | }
73 |
74 | .dos .hljs-winutils,
75 | .ruby .hljs-symbol,
76 | .ruby .hljs-symbol .hljs-string,
77 | .ruby .hljs-string {
78 | color: #dca3a3;
79 | }
80 |
81 | .diff .hljs-deletion,
82 | .hljs-string,
83 | .hljs-tag .hljs-value,
84 | .hljs-preprocessor,
85 | .hljs-pragma,
86 | .hljs-built_in,
87 | .hljs-javadoc,
88 | .smalltalk .hljs-class,
89 | .smalltalk .hljs-localvars,
90 | .smalltalk .hljs-array,
91 | .css .hljs-rules .hljs-value,
92 | .hljs-attr_selector,
93 | .hljs-pseudo,
94 | .apache .hljs-cbracket,
95 | .tex .hljs-formula,
96 | .coffeescript .hljs-attribute {
97 | color: #cc9393;
98 | }
99 |
100 | .hljs-shebang,
101 | .diff .hljs-addition,
102 | .hljs-comment,
103 | .hljs-annotation,
104 | .hljs-pi,
105 | .hljs-doctype {
106 | color: #7f9f7f;
107 | }
108 |
109 | .coffeescript .javascript,
110 | .javascript .xml,
111 | .tex .hljs-formula,
112 | .xml .javascript,
113 | .xml .vbscript,
114 | .xml .css,
115 | .xml .hljs-cdata {
116 | opacity: 0.5;
117 | }
118 |
119 |
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/img/bearback.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/willmcgugan.techblog/media/img/bearback.jpg
--------------------------------------------------------------------------------
/willmcgugan.techblog/media/img/birdback.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/moyaproject/moya-techblog/4f7d606b22773db40850b742945e83e328c63bb7/willmcgugan.techblog/media/img/birdback.jpg
--------------------------------------------------------------------------------
/willmcgugan.techblog/templates/404.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block "title" %}Not Found{% end %}
4 |
5 | {% block "body" %}
6 |
7 |
8 | The server couldn't find any content for this page. It may have been deleted, or never existed.
9 |
10 |
11 | If you think there should be a page here, why not use our Feedback form and let us know?
12 |
13 | {% end-block %}
--------------------------------------------------------------------------------
/willmcgugan.techblog/templates/500.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block "title" %}Internal Error{% end %}
4 |
5 | {% block "body" %}
6 |
7 |
8 | The server encountered an error when it attempted to generate this page.
9 |
10 |
11 | Admin have been notified. Consider using the Feedback form to let us know what you were doing when you got this error page!
12 |
13 | {% end-block %}
--------------------------------------------------------------------------------
/willmcgugan.techblog/templates/footer.html:
--------------------------------------------------------------------------------
1 |
2 |