Because the metadata of pages/* is needed for generating pages/* itself,
and for posts/**, it must be preprocessed. This is done in the version
"nav-gen" but because the pages are not given a route, they have an
empty $url$ field within templates. That is, when a list of pages is
retrieved and used to generate the navigation, they have no url field,
thus breaking navigation. Specifying the same route for both solves this
problem, as the final version depends on the preprocessed version and
thus will be the final result.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Unfortunately, tags do not seem to be working correctly. That is:
* Nothing seems to be generated to the expect spot
_site/nojs/tags/*.html
* tagcloud for tagsNoJs is empty
* tags are displayed on post pages but are not hyperlinked
Currently why this does not work is unknown.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Updated nojs site as the code became stale over time as a comment. Nojs
site now mostly works, excluding the following issues:
* Navigation links have no href.
* Tags do not seem to work; the tagcloud that is displayed on the nojs
homepage references the tags for the main site and tags aren't
displayed in posts. The cause for this is not yet known.
* Unused templates that are nojs specific can be removed:
* templates/archive.html
* templates/partials/post-nojs.html
* templates/partials/recent-posts-nojs.html
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Also updated the name of template files from *.haml to *.html as haml is
no longer used for html templates.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Setup Piwik tracking of page loads. The global array _paq is used to
communicate commands to the piwik tracker via the script piwik.js which
is loaded asynchronously from the analytics server. Every time a ajax
call is made successfully and content is loaded in the page, analytics
data is captured and sent to the tracker (the loadPageContent function).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Allow all robots to access any part of the site. This may change in the
future, as the html snippets that are generated for the posts and pages
should not be directly indexed.
See: http://www.robotstxt.org/robotstxt.html
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
The file posts/.markdown-test.markdown uses all features of
markdown (excluding code blocks). This is handy to check the styling of
various things (figures, inline images, tables, headings, etc..).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Give more space to tags, as 'Read More' and 'See Comments' each take a
static amount of space but the number of tags for a given post varies.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
The file/images directory is meant for images used for posts. They will
not be application cached (which is what one would want as otherwise the
application cache would become too large).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Instead of having a symbolic link from ./site to the executable in
dist/build/blog-rekahsoft-ca/blog-rekahsoft-ca, a separate test
running script ./site-test and a Makefile (which is redundant), have a
single shell script that wraps the blog-rekahsoft-ca executable and adds
a test option along with a switch to start selenium (-s|--run-selenium).
Updated README accordingly and removed unnecessary Makefile, and
site-test. Moved the symbolic link ./site to ./%site.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
When the site is viewed without javascript the navbar forever animates
and the opacity of #page-contents is set, thus making the no javascript
message display not acceptable. To get around this a noscript tag in the
header is added that sets specific CSS in the case the there is indeed
no javascript.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Now displays multiple error messages one after the other. Also fixed an
issue where when there is a status message being display and another
error happens, the status message slides up then down again with the new
message.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Added theming for tables, inline images, and figures. Inline images are
specified using the markdown syntax "![link text](link_href)" somewhere
within a paragraph. When a link is specified with the same syntax given
previously, Pandoc will generate it as a figure. Figures are displayed
across the whole width of the post and inline-images floated to the
right. Some javascript was added to js/default.js to enable the ability
to click to toggle fullscreen on images and figures.
Code blocks were previously themed but the styling needed to be updated
due to how an update to how pandoc generates code blocks.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
The type of the function `readPandocWith` changed slightly between
versions. This commit fixes the minor issue it caused.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
While testing I had the router allow infinite loops, but had support all
along to stop them if they occur. Though a message signaled to the user
using a status message would be mice, currently just log to console.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
In firefox, when going to site from another page was unable to go back.
The exact reason this happens in firefox and not in chromium is still a
mystery.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Numbered bullets didn't stand out and text wasn't formatted correctly
around them (within ol > li's). Also changed the amount of margin
spacing around nested ol/ul elements.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
For some reason changing from skeleton 1.2 -> 2.04 broke the "tagged"
image displayed before h1's on the tag pages.
See commit 06114cf
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
This is due to a change from skeleton 1.2 -> 2.04 that was missed in
commit 06114cf (last commit).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Skeleton switched from having 16 columns to 12. A few improvements to
skeleton also required a little tweaking of the current css as well as a
cleanup of templates/default.html.
Note: templates/default-nojs.html was not updated though an update will
be trivial. This is only relevant if the nojs section of the site is
revived.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Now when './site deploy' is run the empty files that are left over from
Hakyll generating the site are removed. Also rsync now uses verbose
output so that its easy to see what files are updated on the server.
Note, because the commands run by './site deploy' include 'echo' and
'find' this requires a posix environment (and thus can't be built on
Windows without cygwin).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Added spans that will show "First Page", "Previous Page", "Next Page",
"Last Page" when its unavailable. Eg. the user is on the last page so
there should be no link to click and instead just place holder text.
The css uses flexbox display and thus only works in modern
browsers (see: http://caniuse.com/#feat=flexbox). This may be changed in
the future as to support more browsers (IE9+ specifically).
Images/Icons for "First Page", "Previous Page", "Next Page", "Last Page"
have yet to be set (though would preferably be done in pure CSS).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
This post is just a filler post (lorem ipsum) to test pagination (along
with a couple others - which soon will be removed).
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Stopped using git submodules (for jquery, jquery-address, skeleton, and
any other libraries used for this site) but forgot to remove the
.gitmodules file. This commit removed said empty file.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
The only checks that fail are the 'insecure regexp' checks (which in
this case are not insecure) as well as a few functions that take unused
parameters.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Wrapped client side url router in a function that returns an object (the
interface for the router). Because javascript passes by reference,
passing the array of handler/route objects to the router was an issue
so the array of routes used for this application was moved to within the
wrapper function. In the future this should be changed so
the array is supplied and can be modified with a method like addRoute.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Re-factored how urls are handled. Specifically, made it more clear which
urls are rewritten when as well as what to run beforeSending, onError
and onSuccess.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>