From ed7fc0d860321212a38f6fa8db14af5a5d34d2a6 Mon Sep 17 00:00:00 2001 From: Jonathan Harker Date: Sat, 29 Mar 2014 14:47:41 +1300 Subject: [PATCH] Initial commit. --- conf.py | 715 +++++++++++++++++++++++++++++ images/communitygarden-map.png | Bin 0 -> 55525 bytes plugins/microdata/README.md | 50 ++ plugins/microdata/microdata.plugin | 13 + plugins/microdata/microdata.py | 188 ++++++++ plugins/microdata/microdata.pyc | Bin 0 -> 7521 bytes posts/pukerua-bay-school-gala.rst | 88 ++++ 7 files changed, 1054 insertions(+) create mode 100644 conf.py create mode 100644 images/communitygarden-map.png create mode 100644 plugins/microdata/README.md create mode 100644 plugins/microdata/microdata.plugin create mode 100644 plugins/microdata/microdata.py create mode 100644 plugins/microdata/microdata.pyc create mode 100644 posts/pukerua-bay-school-gala.rst diff --git a/conf.py b/conf.py new file mode 100644 index 0000000..4dd9b53 --- /dev/null +++ b/conf.py @@ -0,0 +1,715 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals +import time + +#!! This is the configuration of Nikola. !!# +#!! You should edit it to your liking. !!# + + +# Data about this site +BLOG_AUTHOR = "Jonathan Harker" +BLOG_TITLE = "Pukerua Bay Community Garden" +# This is the main URL for your site. It will be used +# in a prominent link +SITE_URL = "http://gardens.pukeruabay.org.nz/" +# This is the URL where nikola's output will be deployed. +# If not set, defaults to SITE_URL +# BASE_URL = "http://getnikola.com/" +BLOG_EMAIL = "jonathan@harker.kiwi.nz" +BLOG_DESCRIPTION = "The Pukerua Bay community garden and food forest project." + +# Nikola is multilingual! +# +# Currently supported languages are: +# bg Bulgarian +# ca Catalan +# cs Czech [ALTERNATIVELY cz] +# de German +# el Greek [NOT gr!] +# en English +# eo Esperanto +# es Spanish +# et Estonian +# eu Basque +# fa Persian +# fi Finnish +# fr French +# hi Hindi +# hr Croatian +# it Italian +# ja Japanese [NOT jp!] +# nb Norwegian Bokmål +# nl Dutch +# pt_br Portuguese (Brasil) +# pl Polish +# ru Russian +# sl Slovenian [NOT sl_si!] +# tr Turkish (Turkey) [NOT tr_tr!] +# ur Urdu +# zh_cn Chinese (Simplified) +# +# If you want to use Nikola with a non-supported language you have to provide +# a module containing the necessary translations +# (cf. the modules at nikola/data/themes/base/messages/). +# If a specific post is not translated to a language, then the version +# in the default language will be shown instead. + +# What is the default language? +DEFAULT_LANG = "en" + +# What other languages do you have? +# The format is {"translationcode" : "path/to/translation" } +# the path will be used as a prefix for the generated pages location +TRANSLATIONS = { + DEFAULT_LANG: "", + # Example for another language: + # "es": "./es", +} + +# What will translated input files be named like? + +# If you have a page something.rst, then something.rst.pl will be considered +# its Polish translation. +# (in the above example: path == "something", lang == "pl", ext == "rst") +# this pattern is also used for metadata: +# something.meta -> something.meta.pl + +TRANSLATIONS_PATTERN = "{path}.{ext}.{lang}" + +# If you don't want your Polish files to be considered Perl code, use this: +# TRANSLATIONS_PATTERN = "{path}.{lang}.{ext}" +# Note that this pattern will become the default in v7.0.0. + +# Links for the sidebar / navigation bar. +# You should provide a key-value pair for each used language. +NAVIGATION_LINKS = { + DEFAULT_LANG: ( + ('/archive.html', 'Archives'), + ('/categories/index.html', 'Tags'), + ('/rss.xml', 'RSS'), + ), +} + +# Below this point, everything is optional + +# While nikola can select a sensible locale for each language, +# sometimes explicit control can come handy. +# In this file we express locales in the string form that +# python's locales will accept in your OS, by example +# "en_US.utf8" in unix-like OS, "English_United States" in Windows. +# LOCALES = dict mapping language --> explicit locale for the languages +# in TRANSLATIONS. You can ommit one or more keys. +# LOCALE_FALLBACK = locale to use when an explicit locale is unavailable +# LOCALE_DEFAULT = locale to use for languages not mentioned in LOCALES; if +# not set the default Nikola mapping is used. + +# POSTS and PAGES contains (wildcard, destination, template) tuples. +# +# The wildcard is used to generate a list of reSt source files +# (whatever/thing.txt). +# +# That fragment could have an associated metadata file (whatever/thing.meta), +# and optionally translated files (example for spanish, with code "es"): +# whatever/thing.txt.es and whatever/thing.meta.es +# +# This assumes you use the default TRANSLATIONS_PATTERN. +# +# From those files, a set of HTML fragment files will be generated: +# cache/whatever/thing.html (and maybe cache/whatever/thing.html.es) +# +# These files are combinated with the template to produce rendered +# pages, which will be placed at +# output / TRANSLATIONS[lang] / destination / pagename.html +# +# where "pagename" is the "slug" specified in the metadata file. +# +# The difference between POSTS and PAGES is that POSTS are added +# to feeds and are considered part of a blog, while PAGES are +# just independent HTML pages. +# + +POSTS = ( +("posts/*.rst", "posts", "post.tmpl"), +("posts/*.txt", "posts", "post.tmpl"), +) +PAGES = ( +("stories/*.rst", "stories", "story.tmpl"), +("stories/*.txt", "stories", "story.tmpl"), +) + +# One or more folders containing files to be copied as-is into the output. +# The format is a dictionary of "source" "relative destination". +# Default is: +# FILES_FOLDERS = {'files': '' } +# Which means copy 'files' into 'output' + +# A mapping of languages to file-extensions that represent that language. +# Feel free to add or delete extensions to any list, but don't add any new +# compilers unless you write the interface for it yourself. +# +# 'rest' is reStructuredText +# 'markdown' is MarkDown +# 'html' assumes the file is html and just copies it +COMPILERS = { +"rest": ('.rst', '.txt'), +"markdown": ('.md', '.mdown', '.markdown'), +"textile": ('.textile',), +"txt2tags": ('.t2t',), +"bbcode": ('.bb',), +"wiki": ('.wiki',), +"ipynb": ('.ipynb',), +"html": ('.html', '.htm'), +# PHP files are rendered the usual way (i.e. with the full templates). +# The resulting files have .php extensions, making it possible to run +# them without reconfiguring your server to recognize them. +"php": ('.php',), +# Pandoc detects the input from the source filename +# but is disabled by default as it would conflict +# with many of the others. +# "pandoc": ('.rst', '.md', '.txt'), +} + +# Create by default posts in one file format? +# Set to False for two-file posts, with separate metadata. +# ONE_FILE_POSTS = True + +# If this is set to True, then posts that are not translated to a language +# LANG will not be visible at all in the pages in that language. +# If set to False, the DEFAULT_LANG version will be displayed for +# untranslated posts. +# HIDE_UNTRANSLATED_POSTS = False + +# Paths for different autogenerated bits. These are combined with the +# translation paths. + +# Final locations are: +# output / TRANSLATION[lang] / TAG_PATH / index.html (list of tags) +# output / TRANSLATION[lang] / TAG_PATH / tag.html (list of posts for a tag) +# output / TRANSLATION[lang] / TAG_PATH / tag.xml (RSS feed for a tag) +# TAG_PATH = "categories" + +# If TAG_PAGES_ARE_INDEXES is set to True, each tag's page will contain +# the posts themselves. If set to False, it will be just a list of links. +# TAG_PAGES_ARE_INDEXES = True + +# Final location for the main blog page and sibling paginated pages is +# output / TRANSLATION[lang] / INDEX_PATH / index-*.html +# INDEX_PATH = "" + +# Create per-month archives instead of per-year +# CREATE_MONTHLY_ARCHIVE = False +# Create one large archive instead of per-year +# CREATE_SINGLE_ARCHIVE = False +# Final locations for the archives are: +# output / TRANSLATION[lang] / ARCHIVE_PATH / ARCHIVE_FILENAME +# output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / index.html +# output / TRANSLATION[lang] / ARCHIVE_PATH / YEAR / MONTH / index.html +# ARCHIVE_PATH = "" +# ARCHIVE_FILENAME = "archive.html" + +# URLs to other posts/pages can take 3 forms: +# rel_path: a relative URL to the current page/post (default) +# full_path: a URL with the full path from the root +# absolute: a complete URL (that includes the SITE_URL) +# URL_TYPE = 'rel_path' + +# Final location for the blog main RSS feed is: +# output / TRANSLATION[lang] / RSS_PATH / rss.xml +# RSS_PATH = "" + +# Number of posts in RSS feeds +# FEED_LENGTH = 10 + +# Slug the Tag URL easier for users to type, special characters are +# often removed or replaced as well. +# SLUG_TAG_PATH = True + +# A list of redirection tuples, [("foo/from.html", "/bar/to.html")]. +# +# A HTML file will be created in output/foo/from.html that redirects +# to the "/bar/to.html" URL. notice that the "from" side MUST be a +# relative URL. +# +# If you don't need any of these, just set to [] +# REDIRECTIONS = [] + +# Commands to execute to deploy. Can be anything, for example, +# you may use rsync: +# "rsync -rav --delete output/ joe@my.site:/srv/www/site" +# And then do a backup, or run `nikola ping` from the `ping` +# plugin (`nikola install_plugin ping`). +# To do manual deployment, set it to [] +DEPLOY_COMMANDS = ['rsync -avz --delete output/* tauceti.openblue.co.nz:sites/pukeruabay/gardens/www/'] + +# Where the output site should be located +# If you don't use an absolute path, it will be considered as relative +# to the location of conf.py +# OUTPUT_FOLDER = 'output' + +# where the "cache" of partial generated content should be located +# default: 'cache' +# CACHE_FOLDER = 'cache' + +# Filters to apply to the output. +# A directory where the keys are either: a file extensions, or +# a tuple of file extensions. +# +# And the value is a list of commands to be applied in order. +# +# Each command must be either: +# +# A string containing a '%s' which will +# be replaced with a filename. The command *must* produce output +# in place. +# +# Or: +# +# A python callable, which will be called with the filename as +# argument. +# +# By default, there are no filters. +# +# Many filters are shipped with Nikola. A list is available in the manual: +# +# FILTERS = { +# ".jpg": ["jpegoptim --strip-all -m75 -v %s"], +# } + +# Expert setting! Create a gzipped copy of each generated file. Cheap server- +# side optimization for very high traffic sites or low memory servers. +# GZIP_FILES = False +# File extensions that will be compressed +# GZIP_EXTENSIONS = ('.txt', '.htm', '.html', '.css', '.js', '.json', '.xml') +# Use an external gzip command? None means no. +# Example: GZIP_COMMAND = "pigz -k {filename}" +# GZIP_COMMAND = None +# Make sure the server does not return a "Accept-Ranges: bytes" header for +# files compressed by this option! OR make sure that a ranged request does not +# return partial content of another representation for these resources. Do not +# use this feature if you do not understand what this means. + +# Compiler to process LESS files. +# LESS_COMPILER = 'lessc' + +# A list of options to pass to the LESS compiler. +# Final command is: LESS_COMPILER LESS_OPTIONS file.less +# LESS_OPTIONS = [] + +# Compiler to process Sass files. +# SASS_COMPILER = 'sass' + +# A list of options to pass to the Sass compiler. +# Final command is: SASS_COMPILER SASS_OPTIONS file.s(a|c)ss +# SASS_OPTIONS = [] + +# ############################################################################# +# Image Gallery Options +# ############################################################################# + +# Galleries are folders in galleries/ +# Final location of galleries will be output / GALLERY_PATH / gallery_name +GALLERY_PATH = "galleries" +THUMBNAIL_SIZE = 180 +MAX_IMAGE_SIZE = 1280 +USE_FILENAME_AS_TITLE = True +EXTRA_IMAGE_EXTENSIONS = [] +# +# If set to False, it will sort by filename instead. Defaults to True +GALLERY_SORT_BY_DATE = True + +# ############################################################################# +# HTML fragments and diverse things that are used by the templates +# ############################################################################# + +# Data about post-per-page indexes. +# INDEXES_PAGES defaults to 'old posts, page %d' or 'page %d' (translated), +# depending on the value of INDEXES_PAGES_MAIN. +# INDEXES_TITLE = "" # If this is empty, defaults to BLOG_TITLE +# INDEXES_PAGES = "" # If this is empty, defaults to '[old posts,] page %d' (see above) +# INDEXES_PAGES_MAIN = False # If True, INDEXES_PAGES is also displayed on + # the main (the newest) index page (index.html) + +# Name of the theme to use. +THEME = "bootstrap3" + +# Color scheme to be used for code blocks. If your theme provides +# "assets/css/code.css" this is ignored. +# Can be any of autumn borland bw colorful default emacs friendly fruity manni +# monokai murphy native pastie perldoc rrt tango trac vim vs +# CODE_COLOR_SCHEME = 'default' + +# If you use 'site-reveal' theme you can select several subthemes +# THEME_REVEAL_CONFIG_SUBTHEME = 'sky' +# You can also use: beige/serif/simple/night/default + +# Again, if you use 'site-reveal' theme you can select several transitions +# between the slides +# THEME_REVEAL_CONFIG_TRANSITION = 'cube' +# You can also use: page/concave/linear/none/default + +# date format used to display post dates. +# (str used by datetime.datetime.strftime) +# DATE_FORMAT = '%Y-%m-%d %H:%M' + +# FAVICONS contains (name, file, size) tuples. +# Used for create favicon link like this: +# +# For creating favicons, take a look at: +# http://www.netmagazine.com/features/create-perfect-favicon +# FAVICONS = { +# ("icon", "/favicon.ico", "16x16"), +# ("icon", "/icon_128x128.png", "128x128"), +# } + +# Show only teasers in the index pages? Defaults to False. +# INDEX_TEASERS = False + +# A HTML fragment with the Read more... link. +# The following tags exist and are replaced for you: +# {link} A link to the full post page. +# {read_more} The string “Read more” in the current language. +# {{ A literal { (U+007B LEFT CURLY BRACKET) +# }} A literal } (U+007D RIGHT CURLY BRACKET) +# READ_MORE_LINK = '

