Now uses history.pushState as a replacement for jquery-address.
Links to blog and tag pages are broken currently; see TODO.org for
details.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Note: The sites javascript doesn't work currently as jquery-address has not
yet been replaced by the history api. This however doesn't stop users
from viewing the site, the javascript just errors out in the background
for users who have it enabled.
See TODO.org for more details of what needs to be completed
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Now because all URLs are now valid urls, and no special treatment of
pages is required the following changes were made:
* Removed rel attribute from navigation anchor tags in
"templates/partials/nav.html"
* Removed use of virtualpath context and associated pagination code
associated with virtual paths in "src/site.hs"
* Removed unneeded bloat from "templates/paritals/paginate.html" because
irtualPaginateContext is now no longer needed
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Because all pages are complete pages that can be viewed with or without
javascript, the 'init' and 'loading-error' classes should not be set on
the '#page-content' div. Similarly the 'loading' class should not be set
on '#nav'. All associated logic and css for the 'init' and 'loading'
classes is also unused. This commit removes the aforementioned.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Load html using $.parseHTML so that no scripts are executed, otherwise
all scripts are loaded each page load and ajax load which causes an
infinite loop.
Currently, though everything is functioning, there are a few
deficiencies. See TODO.org for more details.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Since paginated pages for the blog are now generated to "/", update
"/manifest.appcache" accordingly.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
Removed old nojs specific templates and updated "templates/default.html"
and "templates/partials/nav.html" to support nojs. All pages now use
relativized urls. Navigation pages (including blog paginated pages) are
generated to "/" instead of "/pages/".
Site now works when javascript is disabled. Unfortunately, it no longer
works when javascript is enabled. This is due to the client side router
but needs to be debugged further.
Signed-off-by: Collin J. Doering <collin.doering@rekahsoft.ca>
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>