structrdfal 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +133 -0
  4. data/_includes/blogList.html +82 -0
  5. data/_includes/blogList.html~1 +100 -0
  6. data/_includes/blogList.html~2 +85 -0
  7. data/_includes/catag-old.html +15 -0
  8. data/_includes/catag.html +16 -0
  9. data/_includes/footer.html +18 -0
  10. data/_includes/nav.html +14 -0
  11. data/_layouts/aboutPage.html +5 -0
  12. data/_layouts/autopage_category.html +11 -0
  13. data/_layouts/autopage_tags.html +12 -0
  14. data/_layouts/bloghome.html +10 -0
  15. data/_layouts/contactPage.html +5 -0
  16. data/_layouts/default.html +131 -0
  17. data/_layouts/event.html +145 -0
  18. data/_layouts/page.html +4 -0
  19. data/_layouts/post.html +34 -0
  20. data/_layouts/sitehome.html +62 -0
  21. data/_sass/_variables.scss +36 -0
  22. data/_sass/_vertical-rhythm.scss +61 -0
  23. data/assets/.colophon/html5-boilerplate_v7.0.1/404.html +60 -0
  24. data/assets/.colophon/html5-boilerplate_v7.0.1/LICENSE.txt +19 -0
  25. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/TOC.md +34 -0
  26. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/css.md +54 -0
  27. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/extend.md +640 -0
  28. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/faq.md +42 -0
  29. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/html.md +198 -0
  30. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/js.md +36 -0
  31. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/misc.md +173 -0
  32. data/assets/.colophon/html5-boilerplate_v7.0.1/docs/usage.md +130 -0
  33. data/assets/.colophon/html5-boilerplate_v7.0.1/index.html +41 -0
  34. data/assets/.colophon/normalize-scss/README.md +158 -0
  35. data/assets/.editorconfig +13 -0
  36. data/assets/.htaccess +1224 -0
  37. data/assets/404.html +6 -0
  38. data/assets/browserconfig.xml +12 -0
  39. data/assets/contactform.html +23 -0
  40. data/assets/eventform.html +110 -0
  41. data/assets/favicon.ico +0 -0
  42. data/assets/humans.txt +16 -0
  43. data/assets/icon.png +0 -0
  44. data/assets/robots.txt +5 -0
  45. data/assets/scripts/.DS_Store +0 -0
  46. data/assets/scripts/main.js +0 -0
  47. data/assets/scripts/plugins.js +24 -0
  48. data/assets/scripts/vendor/jquery-3.3.1.min.js +2 -0
  49. data/assets/scripts/vendor/modernizr-3.6.0.min.js +3 -0
  50. data/assets/site.webmanifest +12 -0
  51. data/assets/styles/HTML5BP-main.css +290 -0
  52. data/assets/styles/form.css +81 -0
  53. data/assets/styles/normalize.css +349 -0
  54. data/assets/styles/structRDFaL.css +177 -0
  55. data/assets/tile-wide.png +0 -0
  56. data/assets/tile.png +0 -0
  57. metadata +156 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 828818eca9e23770610b816b3056be682c7dc624170fa83afc67a272ad24140a