{read_more}…

' + +# A HTML fragment describing the license, for the sidebar. +LICENSE = "" +# I recommend using the Creative Commons' wizard: +# http://creativecommons.org/choose/ +# LICENSE = """ +# +# Creative Commons License BY-NC-SA""" + +# A small copyright notice for the page footer (in HTML). +CONTENT_FOOTER = 'Contents © {date} {author} - Powered by Nikola {license}' +CONTENT_FOOTER = CONTENT_FOOTER.format(email=BLOG_EMAIL, + author=BLOG_AUTHOR, + date=time.gmtime().tm_year, + license=LICENSE) + +# To use comments, you can choose between different third party comment +# systems, one of "disqus", "livefyre", "intensedebate", "moot", +# "googleplus", "facebook" or "isso" +COMMENT_SYSTEM = "disqus" +# And you also need to add your COMMENT_SYSTEM_ID which +# depends on what comment system you use. The default is +# "nikolademo" which is a test account for Disqus. More information +# is in the manual. +COMMENT_SYSTEM_ID = "pukeruabaygardens" + +# Enable annotations using annotateit.org? +# If set to False, you can still enable them for individual posts and pages +# setting the "annotations" metadata. +# If set to True, you can disable them for individual posts and pages using +# the "noannotations" metadata. +# ANNOTATIONS = False + +# Create index.html for story folders? +# STORY_INDEX = False +# Enable comments on story pages? +# COMMENTS_IN_STORIES = False +# Enable comments on picture gallery pages? +# COMMENTS_IN_GALLERIES = False + +# What file should be used for directory indexes? +# Defaults to index.html +# Common other alternatives: default.html for IIS, index.php +# INDEX_FILE = "index.html" + +# If a link ends in /index.html, drop the index.html part. +# http://mysite/foo/bar/index.html => http://mysite/foo/bar/ +# (Uses the INDEX_FILE setting, so if that is, say, default.html, +# it will instead /foo/default.html => /foo) +# (Note: This was briefly STRIP_INDEX_HTML in v 5.4.3 and 5.4.4) +# Default = False +# STRIP_INDEXES = False + +# Should the sitemap list directories which only include other directories +# and no files. +# Default to True +# If this is False +# e.g. /2012 includes only /01, /02, /03, /04, ...: don't add it to the sitemap +# if /2012 includes any files (including index.html)... add it to the sitemap +# SITEMAP_INCLUDE_FILELESS_DIRS = True + +# Instead of putting files in .html, put them in +# /index.html. Also enables STRIP_INDEXES +# This can be disabled on a per-page/post basis by adding +# .. pretty_url: False +# to the metadata +# PRETTY_URLS = False + +# If True, publish future dated posts right away instead of scheduling them. +# Defaults to False. +# FUTURE_IS_NOW = False + +# If True, future dated posts are allowed in deployed output +# Only the individual posts are published/deployed; not in indexes/sitemap +# Generally, you want FUTURE_IS_NOW and DEPLOY_FUTURE to be the same value. +# DEPLOY_FUTURE = False +# If False, draft posts will not be deployed +# DEPLOY_DRAFTS = True + +# Allows scheduling of posts using the rule specified here (new_post -s) +# Specify an iCal Recurrence Rule: http://www.kanzaki.com/docs/ical/rrule.html +# SCHEDULE_RULE = '' +# If True, use the scheduling rule to all posts by default +# SCHEDULE_ALL = False +# If True, schedules post to today if possible, even if scheduled hour is over +# SCHEDULE_FORCE_TODAY = False + +# Do you want a add a Mathjax config file? +# MATHJAX_CONFIG = "" + +# If you are using the compile-ipynb plugin, just add this one: +#MATHJAX_CONFIG = """ +# +#""" + +# Do you want to customize the nbconversion of your IPython notebook? +# IPYNB_CONFIG = {} +# With the following example configuracion you can use a custom jinja template +# called `toggle.tpl` which has to be located in your site/blog main folder: +# IPYNB_CONFIG = {'Exporter':{'template_file': 'toggle'}} + +# What MarkDown extensions to enable? +# You will also get gist, nikola and podcast because those are +# done in the code, hope you don't mind ;-) +# MARKDOWN_EXTENSIONS = ['fenced_code', 'codehilite'] + +# Social buttons. This is sample code for AddThis (which was the default for a +# long time). Insert anything you want here, or even make it empty. +# SOCIAL_BUTTONS_CODE = """ +# +#
+# Share +#
  • +#
  • +#
  • +#
  • +#
