console-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 04475aa09d82a7cf0ddbd28af115101fa2b0dc02
4
+ data.tar.gz: 0c754c63f5f6e5684397505ca911e7b614e9c70c
5
+ SHA512:
6
+ metadata.gz: 199cf7d3d005eda91e8f30e2797561c391f8f0877d35758db76fa27d802246f316a29bc9c1ff6794bd2113a801939d383098e9ef159a032a64bdd271d332d64d
7
+ data.tar.gz: 2551ba23b9c4c0c4995facec17ec4ad3e8177813493178ba98568f96eb16212c99626aec327c016b107df096f72b628bb62ea38737a6743555e229272d4c68fa
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Jae Hee Lee
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,172 @@
1
+ # console-theme
2
+
3
+ This is a simple yet powerful theme that will make your website look really stylish. This theme is especially suitable for users who would want to focus on writing blogs instead of working on front-end stuffs.
4
+
5
+ The primary features of this theme are:
6
+ * Gulp
7
+ * Post search functionality
8
+ * svg symbol functionality (plugin)
9
+ * string original type check functionality (plugin)
10
+ * Rake to create a post
11
+ * Disqus integration (with each post having its unique identifier)
12
+ * Color customization functionality
13
+ * Categorization (data-driven)
14
+ * Offcanvas menu
15
+ * Pagination functionality (utilises jekyll-paginate as well as jquery paginator)
16
+ * Internationalization (uses jekyll-polyglot)
17
+
18
+ There are more features to come. Stay tuned!
19
+
20
+ ## Installation
21
+
22
+ Add this line to your Jekyll site's Gemfile:
23
+
24
+ ```ruby
25
+ gem "console-theme"
26
+ ```
27
+
28
+ And add this line to your Jekyll site's `_config.yml`:
29
+
30
+ ```yaml
31
+ theme: console-theme
32
+ ```
33
+
34
+ And then execute:
35
+
36
+ $ bundle
37
+
38
+ Or install it yourself as:
39
+
40
+ $ gem install console-theme
41
+
42
+ ### Gulp settings
43
+
44
+ To be able to use Gulp, you will need to install Node.js as well as its package manager (i.e. npm). Once you have installed npm. Go to the folder where the package.json is located and run `npm install` and it will install all the dependencies including Gulp.
45
+
46
+ $ npm install
47
+
48
+ When running `gulp` command, it will run the default gulp task. Make sure to run the following command when you are in the folder that has `gulpfile.js`.
49
+
50
+ $ gulp
51
+
52
+ This task would run several other tasks defined in `gulpfile.js.` To run individual tasks, please type `gulp [task name]`. For example:
53
+
54
+ $ gulp minify-css
55
+
56
+ ### Using a BrowserSync instead of Jekyll generated local server.
57
+
58
+ When running Jekyll serve, it is possible to run a server. However, I chose to use BrowserSync instead of that for few reasons:
59
+
60
+ * BrowserSync is a de-facto standard nowadays.
61
+ * It is used with Gulp and Gulp provides bundling as well as minifying, which based on my knowledge is not possible with Jekyll generated server.
62
+
63
+ Therefore, please do use gulp!
64
+
65
+ ## Usage
66
+
67
+ ### Creating a post
68
+
69
+ Please use `rake` command to create a post. Using this command would automatically generate Jekyll front matter with a unique Disqus identifier. The syntax for rake command is [assuming that you are in the root folder]:
70
+
71
+ ```ruby
72
+ rake post title="Title" [date="2017-01-13"] [category="category"]
73
+ ```
74
+
75
+ [] are optionals.
76
+
77
+ ### Integrating Disqus with your website.
78
+
79
+ You will need to first have Disqus account. Once the account is ready, please modify `config.yml` file by adding your shortname for disqus like below:
80
+
81
+ ```yaml
82
+ disqus_shortname: [your short name. Remove the bracket!]
83
+ ```
84
+
85
+ By doing this, every disqus script would use that information and disqus identifier to fetch relevant data.
86
+
87
+ ### How to use svg symbol
88
+
89
+ Using svg symbol is a good practice. By doing this, we can organize svgs better while not losing the caching functionality. Make sure you change your svg file to the file that conforms to the svg symbol style:
90
+
91
+ ```html
92
+ <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
93
+ <symbol id="beaker" viewBox="214.7 0 182.6 792">
94
+ <circle cx="344.8" cy="20.2" r="20.2"/>
95
+ <circle cx="344.8" cy="92.9" r="20.2"/>
96
+ <circle cx="320.5" cy="169.7" r="24.2"/>
97
+ <circle cx="243" cy="141.4" r="24.2"/>
98
+ <circle cx="284.2" cy="56.6" r="36.4"/>
99
+ </symbol>
100
+ </svg>
101
+ ```
102
+
103
+ If we would like to use this, we use svgicon tag by:
104
+
105
+ ```liquid
106
+ {% svgicon beaker %}
107
+ ```
108
+
109
+ This would display beaker on the screen! Examples are available.
110
+
111
+ This external svg file is located in: `assets/css/images/graphics/svg-symbols.svg`
112
+
113
+ ## Categorization
114
+
115
+ This theme uses data-driven categorization, which makes the construction of categoization simple and succinct. The json file for category is located in _data/categories.json. Each category has three attributes: title, href and id (used to uniquely identify them). Please view the sample file to get a sense of it.
116
+
117
+ To create the category pages, you need to create a 'category' folder and subfolders would be the name of categories. They can be further nested (i.e. sub categories). Each folder would have index.md (as we will be using folder structure for creating the page for category.) You can reference my website or refer to the examples provided.
118
+
119
+ ## Layouts and Blocks
120
+
121
+ This theme values simplicity. As such, every layout would look extremely analogous with each other. However, for extensibility there are about 7 layouts:
122
+
123
+ * category
124
+ * default
125
+ * main
126
+ * page
127
+ * post
128
+ * search
129
+ * home
130
+
131
+ These layouts share same blocks, which are defined in _includes folder. There are about 10 blocks:
132
+
133
+ * **category**: the block that displays the available categories.
134
+ * **comment**: the comment block, which would be visible if comment: true in the front matter for posts.
135
+ * **footer**: the footer area.
136
+ * **global**: the global menu area.
137
+ * **head**: corresponds to the head tag in html.
138
+ * **header**: the header area. This area usually shows the location of particular page.
139
+ * **home**: corresponds the index.html
140
+ * **navigation**: the block for the menu.
141
+ * **not_found**: for 404 page.
142
+ * **search**: the block for search.
143
+
144
+ ## Stylesheets
145
+
146
+ Jekyll uses sass, which is a scripting language that would be interpreted into css files. They are largely divided into three usages:
147
+
148
+ * **blocks**: the rest. The files are well separated. ( I think. )
149
+ * **configurations**: color settings and foundation styling will be here.
150
+ * **mixins**: self-explanatory. The breakpoint would be set here for responsive web design.
151
+
152
+ Based on your needs, you may modify these files.
153
+
154
+ ## Why some pages need to use folder structure
155
+
156
+ To create a page, there are few ways to achieve it. One of the solutions would be to use folder structure. For example, if we were to create a page called 'archive', then you can create the folder called 'archive' and then include index.html. For pages that use jekyll-paginate functionality, it is mandatory to use this. Otherwise, the functionality would not work. Please do not use .md extension. Use `.html` only as it would not work if this extension is not used.
157
+
158
+ ## Contributing
159
+
160
+ Bug reports and pull requests are welcome on GitHub at https://github.com/jaehee0113/console. 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.
161
+
162
+ ## Development
163
+
164
+ To set up your environment to develop this theme, run `bundle install`.
165
+
166
+ 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.
167
+
168
+ When your theme is released, only the files in `_layouts`, `_includes`, and `_sass` tracked with Git will be released.
169
+
170
+ ## License
171
+
172
+ The theme is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,91 @@
1
+ <div class="container-main-nopost">
2
+ {% if include.param == 'post' %}
3
+ {% assign curr_size = site.categories[page.category] | size %}
4
+ {% unless curr_size > 0 %}
5
+ {% assign word = page.category %}
6
+ <h3> {% localize no_related_post %} {% localize word %} </h3>
7
+ {% endunless %}
8
+ {% endif %}
9
+ </div>
10
+
11
+ {% if include.param != 'post' %}
12
+ <div class="category">
13
+
14
+ {% if include.param == 'main' %}
15
+ <ul class="category-list">
16
+ {% endif %}
17
+
18
+ {% for category in site.data.categories %}
19
+
20
+ {% if include.param == 'main' %}
21
+ <li class="category-list-enclosure">
22
+ <a class="category-list-link" href="{{site.production_url}}/category{{category.href}}">
23
+ {% assign word = category.id %}
24
+ {% localize word %}
25
+ {% if forloop.last %}<blink>_</blink>{% endif %}
26
+ </a>
27
+ {% endif %}
28
+
29
+ {% if category.subcategories != null and category.id != page.category %}
30
+ <ul class="category-sub-list">
31
+
32
+ {% if include.param == 'main' %}
33
+
34
+ {% for subcategory in category.subcategories %}
35
+ <li class="category-sub-list-enclosure">
36
+ <a class="category-sub-list-link" href="{{site.production_url}}/category{{category.href}}{{subcategory.href}}">
37
+ {% assign word = subcategory.id %}{% localize word %}
38
+ </a>
39
+ </li>
40
+ {% endfor %}
41
+
42
+ {% else %}
43
+
44
+ {% for category in site.data.categories %}
45
+ {% assign category_title = category.title | downcase %}
46
+ {% if category_title == page.category %}
47
+ {% for subcategory in category.subcategories %}
48
+ <li class="category-sub-list-enclosure">
49
+ <a class="category-sub-list-link" href="{{site.production_url}}/category{{category.href}}{{subcategory.href}}">
50
+ {% assign word = subcategory.id %}{% localize word %}
51
+ </a>
52
+ </li>
53
+ {% endfor %}
54
+ {% endif %}
55
+ {% endfor %}
56
+
57
+ {% endif %}
58
+
59
+ </ul>
60
+ {% endif %}
61
+
62
+ {% if include.param == 'main' %}
63
+ </li>
64
+ {% endif %}
65
+
66
+ {% endfor %}
67
+
68
+ {% if include.param == 'main' %}
69
+ </ul>
70
+ {% endif %}
71
+
72
+ </div>
73
+ {% else %}
74
+ {% if curr_size > 0 %}
75
+ <ul class="post-list">
76
+ {% assign posts = site.categories[page.category] | sort:"date" | reverse %}
77
+ {% for post in posts %}
78
+ <li class="post-list-enclosure-2pr">
79
+ <div class="card-details">
80
+ <div class="card-details-header">
81
+ <span class="card-details-header-title">{{post.title}}</span>
82
+ </div>
83
+ <div class="card-details-readmore">
84
+ <a href="{{post.url}}"> {% localize readmore %} > </a>
85
+ </div>
86
+ </div>
87
+ </li>
88
+ {% endfor %}
89
+ </ul>
90
+ {% endif %}
91
+ {% endif %}
@@ -0,0 +1,25 @@
1
+ <div id="disqus_thread"></div>
2
+ <script>
3
+ {% if page.disqus_identifier %}
4
+ var disqus_identifier = '{{page.disqus_identifier}}';
5
+ {% else %}
6
+ var disqus_identifier = '{{page.url}}';
7
+ {% endif %}
8
+ var disqus_shortname = 'Philsensus';
9
+ /**
10
+ * RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
11
+ * LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
12
+ /*
13
+ var disqus_config = function () {
14
+ this.page.url = PAGE_URL; // Replace PAGE_URL with your page's canonical URL variable
15
+ this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
16
+ };
17
+ */
18
+ (function() { // DON'T EDIT BELOW THIS LINE
19
+ var d = document, s = d.createElement('script');
20
+ s.src = '//philsensus.disqus.com/embed.js';
21
+ s.setAttribute('data-timestamp', +new Date());
22
+ (d.head || d.body).appendChild(s);
23
+ })();
24
+ </script>
25
+ <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
@@ -0,0 +1,25 @@
1
+ <footer class="site-footer">
2
+
3
+ <div class="wrapper">
4
+ <div class="footer-col-wrapper">
5
+ <div class="footer-col footer-col-1">
6
+ <a class="anchor" href="#top">{% svgicon chevron-top %}</a>
7
+ </div>
8
+ <div class="footer-col footer-col-2">
9
+ <p>2017 @ Powered by Github Pages and Jekyll {% svgicon jekyll %}, licensed under MIT License.</p>
10
+ </div>
11
+ <div class="footer-col footer-col-3">
12
+ <a class="footer-link-linkedin" href="http://linkedin.com/in/{{site.linkedin_username}}">
13
+ {% svgicon linkedin %}
14
+ </a>
15
+ <a class="footer-link-github" href="http://github.com/{{site.github_username}}">
16
+ {% svgicon github %}
17
+ </a>
18
+ <a class="footer-link-youtube" href="http://youtube.com/{{site.youtube_username}}">
19
+ {% svgicon youtube %}
20
+ </a>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </footer>
25
+
@@ -0,0 +1,33 @@
1
+ <div class="site-global">
2
+ <div class="container">
3
+ <div class="container-inner">
4
+ <div class="container-inner-hamburger">
5
+ {% svgicon hamburger %}
6
+ </div>
7
+ <div class="container-main">
8
+ <a class="container-main-title" href="{{site.production_url}}">
9
+ {{site.title}}
10
+ </a>
11
+ <div class="container-main-language">
12
+ {% for language in site.languages %}
13
+ {% if language != 'en'%}
14
+ {% assign revised_url = {{site.production_url}} | append: '/' | append: {{language}} | append: {{page.url}} %}
15
+ {% if language == 'de'%}
16
+ <a class="container-main-language-link {% if language == site.active_lang %} active {% endif %}" id="{{language}}" href="{{revised_url}}">Deutsch</a>
17
+ {% endif %}
18
+ {% if language == 'ko' %}
19
+ <a class="container-main-language-link {% if language == site.active_lang %} active {% endif %}" id="{{language}}" href="{{revised_url}}">한국어</a>
20
+ {% endif %}
21
+ {% else %}
22
+ <a class="container-main-language-link {% if language == site.active_lang %} active {% endif %}" id="{{language}}" href="{{site.production_url}}">English</a>
23
+ {% endif %}
24
+ {% endfor %}
25
+
26
+ </div>
27
+ </div>
28
+ <div class="container-search">
29
+ {% svgicon search %}
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
@@ -0,0 +1,29 @@
1
+ <head>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
4
+ {% if page.url == "/404" %}
5
+ <meta http-equiv="refresh" content="5; url=/">
6
+ {% endif %}
7
+ <meta name="viewport" content="width=device-width, initial-scale=1">
8
+ {% if layout["layout"] == "post" %}
9
+ <title>{{page.title}}</title>
10
+ {% elsif layout["layout"] == "category" %}
11
+ {% unless site.active_lang == 'ko' %}
12
+ <title>{% assign word = page.category %}{% localize word %}</title>
13
+ {% else %}
14
+ <title>{{page.title}}</title>
15
+ {% endunless %}
16
+ {% else %}
17
+ {% assign word = page.title | downcase | replace: ' ', '_' %}
18
+ <title>{% localize word %}</title>
19
+ {% endif %}
20
+ <meta name="description" content="{{site.description}}">
21
+ <link rel="stylesheet" type="text/css" href="{{site.production_url}}/public/css/style.min.css">
22
+ <link href="https://fonts.googleapis.com/css?family=PT+Sans|Press+Start+2P|Pacifico" rel="stylesheet">
23
+ <link rel="stylesheet" href="https://fonts.googleapis.com/earlyaccess/nanumgothic.css">
24
+ <script
25
+ src="https://code.jquery.com/jquery-3.1.1.min.js"
26
+ integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
27
+ crossorigin="anonymous"></script>
28
+ <script src="{{site.production_url}}/public/js/client.min.js"></script>
29
+ </head>
@@ -0,0 +1,20 @@
1
+ <header class="site-header" role="banner">
2
+ <div id="top"></div>
3
+ <div class="wrapper-title">
4
+ {% if layout["layout"] == "post" %}
5
+ <div class="site-title-header">{% assign word = 'posts' %}{% localize word %}/{{page.title | downcase | replace: ' ', '_'}}<blink>_</blink></div>
6
+ {% elsif layout["layout"] == "category" %}
7
+ {% unless site.active_lang == 'ko' %}
8
+ <div class="site-title-header">
9
+ {% assign word = 'category' %}{% localize word %}/{% assign word = page.category %}{% localize word %}<blink>_</blink>
10
+ </div>
11
+ {% else %}
12
+ <div class="site-title-header">category/{{page.title | downcase | replace: ' ', '_'}}<blink>_</blink>
13
+ </div>
14
+ {% endunless %}
15
+ {% else %}
16
+ {% assign word = page.title | downcase | replace: ' ', '_' %}
17
+ <div class="site-title-header">{% localize word %}<blink>_</blink></div>
18
+ {% endif %}
19
+ </div>
20
+ </header>
@@ -0,0 +1,51 @@
1
+ <div class="post">
2
+ <div class="post-list-title">
3
+ <span class="post-title">
4
+ {% localize recent_posts %}
5
+ </span>
6
+ </div>
7
+ <ul class="post-list">
8
+ {% assign posts = site.posts | sort:"date" | reverse %}
9
+ {% for post in posts limit: 3 %}
10
+ <li class="post-list-enclosure-2pr">
11
+ <div class="card-details">
12
+ <div class="card-details-header">
13
+ <span class="card-details-header-title">{{post.title}}</span>
14
+
15
+ <span class="card-details-header-category">
16
+ {% for category in post.categories %}
17
+ {{category}}
18
+ {% endfor %}
19
+ </span>
20
+ <span class="card-details-header-date">
21
+ {% assign dateStrings = post.date | date_to_long_string | split: ' ' %}
22
+ {% for dateString in dateStrings %}
23
+ {% assign word = dateString | downcase %}
24
+ {% capture datatype %} {% typecheck word %} {% endcapture %}
25
+ {% assign datatype = datatype | strip %}
26
+ {% if datatype == 'int' %}
27
+ {{word}}
28
+ {% else %}
29
+ {% localize word %}
30
+ {% endif %}
31
+ {% endfor %}
32
+ </span>
33
+ </div>
34
+ <div class="card-details-main">
35
+ {{post.content | truncatewords: 30}}
36
+ </div>
37
+ <div class="card-details-readmore">
38
+ <a href="{{post.url}}">{% localize readmore %} > </a>
39
+ </div>
40
+ </div>
41
+ </li>
42
+ {% endfor %}
43
+ </ul>
44
+ <div class="post-list-full">
45
+ <a class="post-list-full-button-outline-link" href="{{site.production_url}}/archive/">
46
+ <div class="post-list-full-button-outline">
47
+ <span class="post-list-full-button"> {% localize view_all %} </span>
48
+ </div>
49
+ </a>
50
+ </div>
51
+ </div>
@@ -0,0 +1,21 @@
1
+ <nav class="site-navigation">
2
+ <div class="site-navigation-close">
3
+ {% svgicon cross %}
4
+ </div>
5
+ <div class="site-title-container">
6
+ <a class="site-title-container-header" href="/">{{site.title}}</a>
7
+ </div>
8
+ <ul class="menu-list">
9
+ {% assign navigation_pages = site.html_pages | sort: 'navigation_weight' %}
10
+ {% for p in navigation_pages %}
11
+ {% if p.navigation_weight %}
12
+ <li class="menu-item">
13
+ <a href="{{site.baseurl}}{{p.url}}" {% if p.url == page.url %} class="active menu-link" {% else %} class="menu-link" {% endif %}>
14
+ {% assign word = p.title | downcase %}
15
+ {% localize word %}
16
+ </a>
17
+ </li>
18
+ {% endif %}
19
+ {% endfor %}
20
+ </ul>
21
+ </nav>
@@ -0,0 +1,8 @@
1
+ <div class="site-404">
2
+ <div class="site-404-icon">
3
+ {% svgicon 404 %}
4
+ </div>
5
+ <div class="site-404-title">
6
+ {% localize page_not_found %}
7
+ </div>
8
+ </div>
@@ -0,0 +1,44 @@
1
+ {% if include.param != 'search' %}
2
+ <div class="container-search-main">
3
+ {% endif %}
4
+ <div class="container-search-inner">
5
+ {% if include.param != 'search' %}
6
+ <label class="container-search-inner-label" for="search-box">{% localize search %}</label>
7
+ {% endif %}
8
+ {% if site.active_lang == 'en' %}
9
+ <form class="container-search-inner-form" id="search-form" action="{{site.production_url}}/search/" method="get">
10
+ {% else %}
11
+ <form class="container-search-inner-form" id="search-form" action="{{site.production_url}}/{{site.active_lang}}/search/" method="get">
12
+ {% endif %}
13
+ <div class="container-search-inner-form-input">
14
+ <input type="text" placeholder="{% localize lookformore %}" class="container-search-inner-form-box" id="search-box" name="query">
15
+ </div>
16
+ <div class="container-search-inner-form-submit">
17
+ <input class="container-search-inner-form-submit-button" type="submit" value="{% localize go %}">
18
+ </div>
19
+ </form>
20
+ </div>
21
+ {% if include.param != 'search' %}
22
+ </div>
23
+ {% endif %}
24
+
25
+ {% if include.param == 'search' %}
26
+ <ul class="post-list" id="search-results"></ul>
27
+ <div class="pagination"></div>
28
+
29
+ <script>
30
+ window.store = {
31
+ {% for post in site.posts %}
32
+ "{{ post.url | slugify }}": {
33
+ "title": "{{ post.title | xml_escape }}",
34
+ "author": "{{ post.author | xml_escape }}",
35
+ "category": "{{ post.categories[0] | xml_escape }}",
36
+ "date": "{{post.date | date_to_long_string}}",
37
+ "content": {{ post.content | strip_html | strip_newlines | jsonify }},
38
+ "url": "{{ post.url | xml_escape }}"
39
+ }
40
+ {% unless forloop.last %},{% endunless %}
41
+ {% endfor %}
42
+ };
43
+ </script>
44
+ {% endif %}
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: category
3
+ ---
4
+ <!DOCTYPE html>
5
+ <html>
6
+ <head>
7
+ {% include head.html %}
8
+ </head>
9
+ <body>
10
+ {% include navigation.html %}
11
+ <div class="application">
12
+ {% include global.html %}
13
+ {% include search.html %}
14
+ {% include header.html %}
15
+ <section class="wrapper category-main">
16
+ {{content}}
17
+ </section>
18
+ </div>
19
+ </body>
20
+ {% include footer.html %}
21
+ </html>
@@ -0,0 +1 @@
1
+ {{ content }}
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: home
3
+ ---
4
+ <!DOCTYPE html>
5
+ <html>
6
+ <head>
7
+ {% include head.html %}
8
+ </head>
9
+ <body>
10
+ {% include navigation.html %}
11
+ <div class="application">
12
+ {% include global.html %}
13
+ {% include search.html %}
14
+ {% include header.html %}
15
+ <section class="wrapper home">
16
+ {{content}}
17
+ </section>
18
+ </div>
19
+ </body>
20
+ {% include footer.html %}
21
+ </html>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: main
3
+ ---
4
+ <!DOCTYPE html>
5
+ <html>
6
+ <head>
7
+ {% include head.html %}
8
+ </head>
9
+ <body>
10
+ {% include navigation.html %}
11
+ <div class="application">
12
+ {% include global.html %}
13
+ {% include search.html %}
14
+ {% include header.html %}
15
+ <section class="wrapper main">
16
+ {{content}}
17
+ </section>
18
+ </div>
19
+ </body>
20
+ {% include footer.html %}
21
+ </html>
@@ -0,0 +1,21 @@
1
+ ---
2
+ layout: page
3
+ ---
4
+ <!DOCTYPE html>
5
+ <html>
6
+ <head>
7
+ {% include head.html %}
8
+ </head>
9
+ <body>
10
+ {% include navigation.html %}
11
+ <div class="application">
12
+ {% include global.html %}
13
+ {% include search.html %}
14
+ {% include header.html %}
15
+ <section class="wrapper page">
16
+ {{content}}
17
+ </section>
18
+ </div>
19
+ </body>
20
+ {% include footer.html %}
21
+ </html>