4
+ data.tar.gz: 49d327859c952e0d292e96e3d18ca174e788d8efb15deae39f1be2603255e930
5
+ SHA512:
6
+ metadata.gz: bb896e77779eb257d8abf362cfad2722a8fb93a1fe51faf15665658b609e23feb3484e7990f725b71f554f6b620906677776434bcb030dfae1d8b962c41ec2f3
7
+ data.tar.gz: dda117c210b9feede4a515998e430209a3fbe6958586823802b2fa85584d64bfe256feb61f98e3311bbdaf0578db6ff7102b12b117edf1b99e13b99fe89f8563
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,133 @@
1
+ ######################################################################
2
+ # StructuredData-RDFa-Lite
3
+ ######################################################################
4
+ This theme provides structured data markup in the form of RDFa Lite (https://www.w3.org/TR/rdfa-lite/) for maximum human readability and smaller files (less repetition than JSON-LD (https://json-ld.org/), microdata (https://www.w3.org/TR/microdata/), or full RDFa (https://rdfa.info/). Additionally, for best practices purposes it is based on HTML5 Boilerplate (v7.0.1, https://html5boilerplate.com/), hence some additional directories (css, js, html5-boilerplate-docs, .colophon) and files (.editorconfig, .htaccess, 404.html, site.webmanifest, robots.txt, humans.txt, browserconfig.xml).
5
+
6
+ The favicon.ico, icon.png, tile.png, and tile-wide.png files are images provided by HTML5 Boilerplate and left as-is so that you can get an idea for the sizes involved. They should, of course, be replaced ASAP with images appropriate to YOUR site.
7
+
8
+ The structured data schemas (https://schema.org/) currently implemented are WebPage (AboutPage, ContactPage), Blog, BlogPosting, and Event.
9
+
10
+ In future, I plan to
11
+ - implement schemas: Review, Book, HowTo, and CollectionPage (ImageGallery).
12
+ - integrate responsiveness
13
+ - better (actually) utilize SASS.
14
+ - implement breadcrumbs
15
+
16
+ Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
17
+
18
+ To experiment with this code, add some sample content and run `bundle exec jekyll serve` – this directory is setup just like a Jekyll site!
19
+
20
+ TODO: Delete this and the text above, and describe your gem
21
+
22
+
23
+ ######################################################################
24
+ ## Installation
25
+ ######################################################################
26
+ Add this line to your Jekyll site's `Gemfile`:
27
+
28
+ ```ruby
29
+ gem "jektheme"
30
+ ```
31
+
32
+ And add this line to your Jekyll site's `_config.yml`:
33
+
34
+ ```yaml
35
+ theme: jektheme
36
+ ```
37
+
38
+ And then execute:
39
+
40
+ $ bundle
41
+
42
+ Or install it yourself as:
43
+
44
+ $ gem install jektheme
45
+
46
+ ######################################################################
47
+ ## Usage
48
+ ######################################################################
49
+ # _layouts
50
+ #----------------------------------------------------------------------
51
+ sitehome.html is a slight modification from default.html based on the idea that some of the logic needed to have just one template seemed like an unnecessary burden to put on *every* page in the site. I may re-engineer things or just change my mind about that later.
52
+ default.html the base for everything else
53
+ aboutPage.html you should have one. sets WebPage type for you.
54
+ contactPage.html you should have one. sets WebPage type for you. contactform.html is included in assets if you want to modify mine
55
+ bloghome.html schema.org compliant Blog (sort of, see notes in comments), lists and paginates all your posts
56
+ event.html schema.org compliant Event, uses the BlogPosting layout. See eventform.html for some other Event types.
57
+ page.html just the default generated from "jekyll new"
58
+ post.html schema.org compliant BlogPosting (sort of, see notes in bloghome)
59
+
60
+ autopage_category.html
61
+ autopage_tags.html the templates that paginate-v2 autopages expect.
62
+
63
+ #----------------------------------------------------------------------
64
+ # _includes
65
+ #----------------------------------------------------------------------
66
+ blogList.html implements pagination-v2 logic and uses autopages for tags and categories
67
+ catag.html where the list of linked categories and tags are generated
68
+ catag-old.html before autopages, a single page list of categories, and another for tags were generated. These links go there.
69
+ footer.html contact info for you, javascript library inclusion, google analytics
70
+ nav.html site navigation included on each page. the current page link is disabled for proper usability.
71
+
72
+ #----------------------------------------------------------------------
73
+ # assets
74
+ #----------------------------------------------------------------------
75
+ Everything in the assets directory should be moved out to the root directory of your site where they are EXPECTED (.colophon is optional and just for your information). The images are there mostly for your sizing reference when you create your own. Obviously, customize away, nothing needs to remain as-is.
76
+
77
+ There is only a slight (real) difference between HTML5 Boilerplate's 404.html and the one that Jekyll generates when you create a new instantiation, so what you want to do there is entirely up to you.
78
+
79
+ Actually, eventform.html and contactform.html are forms that I use on my sites to capture data from the public, feel free to mod and use if you're incorporating Events or don't have any other contact type plans.
80
+
81
+ #----------------------------------------------------------------------
82
+ # _sass
83
+ #----------------------------------------------------------------------
84
+ I'm just learning Sass, so the only thing in _sass directory is the pieces for normalize-scss, read about it in the .colophon
85
+
86
+ #----------------------------------------------------------------------
87
+ # _config.yml
88
+ #----------------------------------------------------------------------
89
+ "title/sitemark": Page titles will be created from either "sitemark - page.title" or "page.title - site.title", so config sitemark if so desired.
90
+ "email": is used in several places with nothing to prevent spammers from scraping it, you have been warned.
91
+ "author": is used in multiple places in the metadata.
92
+ "scPath": the path to your (java)scripts, I recommend "/scripts/"
93
+ "stPath": the path to your CSS, I recommend "/styles/"
94
+
95
+ The jekyll-paginate-v2 plugin is expected
96
+
97
+ #---- These are OPTIONAL ----#
98
+ "specialty": used in WebPage Schema: One of the domain specialities to which this web page's content applies.
99
+ "google_analytics": your google_analytics code
100
+ "javascriptON": set if you want the HTML5 Boilerplate JS recommended libraries (main.js, plugins.js, jquery-3.3.1.min.js, modernizr-3.6.0.min.js) included at the bottom of each page
101
+ "copynotice": something like "Copyright Acme 1999 - All rights reserved." or a link to creative commons pages is fine. (http://www.dublincore.org/documents/2001/04/12/usageguide/sectc/#rights, http://www.dublincore.org/documents/2001/04/12/usageguide/simple-html/#rights). Currently only used in metadata, I'll get around to putting it in the footer at some point.
102
+
103
+ #----------------------------------------------------------------------
104
+ # per page frontmatter options
105
+ #----------------------------------------------------------------------
106
+ "description": if a page.description does not exist, the site.description is used in the metadata
107
+ "meta-creator": if a page is authored by someone not the site author, a "page.meta-creator" can be set
108
+ "subject": similar but different from keywords. (http://www.dublincore.org/documents/2001/04/12/usageguide/sectb/#subject, http://www.dublincore.org/documents/dcmes-qualifiers/#subject)
109
+ "creation-date": http://www.dublincore.org/documents/dcmes-qualifiers/#date (will be integrated into the schema metadata at some point.)
110
+
111
+ Read the comments in the default.html layout for more options.
112
+
113
+ ######################################################################
114
+ ## Contributing
115
+ ######################################################################
116
+
117
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/hello. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
118
+
119
+ ######################################################################
120
+ ## Development
121
+ ######################################################################
122
+ To set up your environment to develop this theme, run `bundle install`.
123
+
124
+ Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
125
+
126
+ When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
127
+ To add a custom directory to your theme-gem, please edit the regexp in `jektheme.gemspec` accordingly.
128
+
129
+ ######################################################################
130
+ ## License
131
+ ######################################################################
132
+ The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
133
+
@@ -0,0 +1,82 @@
1
+ {%- if layout.blog-list-title or page.blog-list-title -%}
2
+ {%- assign blTitle = layout.blog-list-title | default: page.blog-list-title -%}
3
+ {%- endif -%}
4
+ <section class="blog-list">
5
+ {% if blTitle %}<h2>{{ blTitle }}</h2>{% endif -%}
6
+ <!-- This loops through the paginated posts -->
7
+ {% for post in paginator.posts -%}
8
+ <article typeof="BlogPosting">
9
+ <header><h3><a class="post-link" property="url"
10
+ href="{{ post.url | relative_url }}"><span
11
+ property="headline">{{ post.title | escape }}</span></a></h3>
12
+ <time property="datePublished"
13
+ content="{{ post.date | date_to_xmlschema }}"
14
+ class="post-date">{{ post.date | date: "%b %-d, %Y"}}</time>
15
+ <!-- Google requires that publisher be an Organization vs Person
16
+ (as the schema.org definition says it can be). Just saying
17
+ that the Publisher is an Organization is insufficient because
18
+ Organizations *require* a logo. This is a very stupid can of
19
+ worms that I am ignoring. Feel free to fix it for yourself,
20
+ though. That starts with the line below.
21
+
22
+ See https://webmasters.stackexchange.com/questions/110332/personal-blog-using-structured-data-fails-validation-on-publisher/110350#110350
23
+
24
+ Also, I have made that line invisible because I'm using the
25
+ site author information, and that info is visible in the footer,
26
+ so I'm not marking up lots of invisible things that Google frowns
27
+ on. If you've got a multi-author blog, then of course, you should
28
+ visibly list the authors. -->
29
+ <a property="author publisher" typeof="Person"><meta property="name" content="{{ site.author }}" /></a>
30
+ {% include catag.html list=post -%}
31
+ </header>
32
+ <span property="description">{{ post.excerpt }}</span>
33
+ </article>
34
+ {%- endfor -%}
35
+ </section>
36
+
37
+ <!--
38
+ Showing buttons to move to the next and to the previous list of posts (pager buttons).
39
+ -->
40
+ {% if paginator.total_pages > 1 -%}
41
+ <nav class="blog-pager">
42
+ <ul>
43
+
44
+ {% if paginator.previous_page -%}
45
+ {% if paginator.first_page -%}
46
+ <li class="previous">
47
+ <a href="{{ paginator.first_page_path | prepend: site.baseurl | replace: '//', '/' }}">First</a>
48
+ </li>
49
+ {%- endif %}
50
+ <li class="previous">
51
+ <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
52
+ </li>
53
+ {%- endif %}
54
+
55
+ {% if paginator.page_trail -%}
56
+ {% for trail in paginator.page_trail -%}
57
+ {%- if page.url == trail.path %}
58
+ <li class="selected">
59
+ <a rel="self" title="{{trail.title}}">{{ trail.num }}</a>
60
+ {%- else %}
61
+ <li>
62
+ <a href="{{ trail.path | prepend: site.baseurl | replace: '//', '/' }}" title="{{trail.title}}">{{ trail.num }}</a>
63
+ {%- endif %}
64
+ </li>
65
+ {%- endfor -%}
66
+ {%- endif %}
67
+
68
+ {% if paginator.next_page -%}
69
+ <li class="next">
70
+ <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
71
+ </li>
72
+ {% if paginator.last_page -%}
73
+ <li class="previous">
74
+ <a href="{{ paginator.last_page_path | prepend: site.baseurl | replace: '//', '/' }}">Last</a>
75
+ </li>
76
+ {%- endif %}
77
+ {%- endif %}
78
+
79
+ </ul>
80
+ {%- endif %}
81
+ </nav>
82
+ <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
@@ -0,0 +1,100 @@
1
+ {%- if layout.blog-list-title -%}
2
+ {%- capture blTitle %}{{ layout.blog-list-title }}{% endcapture -%}
3
+ {%- elsif page.blog-list-title -%}
4
+ {%- capture blTitle %}{{ page.blog-list-title }}{% endcapture -%}
5
+ {%- endif -%}
6
+ <section class="blog-list">
7
+ {% if blTitle %}<h2>{{ blTitle }}</h2>{% endif -%}
8
+ <!-- This loops through the paginated posts -->
9
+ {% for post in paginator.posts -%}
10
+ <article typeof="BlogPosting">
11
+ <header><h3><a class="post-link" href="{{ post.url | relative_url }}"
12
+ property="headline" content="{{ post.title }}">{{ post.title | escape }}</a></h3>
13
+ <time property="datePublished"
14
+ content="{{ post.date | date_to_xmlschema }}"
15
+ class="post-date">{{ post.date | date: "%b %-d, %Y"}}</time>
16
+ <!-- Google requires that publisher be an Organization vs Person
17
+ (as the schema.org definition says it can be). Just saying
18
+ that the Publisher is an Organization is insufficient because
19
+ Organizations *require* a logo. This is a very stupid can of
20
+ worms that I am ignoring. Feel free to fix it for yourself,
21
+ though. That starts with the line below.
22
+
23
+ See https://webmasters.stackexchange.com/questions/110332/personal-blog-using-structured-data-fails-validation-on-publisher/110350#110350
24
+
25
+ Also, I have made that line invisible because I'm using the
26
+ site author information, and that info is visible in the footer,
27
+ so I'm not marking up lots of invisible things that Google frowns
28
+ on. If you've got a multi-author blog, then of course, you should
29
+ visibly list the authors. -->
30
+ <a property="author publisher" typeof="person"><meta property="name" content="{{ site.author }}" /></a>
31
+ <div class="catag">
32
+ {% for category in post.categories %}
33
+ {% unless category=="blog" %}
34
+ <a class="categories" href="{{ site.blogPath }}categories/{{ category | slugify }}"
35
+ title="List of posts in the '{{ category }}' category"
36
+ property="articleSection" content="{{ category }}">{{ category }}</a>
37
+ <!-- <a class="categories" href="{{ site.blogPath }}category.html#{{ category }}" -->
38
+ {% endunless %}
39
+ {% endfor %}
40
+ {% for tag in post.tags %}
41
+ <a class="tags" href="{{ site.blogPath }}tags/{{ tag | slugify }}"
42
+ title="List of posts with the '{{ tag }}' tag"
43
+ property="keywords">{{ tag }}</a>
44
+ <!-- <a class="tags" href="{{ site.blogPath }}tag.html#{{ tag }}" -->
45
+ {% endfor %}
46
+ </div>
47
+ </header>
48
+ <!-- tried to find an excerpt or summary property in the schemas but no dice.
49
+ articleBody seemed wrong for an excerpt so.... -->
50
+ <span property="description">{{ post.excerpt }}</span>
51
+ </article>
52
+ {%- endfor -%}
53
+ </section>
54
+
55
+ <!--
56
+ Showing buttons to move to the next and to the previous list of posts (pager buttons).
57
+ -->
58
+ {% if paginator.total_pages > 1 -%}
59
+ <nav class="blog-pager">
60
+ <ul>
61
+
62
+ {% if paginator.previous_page -%}
63
+ {% if paginator.first_page -%}
64
+ <li class="previous">
65
+ <a href="{{ paginator.first_page_path | prepend: site.baseurl | replace: '//', '/' }}">First</a>
66
+ </li>
67
+ {%- endif %}
68
+ <li class="previous">
69
+ <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
70
+ </li>
71
+ {%- endif %}
72
+
73
+ {% if paginator.page_trail -%}
74
+ {% for trail in paginator.page_trail -%}
75
+ {%- if page.url == trail.path %}
76
+ <li class="selected">
77
+ <a rel="self" title="{{trail.title}}">{{ trail.num }}</a>
78
+ {%- else %}
79
+ <li>
80
+ <a href="{{ trail.path | prepend: site.baseurl | replace: '//', '/' }}" title="{{trail.title}}">{{ trail.num }}</a>
81
+ {%- endif %}
82
+ </li>
83
+ {%- endfor -%}
84
+ {%- endif %}
85
+
86
+ {% if paginator.next_page -%}
87
+ <li class="next">
88
+ <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
89
+ </li>
90
+ {% if paginator.last_page -%}
91
+ <li class="previous">
92
+ <a href="{{ paginator.last_page_path | prepend: site.baseurl | replace: '//', '/' }}">Last</a>
93
+ </li>
94
+ {%- endif %}
95
+ {%- endif %}
96
+
97
+ </ul>
98
+ {%- endif %}
99
+ </nav>
100
+ <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
@@ -0,0 +1,85 @@
1
+ {%- if layout.blog-list-title -%}
2
+ {%- capture blTitle %}{{ layout.blog-list-title }}{% endcapture -%}
3
+ {%- elsif page.blog-list-title -%}
4
+ {%- capture blTitle %}{{ page.blog-list-title }}{% endcapture -%}
5
+ {%- endif -%}
6
+ <section class="blog-list">
7
+ {% if blTitle %}<h2>{{ blTitle }}</h2>{% endif -%}
8
+ <!-- This loops through the paginated posts -->
9
+ {% for post in paginator.posts -%}
10
+ <article typeof="BlogPosting">
11
+ <header><h3><a class="post-link" href="{{ post.url | relative_url }}"
12
+ property="headline" content="{{ post.title }}">{{ post.title | escape }}</a></h3>
13
+ <time property="datePublished"
14
+ content="{{ post.date | date_to_xmlschema }}"
15
+ class="post-date">{{ post.date | date: "%b %-d, %Y"}}</time>
16
+ <!-- Google requires that publisher be an Organization vs Person
17
+ (as the schema.org definition says it can be). Just saying
18
+ that the Publisher is an Organization is insufficient because
19
+ Organizations *require* a logo. This is a very stupid can of
20
+ worms that I am ignoring. Feel free to fix it for yourself,
21
+ though. That starts with the line below.
22
+
23
+ See https://webmasters.stackexchange.com/questions/110332/personal-blog-using-structured-data-fails-validation-on-publisher/110350#110350
24
+
25
+ Also, I have made that line invisible because I'm using the
26
+ site author information, and that info is visible in the footer,
27
+ so I'm not marking up lots of invisible things that Google frowns
28
+ on. If you've got a multi-author blog, then of course, you should
29
+ visibly list the authors. -->
30
+ <a property="author publisher" typeof="person"><meta property="name" content="{{ site.author }}" /></a>
31
+ {% include catag.html -%}
32
+ </header>
33
+ <!-- tried to find an excerpt or summary property in the schemas but no dice.
34
+ articleBody seemed wrong for an excerpt so.... -->
35
+ <span property="description">{{ post.excerpt }}</span>
36
+ </article>
37
+ {%- endfor -%}
38
+ </section>
39
+
40
+ <!--
41
+ Showing buttons to move to the next and to the previous list of posts (pager buttons).
42
+ -->
43
+ {% if paginator.total_pages > 1 -%}
44
+ <nav class="blog-pager">
45
+ <ul>
46
+
47
+ {% if paginator.previous_page -%}
48
+ {% if paginator.first_page -%}
49
+ <li class="previous">
50
+ <a href="{{ paginator.first_page_path | prepend: site.baseurl | replace: '//', '/' }}">First</a>
51
+ </li>
52
+ {%- endif %}
53
+ <li class="previous">
54
+ <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
55
+ </li>
56
+ {%- endif %}
57
+
58
+ {% if paginator.page_trail -%}
59
+ {% for trail in paginator.page_trail -%}
60
+ {%- if page.url == trail.path %}
61
+ <li class="selected">
62
+ <a rel="self" title="{{trail.title}}">{{ trail.num }}</a>
63
+ {%- else %}
64
+ <li>
65
+ <a href="{{ trail.path | prepend: site.baseurl | replace: '//', '/' }}" title="{{trail.title}}">{{ trail.num }}</a>
66
+ {%- endif %}
67
+ </li>
68
+ {%- endfor -%}
69
+ {%- endif %}
70
+
71
+ {% if paginator.next_page -%}
72
+ <li class="next">
73
+ <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
74
+ </li>
75
+ {% if paginator.last_page -%}
76
+ <li class="previous">
77
+ <a href="{{ paginator.last_page_path | prepend: site.baseurl | replace: '//', '/' }}">Last</a>
78
+ </li>
79
+ {%- endif %}
80
+ {%- endif %}
81
+
82
+ </ul>
83
+ {%- endif %}
84
+ </nav>
85
+ <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
@@ -0,0 +1,15 @@
1
+ <div class="catag">
2
+ {% for category in page.categories -%}
3
+ {%- unless category=="blog" -%}
4
+ <a class="categories" href="{{ site.blogPath }}category.html#{{ category }}"
5
+ title="List of posts in the '{{ category }}' category"
6
+ property="articleSection" content="{{ category }}">{{ category }}</a>
7
+ {% endunless -%}
8
+ {% endfor -%}
9
+ {% for tag in page.tags -%}
10
+ <a class="tags" href="{{ site.blogPath }}tag.html#{{ tag }}"
11
+ title="List of posts with the '{{ tag }}' tag"
12
+ property="keywords" content="{{ tag }}">{{ tag }}</a>
13
+ {%- endcomment -%}
14
+ {% endfor -%}
15
+ </div>
@@ -0,0 +1,16 @@
1
+ {%- comment %} include.list will either be page or post depending
2
+ on whether post.html or blogList.html is calling {%- endcomment -%}
3
+ <div class="catag">
4
+ {% for category in include.list.categories -%}
5
+ {%- unless category=="blog" -%}
6
+ <a class="categories" href="{{ site.blogPath }}categories/{{ category | slugify }}"
7
+ title="List of posts in the '{{ category }}' category"
8
+ property="articleSection" content="{{ category }}">{{ category }}</a>
9
+ {% endunless -%}
10
+ {% endfor -%}
11
+ {% for tag in include.list.tags -%}
12
+ <a class="tags" href="{{ site.blogPath }}tags/{{ tag | slugify }}"
13
+ title="List of posts with the '{{ tag }}' tag"
14
+ property="keywords" content="{{ tag }}">{{ tag }}</a>
15
+ {% endfor -%}
16
+ </div>
@@ -0,0 +1,18 @@
1
+ <footer>
2
+ <address property="author" typeof="Person">Contact <a href="mailto:{{ site.email }}" property="name" content="{{ site.author }}">{{ site.author }}</a></address>
3
+ <p {% unless page.description %}property="description"{% endunless %}>{{ site.description }}</p>
4
+ {% if javascriptON -%}
5
+ <script src="{{ scPath }}vendor/modernizr-3.6.0.min.js"></script>
6
+ <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
7
+ <script>window.jQuery || document.write('<script src="{{ scPath }}vendor/jquery-3.3.1.min.js"><\/script>')</script>
8
+ <script src="{{ scPath }}plugins.js"></script>
9
+ <script src="{{ scPath }}main.js"></script>
10
+ {%- endif -%}
11
+ {% if site.google_analytics -%}
12
+ <script>
13
+ window.ga = function () { ga.q.push(arguments) }; ga.q = []; ga.l = +new Date;
14
+ ga('create', '{{ site.google_analytics }}, 'auto'); ga('send', 'pageview')
15
+ </script>
16
+ <script src="https://www.google-analytics.com/analytics.js" async defer></script>
17
+ {%- endif -%}
18
+ </footer>
@@ -0,0 +1,14 @@
1
+ {%- assign menuURLs = "/blog/|/about.html|/contact.html" | split: "|" -%}
2
+ {%- assign menuAnchors = "Blog|About|Contact" | split: "|" -%}
3
+ {%- assign menuTitles = "My blog about stuff.|About this here website.|Contact us." | split: "|" -%}
4
+ <nav id="site-nav">
5
+ {% for link in menuURLs -%}
6
+ {% capture idx %}{{ link | append: "index.html" }}{% endcapture -%}
7
+ <a
8
+ {%- if page.url==link %} class="nav-self"
9
+ {%- elsif page.url contains link and page.url == idx %} class="nav-self"
10
+ {%- else %}
11
+ {%- if page.url contains link and page.url != link %} class="nav-sub"{% endif %} href="{{ link }}"
12
+ {%- endif %} title="{{ menuTitles[forloop.index0] }}">{{ menuAnchors[forloop.index0] }}</a>
13
+ {% endfor -%}
14
+ </nav>
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ pgtype: AboutPage
4
+ ---
5
+ {{ content }}
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Posts listed by Category
3
+ layout: default
4
+ mntype: Blog
5
+ pagination:
6
+ enabled: true
7
+ ---
8
+ <h1 property="name">AutoPage Category <b>{% if page.autopages %}{{page.autopage.display_name}}{% endif %}</b> Page {{page.pagination_info.curr_page}} of {{page.pagination_info.total_pages}}</h1>
9
+ {{ content | markdownify }}
10
+
11
+ {%- include blogList.html -%}
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: Posts listed by Tags
3
+ layout: default
4
+ mntype: Blog
5
+ pagination:
6
+ enabled: true
7
+ ---
8
+ <h1 property="title">AutoPage for Tag <b>{% if page.autopages %}{{page.autopages.display_name}}{% endif %}</b> Page {{page.pagination_info.curr_page}} of {{page.pagination_info.total_pages}}</h1>
9
+ <p>This page is automagically created and paginated for each tag available in the posts on this site</p>
10
+ {{ content | markdownify }}
11
+
12
+ {%- include blogList.html -%}
@@ -0,0 +1,10 @@
1
+ ---
2
+ layout: default
3
+ mntype: Blog
4
+ pagination:
5
+ enabled: true
6
+ ---
7
+ <h1 property="name">{{ page.title }}</h1>
8
+ {{ content }}
9
+
10
+ {%- include blogList.html -%}
@@ -0,0 +1,5 @@
1
+ ---
2
+ pgtype: ContactPage
3
+ layout: default
4
+ ---
5
+ {{ content }}