+#
+# +# +# """ + +# Hide link to source for the posts? +HIDE_SOURCELINK = True +# Copy the source files for your pages? +# Setting it to False implies HIDE_SOURCELINK = True +COPY_SOURCES = False + +# Modify the number of Post per Index Page +# Defaults to 10 +# INDEX_DISPLAY_POST_COUNT = 10 + +# RSS_LINK is a HTML fragment to link the RSS or Atom feeds. If set to None, +# the base.tmpl will use the feed Nikola generates. However, you may want to +# change it for a feedburner feed or something else. +# RSS_LINK = None + +# Show only teasers in the RSS feed? Default to True +# RSS_TEASERS = True + +# A search form to search this site, for the sidebar. You can use a google +# custom search (http://www.google.com/cse/) +# Or a duckduckgo search: https://duckduckgo.com/search_box.html +# Default is no search form. +# SEARCH_FORM = "" +# +# This search form works for any site and looks good in the "site" theme where +# it appears on the navigation bar: +# +#SEARCH_FORM = """ +# +# +# +#""" % SITE_URL +# +# If you prefer a google search form, here's an example that should just work: +#SEARCH_FORM = """ +# +# +# +#""" % SITE_URL + +# Also, there is a local search plugin you can use, based on Tipue, but it requires setting several +# options: + +# SEARCH_FORM = """ +# +# +# """ +# +# BODY_END = """ +# +# +# +# """ + +# EXTRA_HEAD_DATA = """ +# +#
+# """ +# ENABLED_EXTRAS = ['local_search'] +# + + +# Use content distribution networks for jquery and twitter-bootstrap css and js +# If this is True, jquery is served from the Google CDN and twitter-bootstrap +# is served from the NetDNA CDN +# Set this to False if you want to host your site without requiring access to +# external resources. +# USE_CDN = False + +# Extra things you want in the pages HEAD tag. This will be added right +# before +# EXTRA_HEAD_DATA = "" +# Google Analytics or whatever else you use. Added to the bottom of +# in the default template (base.tmpl). +# BODY_END = "" + +# The possibility to extract metadata from the filename by using a +# regular expression. +# To make it work you need to name parts of your regular expression. +# The following names will be used to extract metadata: +# - title +# - slug +# - date +# - tags +# - link +# - description +# +# An example re is the following: +# '(?P\d{4}-\d{2}-\d{2})-(?P.*)-(?P.*)\.md' +# FILE_METADATA_REGEXP = None + +# Additional metadata that is added to a post when creating a new_post +# ADDITIONAL_METADATA = {} + +# Nikola supports Twitter Card summaries / Open Graph. +# Twitter cards make it possible for you to attach media to Tweets +# that link to your content. +# +# IMPORTANT: +# Please note, that you need to opt-in for using Twitter Cards! +# To do this please visit +# https://dev.twitter.com/form/participate-twitter-cards +# +# Uncomment and modify to following lines to match your accounts. +# Specifying the id for either 'site' or 'creator' will be preferred +# over the cleartext username. Specifying an ID is not necessary. +# Displaying images is currently not supported. +# TWITTER_CARD = { +# # 'use_twitter_cards': True, # enable Twitter Cards / Open Graph +# # 'site': '@website', # twitter nick for the website +# # 'site:id': 123456, # Same as site, but the website's Twitter user ID +# # instead. +# # 'creator': '@username', # Username for the content creator / author. +# # 'creator:id': 654321, # Same as creator, but the Twitter user's ID. +# } + + +# Post's dates are considered in UTC by default, if you want to use +# another time zone, please set TIMEZONE to match. Check the available +# list from Wikipedia: +# http://en.wikipedia.org/wiki/List_of_tz_database_time_zones +# (eg. 'Europe/Zurich') +# Also, if you want to use a different time zone in some of your posts, +# you can use W3C-DTF Format (ex. 2012-03-30T23:00:00+02:00) +# +TIMEZONE = 'Pacific/Auckland' + +# If webassets is installed, bundle JS and CSS to make site loading faster +# USE_BUNDLES = True + +# Plugins you don't want to use. Be careful :-) +# DISABLED_PLUGINS = ["render_galleries"] + +# Add the absolute paths to directories containing plugins to use them. +# For example, the `plugins` directory of your clone of the Nikola plugins +# repository. +# EXTRA_PLUGINS_DIRS = [] + +# Experimental plugins - use at your own risk. +# They probably need some manual adjustments - please see their respective +# readme. +# ENABLED_EXTRAS = [ +# 'planetoid', +# 'ipynb', +# 'local_search', +# 'render_mustache', +# ] + +# List of regular expressions, links matching them will always be considered +# valid by "nikola check -l" +# LINK_CHECK_WHITELIST = [] + +# If set to True, enable optional hyphenation in your posts (requires pyphen) +# HYPHENATE = False + +# The <hN> tags in HTML generated by certain compilers (reST/Markdown) +# will be demoted by that much (1 → h1 will become h2 and so on) +# This was a hidden feature of the Markdown and reST compilers in the +# past. Useful especially if your post titles are in <h1> tags too, for +# example. +# (defaults to 1.) +# DEMOTE_HEADERS = 1 + +# You can configure the logging handlers installed as plugins or change the +# log level of the default stdout handler. +LOGGING_HANDLERS = { + 'stderr': {'loglevel': 'WARNING', 'bubble': True}, + #'smtp': { + # 'from_addr': 'test-errors@example.com', + # 'recipients': ('test@example.com'), + # 'credentials':('testusername', 'password'), + # 'server_addr': ('127.0.0.1', 25), + # 'secure': (), + # 'level': 'DEBUG', + # 'bubble': True + #} +} + +# Templates will use those filters, along with the defaults. +# Consult your engine's documentation on filters if you need help defining +# those. +# TEMPLATE_FILTERS = {} + +# Put in global_context things you want available on all your templates. +# It can be anything, data, functions, modules, etc. +GLOBAL_CONTEXT = {} diff --git a/images/communitygarden-map.png b/images/communitygarden-map.png new file mode 100644 index 0000000000000000000000000000000000000000..ddaa95afc46824c47d9cd975b95a2480d157e08b GIT binary patch literal 55525 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Μ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 I1?oxIf2pf5O8@`> literal 0 HcmV?d00001 diff --git a/plugins/microdata/README.md b/plugins/microdata/README.md new file mode 100644 index 0000000..7396a3b --- /dev/null +++ b/plugins/microdata/README.md @@ -0,0 +1,50 @@ +This plugin adds microdata semantic markups in reStructuredText for Nikola static blog generator. The original author is Axel Haustant (noirbizarre). This code is fork from https://github.com/noirbizarre/pelican-microdata. The standalone package will be at https://github.com/ivanteoh/nikola-microdata + +Currently supported in general: + +* `itemscope` +* `itemprop` + +### Usage + +```ReST + + .. itemscope:: <Schema type> + :tag: element type (default: div) + + Nested content + + + :itemprop:`Displayed test <itemprop name>` +``` + +### Examples + +This reStructuredText document: + +```ReST + + .. itemscope: Person + :tag: p + + My name is :itemprop:`Bob Smith <name>` + but people call me :itemprop:`Smithy <nickanme>`. + Here is my home page: + :itemprop:`www.exemple.com <url:http://www.example.com>` + I live in Albuquerque, NM and work as an :itemprop:`engineer <title>` + at :itemprop:`ACME Corp <affiliation>`. +``` + +will result in: + +```html + + <p itemscope itemtype="http://data-vocabulary.org/Person"> + My name is <span itemprop="name">Bob Smith</span> + but people call me <span itemprop="nickname">Smithy</span>. + Here is my home page: + <a href="http://www.example.com" itemprop="url">www.example.com</a> + I live in Albuquerque, NM and work as an <span itemprop="title">engineer</span> + at <span itemprop="affiliation">ACME Corp</span>. + </p> +``` diff --git a/plugins/microdata/microdata.plugin b/plugins/microdata/microdata.plugin new file mode 100644 index 0000000..1eef288 --- /dev/null +++ b/plugins/microdata/microdata.plugin @@ -0,0 +1,13 @@ +[Core] +Name = rest_microdata +Module = microdata +Tests = test_microdata + +[Nikola] +MinVersion = 6.3.0 + +[Documentation] +Author = Axel Haustant, Ivan Teoh +Version = 0.1 +Website = http://plugins.getnikola.com/#microdata +Description = Microdata semantic markups support for Nikola static blog generator. diff --git a/plugins/microdata/microdata.py b/plugins/microdata/microdata.py new file mode 100644 index 0000000..e9f3d24 --- /dev/null +++ b/plugins/microdata/microdata.py @@ -0,0 +1,188 @@ +# -*- coding: utf-8 -*- + +# Copyright © 2013-2014 Axel Haustant, Ivan Teoh and others. + +# pelican-microdata is LGPL-licensed. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +from __future__ import unicode_literals + +import re + +from docutils import nodes +from docutils.parsers.rst import directives, Directive, roles +from nikola.plugin_categories import RestExtension +from nikola.plugins.compile.rest import add_node + +RE_ROLE = re.compile(r'(?P<value>.+?)?\s*\<(?P<name>.+)\>') + + +class Plugin(RestExtension): + + name = "rest_microdata" + + def set_site(self, site): + self.site = site + directives.register_directive('itemscope', ItemScopeDirective) + directives.register_directive('itempropblock', ItemPropDirective) + roles.register_canonical_role('itemprop', itemprop_role) + + add_node(ItemProp, visit_ItemProp, depart_ItemProp) + add_node(ItemPropBlock, visit_ItemPropBlock, depart_ItemPropBlock) + add_node(ItemScope, visit_ItemScope, depart_ItemScope) + + return super(Plugin, self).set_site(site) + + +class ItemProp(nodes.Inline, nodes.TextElement): + pass + + +def itemprop_role(role, rawtext, text, lineno, inliner, options={}, content=[]): + match = RE_ROLE.match(text) + if not match or not match.group('name'): + raise ValueError('%s does not match expected itemprop format: :itemprop:`value <name>`') + value = '' + if match.group('value'): + value = match.group('value') + name = match.group('name') + info = '' + tag = 'span' + if ':' in name: + # depreciated, use | for nikola + name, info = name.split(':', 1) + elif '|' in name: + names = name.split('|', 2) + name = names[0] + if len(names) > 1: + info = names[1] + if len(names) > 2: + tag = names[2] + return [ItemProp(value, value, name=name, info=info, tag=tag)], [] + + +class ItemPropBlock(nodes.Element): + def __init__(self, tagname, itemprop, classes=None): + kwargs = { + 'itemprop': itemprop, + } + if classes: + kwargs['class'] = classes + super(ItemPropBlock, self).__init__('', **kwargs) + self.tagname = tagname + + +class ItemPropDirective(Directive): + required_arguments = 1 + has_content = True + option_spec = { + 'tag': directives.unchanged, + 'class': directives.unchanged, + } + + def run(self): + # Raise an error if the directive does not have contents. + self.assert_has_content() + itemprop = self.arguments[0] + tag = self.options.get('tag', 'div') + classes = self.options.get('class', None) + node = ItemPropBlock(tag, itemprop, classes) + self.add_name(node) + self.state.nested_parse(self.content, self.content_offset, node) + return [node] + + +class ItemScope(nodes.Element): + def __init__(self, tagname, itemtype, itemprop=None, compact=False, classes=None): + kwargs = { + 'itemscope': None, + 'itemtype': "http://data-vocabulary.org/%s" % itemtype, + } + if itemprop: + kwargs['itemprop'] = itemprop + if classes: + kwargs['class'] = classes + super(ItemScope, self).__init__('', **kwargs) + self.tagname = tagname + self.compact = tagname == 'p' or compact + + +class ItemScopeDirective(Directive): + required_arguments = 1 + has_content = True + option_spec = { + 'tag': directives.unchanged, + 'itemprop': directives.unchanged, + 'compact': directives.unchanged, + 'class': directives.unchanged, + } + + def run(self): + # Raise an error if the directive does not have contents. + self.assert_has_content() + itemtype = self.arguments[0] + tag = self.options.get('tag', 'div') + itemprop = self.options.get('itemprop', None) + compact = 'compact' in self.options + classes = self.options.get('class', None) + node = ItemScope(tag, itemtype, itemprop, compact, classes) + self.add_name(node) + self.state.nested_parse(self.content, self.content_offset, node) + return [node] + + +def visit_ItemProp(self, node): + if not node['tag']: + node['tag'] = 'span' + + if node['name'] == 'url': + node['tag'] = 'a' + self.body.append(self.starttag(node, node['tag'], '', itemprop=node['name'], href=node['info'])) + elif node['tag'] == 'img': + self.body.append(self.emptytag(node, node['tag'], '', itemprop=node['name'], src=node['info'])) + elif node['tag'] == 'time': + # TODO: auto convert the time + self.body.append(self.starttag(node, node['tag'], '', itemprop=node['name'], datetime=node['info'])) + elif node['tag'] == 'meta': + # TODO: auto convert the time + self.body.append(self.emptytag(node, node['tag'], '', itemprop=node['name'], content=node['info'])) + else: + self.body.append(self.starttag(node, node['tag'], '', itemprop=node['name'])) + + +def depart_ItemProp(self, node): + end_tag = '</' + node['tag'] + '>' + if node['tag'] == 'img' or node['tag'] == 'meta': + return + self.body.append(end_tag) + + +def visit_ItemPropBlock(self, node): + self.body.append(node.starttag()) + + +def depart_ItemPropBlock(self, node): + self.body.append(node.endtag()) + + +def visit_ItemScope(self, node): + self.context.append(self.compact_simple) + self.compact_simple = node.compact + self.body.append(node.starttag()) + + +def depart_ItemScope(self, node): + self.compact_simple = self.context.pop() + self.body.append(node.endtag()) diff --git a/plugins/microdata/microdata.pyc b/plugins/microdata/microdata.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5e20a8c9cf12482f3a4b9ff06a71176b3f30392a GIT binary patch literal 7521 zcmcgx+j1ON72Vx48cCzk#W%@HoJ2(tY7!F-1Y$r4J2-I)Lr_vjDJWE~>U5@CQcFGE zlfF21N-C<5UwPpJc;gMKcz_q)_!z!`4+v}R)6*^a5~xD9>~nN(z0YN@z4kswt$)vV z|91G!_E4&y7Jk1guH@T}NPz#2#3Ca{b{uh7cO`aZ$JM@;#4Q=MWv6ZX+7eI6s3SWa z8BNR1w2WqCXU6tTNjxi~uIzMey(96QjC!)u6DM@#U|xc0Il(*&63j^0m0d@IS$QOK zBJ!J^MG3kRw&h?+^9!<zCCt^`7bOze!}5Ca2+O-9!Mu*UtYQ}GaaSZ*lyF*Gm+IDK z2`-!(ezERYk>Ju~_~p9wssvY9*;$ofSqm>ou%d;RCAg}EYZ9z#;S~v9(!#4eyY2qV zIN<0j{Pc0aQY;}WlW3R*p%+I*nE7$OWxJ-(m7qQEQz=CkSrBF6u!!!5c`=LX`;%(H zu~`~ptV*3n)nL$_2Su3VQJUE188rJr;8AM%4OIHKKHj|V$7OhP{raspZr#h@ytm1= z#2>Ngje9qX4u*XkmwQoCV}w)OCPr3J2yqV36mlrU(Ve!$Z1-LCl?%u+tiu~c!z>N_ z!XL7osg3j=h5QzUBS(%zJnYhu1C>*><ir)Hs=HFOZGB1(Iuf*`09e>RBRC11O))1Y zEnDwNF)zhJU0>uW7Z+^(q7;`n7d}3?%y|L1?LHT?Rq{xof>Az9$6?7cWNn<K<Im!B zcv$lICN2Fds9;edIhqW2R9r-sg?mvBHF~wGwD~RsZBuNcvI`i^=8qx2ZZ(ux@LX#_ zLqACY5I^>)U~H{fgti!J2<Om9!`?;iM_8CQnV?uiQxJ~*>{J^?O$OZN4skS(e`wn; zKl!!o;E~mP(@C0nb-xPmQxn@p!Zk0)VP>XL(#7Xt;qfRHIQC$}c-L@WeI%RZAD}eY zPe<Y4Al*-rbnt#UEJtBd<b&Nb4c^*K3AX_S4aSPvd{ASrDXotmnyV1?O{APAD9)_2 z#DA{M6%o2F&!aJTp4y-1jnbfuS*4=bqjH)RYUw<e$pczL$~j@j?YM^8ebN?rP}UY< zd?<?^q<IM?L(X}QOXPySi<Hv}I?j+wCbq~}YT^ShMj>(lD|cyd$J25&Exr6({AKMO zt-b6Wf!Tv4QTd%C2@u<o<C)1IFn}Z3y)#wxV%TXZ$FurXSAr=yo|B*>N3(L+k?fBw z9JJX&PvgoxS1|avD@jC`Qw^JTs$ny9KNxo0lcOHJ&niZPXi>pBAmXqs*}t@J8hsFh zP1fC*6WtJoPiN6RC!bF{9D(&<E(o9FjPO@SSn9kSfxq0=o<k=F*S6hXz~OC`6O@(j zqxyQj7NlXmmZZhn$S;QbYvF@2{6QG30q;swYcK$GZLDofS~fmaf?u<o{%Hw0Qqumk zStrQHeo~UuHzMX*Jc_7HI90&s8ZyOul<cO^5NiHjUoDrJx#O9SKD?toNSCFhy(}%q zYBay1gSnGsX{H_d7=BKr#9^Xf?h`CJfifIrX8spN_@K~6Es*5mC<(E5_D2aTnU>RW z0S}jJd6*{fc!gQR7@bXbsXH*Qpv}BG>7ecAjZvJZ$#OgIAOYX_aTc8wqz=+W{oQeT z?#oUOwJy>;(voB74Qiw2(W`?c?^X_0ee5H|N40ky5**YdHKKM#c7zIHWbni{j@xq7 zl5CCn5peIyCIN{5>TT%(F;M${kKnHI!7xCnJt9eE0we{^F!u9YF{BJ>=&5w=6<0<H zoQ|ie07iJmeXh`~G8-V%aTAeNWfTe0riKr{@Uy+=q?L8Z|0Po1Lncnk>AD@9{;IQO zw^B2uf^I8KLc>oQh-m3NaYCJch*a^WnM1k80F|m3_yGzP1~kYDTa341o}rC}py{gQ z$_>Qa(C8x!oM8|~gjk!VIB29%;*h3J-EfSe=L7{rMh6;kJ1hZn4!BF<0<0V;IYT~K z(bciG5#Z8@>KJhu7!Y0f1jE4Iz#s&H^pw3-DkvWeh}K!nyV{4?4MV_x+X|R1Wu9`f zYW@zQ`_1b6JS&Z?2p$AA`+n|K#;>6<aAe~G^Cm}9z+PCG@8NfYSB-^%QOiq(UxWq0 zkpPWh;2~JbLvx*<lZ-3rUb?%BSmhL~zeAbi6+<Ve=wX1}0OuSrqZ`S}1fg;jxVT+_ z_zM1!O0GG5Mr4iGuVT{AOWYI!uRauA<R@7fB5W2pb#^w8rHnEe?)%AJ80Zkov0e^$ zV>Z#-Z0_8xf-CwplG<qpyxF0xI`b_<HXI`94`HkJLA$N&!x0z<APY1;QY)$MAwzNt z-3DQxSbvBDOb7$Xl%Pg{b{WXNaSW(}G_NaZB2s88X&y~Uc2kfap=rwUs3V2i0C^O% z;=7KV;!yzKMhUKrQ$iew_oghl&S3V(uN(AE`$aL{7z}t%dh32V^gk<OKYO^IW_yFz z^ZNQxJjCsUA|^E2n1%K3wCr)8d$xF2lIGzlp;;Q{X$;fR*dG?^$)Cc|oX04*Z}VG% z+q{je(fv6BTbG8H2FbZl((|;lpagA6dKNUTo}{K}-J4qO2e>moce3WP4!J%X<QfLI zH5iF21>-MJcnVp!pGwvhZ3A^xsci{-sv&SH@hpL#QT!<_HXu-DXAeJCwEqPK67K)S z?7%%`xD2K%TAv`lV*jZ#>`%x~$qAxxn1=NM9Y)U2@B!$f59nAQz~w)~2mJQ~Q0HL2 z4-tl8n0f$ngC(VZwFG)q^FwAoVs@R`2C`Ge@E+Tg*B>*2A9Ea%&Cb&ZHX-y8k~M;w z+806ZSD!}j<|i0zZZf;YjMy~qGW#hrifb0CrSn`ZP2fu;y+Joj-Bq?8axF|8r6~Lo zyhKh!NP(9la;{bwl(N*4Rj}=$E7>7Aw(2Bu@P875pw)J)+H2h8Lj)8Mfs58j%O%E= zImWY`3KuuZ{Ci~pl_W&H&ya*`*;z^dtY_@0q_56OvcXO@mtHOTJvW0(-C0Rr)RGod z(p@!$dUwxW)8gZj-ufTcaME&k8nDmp{u1=CRYz29)b!rR0^@Y;DYIB_f4({rC4UVS z_OozTuZp|@>d0ucr?E($4Yi|)5Ju57;k-gtv=wc>+LnD!;as1k!9$Jp{qZ<V0{td0 z@GgbuR4cg177uyBR50ts;rSUHpT+)wl=C%62wXe>b)5}d$&g%4u0oj<&!kZPISK$5 z_3O&&3e>&AfY??oiu1SY`jl$>hWh>n&-%<^RYRiQD!JdyL9HQr@tc#gu20jR%Fobe z?jqBtVe7kjNP3~dsd_v=)X$%xh@w9s<<zwx=v;H!PHpSlf*ugPbhA}`)IEXsnP8E7 z+p=q~w_<pxFGT5lr~NaMx^g+6)hncl=NAOrOIZJ3zitn7YmEj#G8S*ZD56z#cpALo zJ&cTqM!4!H6hvG$&ngcJg<N$R($Envwxe+zn%fv?RFf}EiB~Y?-;i=HQk+Y8P<axD z-$qw`2-sh<?-ri|zi!`V3*RcmjnlFD2o<|QTAkrL!V7`wGA8;5lD_`Z-1@JfR=q{< zmPMK2E!v=oml6Kaz;ZAi#fvD;4ehL8yc1L{>w2lp^7Sk)Y_vd5vww9U1t!s98vE<^ z>D(KF%lFbO3UkBQyWl(WnGyLq?+{TOuJhU5{v~1(lcLpdvG$3dTDq%`c6y)u1dn@n z;*c-*`UGhBW~NY^wDNI8UqtlUr{T6CTN^Tvp$Qw>fFTYHkE!81EuCYaqi4ElU;c0M qH1%O`$?d^cT+=@qEVh;}yw+Y^S)E(Hyt=r2b@tNi^lTgdI{yJ@>IL5b literal 0 HcmV?d00001 diff --git a/posts/pukerua-bay-school-gala.rst b/posts/pukerua-bay-school-gala.rst new file mode 100644 index 0000000..88a1a5f --- /dev/null +++ b/posts/pukerua-bay-school-gala.rst @@ -0,0 +1,88 @@ +.. title: Pukerua Bay Community Garden Food Forest Project +.. slug: pukerua-bay-community-garden +.. date: 2014/03/29 01:45:23 +.. tags: +.. link: +.. description: +.. type: restructuredText + +.. image:: /assets/images/communitygarden-map.png + :align: right + :alt: Map of the proposed community garden site in the Muri Reserve. + +Hi folks! If you're reading this, you've either searched for it on Google, +or got here from the URL on the brochure at the School Gala. Either way - +welcome to the website! I'd like to use this as a hub for lively discussions, +organising events, planning sessions and working bees, and sharing of ideas +and hopes and goals. + + This site will change once we get started. I will gather the ideas + from the gala day and put them up here, and reorganise things into + categories as we go. + +Proposed garden site in Muri Reserve +------------------------------------ + +The Pukerua Bay Residents' Association have decided on +a location for the community garden, in the Muri Reserve behind the closed Muri +train station, as indicated on the map. There is a +`Google map with more details here <http://goo.gl/Odu8Wx>`_. + +The idea of a community garden in Pukerua Bay has been around for a while, but +has gathered steam over the last couple of years. I'd like to really help us +get it off the ground by gathering a quorum of interested and willing folks, +to plan the next steps. + +Inspirational videos +-------------------- + +Martin Crawford of the Agroforestry Research Centre in Devon UK, shows us +around his forest garden project, and explains some of the science and practical +principles behind it: + +.. youtube:: b_fhAch5qiY + :height: 315 + :width: 560 + +And in New Zealand, Robert and Robyn Guyton show us around their two acre +food forest in Riverton, Southland: + +.. youtube:: L74WkW1rWKU + :height: 315 + :width: 560 + +Planning +-------- + +There are several things that we will need to plan: + +- Site assessments of micro-climate, shelter, layout. +- Ground slope and consideration of constructing swales for water retention. +- Ground clearance and re-seeding groundcover. +- Access to the site for larger equipment. +- Orchard planning and plant selection. +- Layout and construction of raised beds. Do we want to share the beds, or + lease individual allotment space, or both? +- Get a compost system started. +- Plant and mulch the orchard trees. +- Get local beekeepers on board and find a safe spot for some beehives. +- Potential space for chicken coops. + +Contact us! +----------- + +To get in contact, come along to the next `Residents' Association meeting <http://pukeruabay.org.nz/>`_ +or email `Jonathan <mailto:jonathan@harker.kiwi.nz>`_. I will set up an email list from +people who registered interest at the gala day. + +Links +----- + +- The excellent *Manual for creating a community food forest on public land* + by Andy Cambeis of the Hawea Flat Food Forest Trust. The manual is very + thorough, Creative-Commons licensed and available + `online <https://docs.google.com/document/d/1TGhzTV_PdZAkRpxQgKmtzDHg0lcLzat7WXMm5-dvaHg/edit>`_. +- Tim and the resources on his site, `Pig in the mud <http://piginthemud.com>`_. Tim helps to run + a Wellington community garden at the top of Majoribanks Street. +- The national `Permaculture Hui 2014 <http://permaculturehui2014.org.nz/>`_ is on 25-27 April in + Island Bay and should be very educational.