jekyll-paginate-v2 1.3.3 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -1
  3. data/README.md +107 -3
  4. data/examples/01-typicalblog/Gemfile +28 -0
  5. data/examples/01-typicalblog/README.md +91 -0
  6. data/examples/01-typicalblog/_config.yml +51 -0
  7. data/examples/01-typicalblog/_includes/header.html +31 -0
  8. data/examples/01-typicalblog/_layouts/home.html +52 -0
  9. data/examples/01-typicalblog/_posts/2016-11-20-geography-of-minneapolis.md +29 -0
  10. data/examples/01-typicalblog/_posts/2016-11-21-sailing-summer-olympics-1988.md +15 -0
  11. data/examples/01-typicalblog/_posts/2016-11-22-rotary-engine.md +27 -0
  12. data/examples/01-typicalblog/_posts/2016-11-23-luft-fahrzeug-gesellschaft.md +27 -0
  13. data/examples/01-typicalblog/_posts/2016-11-24-narcisse-snake-pits.md +18 -0
  14. data/examples/01-typicalblog/_posts/2016-11-25-tele7jours.md +43 -0
  15. data/examples/01-typicalblog/_posts/2016-11-26-columbia-river.md +41 -0
  16. data/examples/01-typicalblog/_posts/2016-11-27-welcome-to-jekyll-paginate-v2.md +33 -0
  17. data/examples/01-typicalblog/about.md +15 -0
  18. data/examples/01-typicalblog/index.html +8 -0
  19. data/examples/02-category/Gemfile +28 -0
  20. data/examples/02-category/README.md +119 -0
  21. data/examples/02-category/_config.yml +47 -0
  22. data/examples/02-category/_includes/header.html +31 -0
  23. data/examples/02-category/_layouts/home.html +52 -0
  24. data/examples/02-category/_posts/2016-10-27-welcome-to-jekyll-paginate-v2.md +32 -0
  25. data/examples/02-category/about.md +15 -0
  26. data/examples/02-category/cars/_posts/2016-10-18-Porsche-918-Spyder.md +13 -0
  27. data/examples/02-category/cars/_posts/2016-10-19-Porsche-964.md +12 -0
  28. data/examples/02-category/cars/_posts/2016-10-20-porsche-911-gt3.md +13 -0
  29. data/examples/02-category/cars/_posts/2016-10-21-porsche-911.md +13 -0
  30. data/examples/02-category/cars/_posts/2016-10-22-porsche-962.md +18 -0
  31. data/examples/02-category/cars/_posts/2016-10-23-Toyota-GT-One.md +20 -0
  32. data/examples/02-category/cars/_posts/2016-10-24-Mercedes-Benz-CLK-GTR.md +40 -0
  33. data/examples/02-category/cars/_posts/2016-10-25-rolls-royce-silver-ghost.md +31 -0
  34. data/examples/02-category/categories/byname.md +11 -0
  35. data/examples/02-category/categories/porsche.md +10 -0
  36. data/examples/02-category/index.md +13 -0
  37. data/examples/02-category/toyota/index.md +7 -0
  38. data/examples/03-tags/Gemfile +28 -0
  39. data/examples/03-tags/README.md +60 -0
  40. data/examples/03-tags/_config.yml +45 -0
  41. data/examples/03-tags/_includes/header.html +31 -0
  42. data/examples/03-tags/_layouts/home.html +51 -0
  43. data/examples/03-tags/_layouts/post.html +20 -0
  44. data/examples/03-tags/biography/_posts/2016-10-27-born-to-run.md +26 -0
  45. data/examples/03-tags/biography/_posts/2016-10-27-forty-autumns.md +26 -0
  46. data/examples/03-tags/biography/_posts/2016-10-27-life-in-questions-a.md +27 -0
  47. data/examples/03-tags/biography/_posts/2016-10-27-not-dead-yet.md +24 -0
  48. data/examples/03-tags/biography/_posts/2016-10-27-princess-diarist-the.md +26 -0
  49. data/examples/03-tags/biography/_posts/2016-10-27-when-breath-becomes-air.md +24 -0
  50. data/examples/03-tags/biography/biography-musicians.md +13 -0
  51. data/examples/03-tags/biography/biography.md +12 -0
  52. data/examples/03-tags/blog/_posts/2016-09-30-welcome-to-jekyll-paginate-v2.md +32 -0
  53. data/examples/03-tags/byisbn.md +13 -0
  54. data/examples/03-tags/fantasy/_posts/2016-10-27-harry-potter-deathly-hallows.md +24 -0
  55. data/examples/03-tags/fantasy/_posts/2016-10-27-harry-potter-philosophers-stone.md +24 -0
  56. data/examples/03-tags/fantasy/_posts/2016-10-27-mistborn-trilogy.md +24 -0
  57. data/examples/03-tags/fantasy/_posts/2016-10-27-ready-player-one.md +24 -0
  58. data/examples/03-tags/fantasy/_posts/2016-10-27-sword-of-destiny.md +24 -0
  59. data/examples/03-tags/fantasy/_posts/2016-10-27-terry-pratchet-diary-2017.md +24 -0
  60. data/examples/03-tags/index.md +18 -0
  61. data/examples/03-tags/romance/_posts/2016-10-27-breath-of-snow-and-ashes-a.md +25 -0
  62. data/examples/03-tags/romance/_posts/2016-10-27-dressmaker-the.md +24 -0
  63. data/examples/03-tags/romance/_posts/2016-10-27-fiery-cross-the.md +26 -0
  64. data/examples/03-tags/romance/_posts/2016-10-27-it-ends-with-us.md +28 -0
  65. data/examples/03-tags/romance/_posts/2016-10-27-outlander-novel.md +34 -0
  66. data/examples/03-tags/romance/_posts/2016-10-27-virgins-outlander-short-story.md +26 -0
  67. data/examples/03-tags/romance/romance-historical.md +14 -0
  68. data/examples/03-tags/tags/contemporary.md +10 -0
  69. data/examples/03-tags/tags/fantasy.md +12 -0
  70. data/examples/03-tags/tags/sci-fi.md +13 -0
  71. data/examples/README.md +21 -0
  72. data/examples/img/01-example-screenshot-main.png +0 -0
  73. data/examples/img/02-example-screenshot-main.png +0 -0
  74. data/examples/img/03-example-screenshot-main.png +0 -0
  75. data/lib/jekyll-paginate-v2.rb +1 -0
  76. data/lib/jekyll-paginate-v2/compatibilityUtils.rb +4 -3
  77. data/lib/jekyll-paginate-v2/paginationGenerator.rb +15 -8
  78. data/lib/jekyll-paginate-v2/paginationModel.rb +58 -37
  79. data/lib/jekyll-paginate-v2/paginationPage.rb +38 -0
  80. data/lib/jekyll-paginate-v2/paginator.rb +3 -3
  81. data/lib/jekyll-paginate-v2/utils.rb +47 -1
  82. data/lib/jekyll-paginate-v2/version.rb +2 -2
  83. data/spec/spec_helper.rb +1 -0
  84. metadata +74 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5a8ad5b12fdd974ec99c1a4d4aa6572ed754250
4
- data.tar.gz: f7e5182bccff65e50de5588714262bb209d535e7
3
+ metadata.gz: d2151298586fb30e325abf19b2f4f2feb050581d
4
+ data.tar.gz: d01e27f2e65eaa820a194e4a261f1668839d75be
5
5
  SHA512:
6
- metadata.gz: e1ab80baa20145544bcc08d665b9d628c8cc8f651503bccc615ad083a646fc5e6d1bc043cca5d635a7af8a951af789a164ca815a8cde4b4cc68932972f8dd2d7
7
- data.tar.gz: 4e8e4aeb771e3ab4b6f9b8ea4f08292e27caad0541be1b23f3fc2a6c4870a64d095c5fea94c1195131d8344eeb2ec6834d89d03f46f9e2c9b330e53b647e9a24
6
+ metadata.gz: 15b28be37affd98b4b18709747afaf3d7e4ab85cc22541b5549c6b34bedd1e3f531c7e52fc3b20937643371e99fcaa0f15f056a37295d778925342045fc5aef7
7
+ data.tar.gz: 422190d1e73563def30150c4a4173e4cbbc267b9e123c3bd93cc74da93f99c8b98e2f3c5f22b4be492d3f27169143c0568e5749690e7bf81786efa9eaead52a7
data/.gitignore CHANGED
@@ -13,4 +13,8 @@ pkg
13
13
  rdoc
14
14
  spec/reports
15
15
  spec/dest
16
- tmp
16
+ tmp
17
+ _site/
18
+ .sass-cache
19
+ .jekyll-metadata
20
+ .gitignore
data/README.md CHANGED
@@ -11,6 +11,7 @@ The code was based on the original design of [jekyll-paginate](https://github.co
11
11
 
12
12
 
13
13
  * [Installation](#installation)
14
+ * [Examples](https://github.com/sverrirs/jekyll-paginate-v2/tree/master/examples)
14
15
  * [Features](#features)
15
16
  * [New site configuration](#site-configuration)
16
17
  * [New page configuration](#page-configuration)
@@ -20,9 +21,15 @@ The code was based on the original design of [jekyll-paginate](https://github.co
20
21
  + [Filtering tags](#filtering-tags)
21
22
  + [Filtering locales](#filtering-locales)
22
23
  * [How to paginate on combination of filters](#paginate-on-combination-of-filters)
23
- * [Specifying configuration overrides](#configuration-overrides)
24
+ * [Overriding site configuration](#configuration-overrides)
25
+ * [Advanced Sorting](#advanced-sorting)
26
+ * [How to detect auto-generated pages](#detecting-generated-pagination-pages)
24
27
  * [Common issues](#common-issues)
28
+ - [Dependency Error after installing](#i-keep-getting-a-dependency-error-when-running-jekyll-serve-after-installing-this-gem)
25
29
  - [Bundler error upgrading gem (Bundler::GemNotFound)](#im-getting-a-bundler-error-after-upgrading-the-gem-bundlergemnotfound)
30
+ - [Pagination pages are not found](#my-pagination-pages-are-not-being-found-couldnt-find-any-pagination-page-skipping-pagination)
31
+ - [Categories cause excess folder nesting](#my-pages-are-being-nested-multiple-levels-deep)
32
+ - [Pagination pages overwriting each others pages](#my-pagination-pages-are-overwriting-each-others-pages)
26
33
  * [Issues / to-be-completed](#issues--to-be-completed)
27
34
  * [How to Contribute](#contributing)
28
35
 
@@ -38,6 +45,8 @@ Update your [_config.yml](#site-configuration) and [pages](#page-configuration).
38
45
 
39
46
  Now you're ready to run `jekyll serve` and your paginated files should be generated.
40
47
 
48
+ Please see the [Examples](https://github.com/sverrirs/jekyll-paginate-v2/tree/master/examples) for more information on how to configure the pagination logic.
49
+
41
50
 
42
51
  ## Features
43
52
 
@@ -149,6 +158,8 @@ The code is fully backwards compatible and you will have access to all the norma
149
158
 
150
159
  Neat!
151
160
 
161
+ Please see the [Examples](https://github.com/sverrirs/jekyll-paginate-v2/tree/master/examples) for more detailed information and working site configurations.
162
+
152
163
  ## Backwards compatibility with jekyll-paginate
153
164
  This gem is fully backwards compatible with the old [jekyll-paginate](https://github.com/jekyll/jekyll-paginate) gem and can be used as a zero-configuration replacement for it. If the old site config is detected then the gem will fall back to the old logic of pagination.
154
165
 
@@ -211,6 +222,8 @@ pagination:
211
222
  tag: cool, life
212
223
  ```
213
224
 
225
+ > When specifying tags in your posts make sure that the values are not enclosed in single quotes (double quotes are fine). If they are you will get a cryptic error when generating your site that looks like _"Error: could not read file <FILE>: did not find expected key while parsing a block mapping at line 2 column 1"_
226
+
214
227
  ### Filtering locales
215
228
 
216
229
  In the case your site offers multiple languages you can include a `locale` item in your post front matter. The paginator can then use this value to filter on
@@ -272,15 +285,85 @@ pagination:
272
285
  sort_reverse: false
273
286
  ```
274
287
 
288
+ ## Advanced Sorting
289
+ Sorting can be done by any field that is available in the post front-matter. You can even sort by nested fields.
290
+
291
+ > When sorting by nested fields separate the fields with a colon `:` character.
292
+
293
+ As an example, assuming all your posts have the following front-matter
294
+
295
+ ``` yml
296
+ ---
297
+ layout: post
298
+ author:
299
+ name:
300
+ first: "John"
301
+ last: "Smith"
302
+ born: 1960
303
+ ---
304
+ ```
305
+
306
+ You can define pagination sorting on the nested `last` field like so
307
+
308
+ ``` yml
309
+ ---
310
+ layout: page
311
+ title: "Authors by first name"
312
+ pagination:
313
+ enabled: true
314
+ sort_field: 'author:name:first'
315
+ ---
316
+ ```
317
+
318
+ To sort by the `born` year in decending order (youngest first)
319
+
320
+ ``` yml
321
+ ---
322
+ layout: page
323
+ title: "Authors by birth year"
324
+ pagination:
325
+ enabled: true
326
+ sort_field: 'author:born'
327
+ sort_reverse: true
328
+ ---
329
+ ```
330
+
331
+ ## Detecting generated pagination pages
332
+
333
+ To identify the auto-generated pages that are created by the pagination logic when iterating through collections such as `site.pages` the `page.autogen` variable can be used like so
334
+
335
+ ```
336
+ {% for my_page in site.pages %}
337
+ {% if my_page.title and my_page.autogen == nil %}
338
+ <h1>{{ my_page.title | escape }}</h1>
339
+ {% endif %}
340
+ {% endfor %}
341
+ ```
342
+ _In this example only pages that have a title and are not auto-generated are included._
343
+
344
+ This variable is created and assigned the value `page.autogen = "jekyll-paginate-v2"` by the pagination logic. This way you can detect which pages are auto-generated and by what gem.
345
+
275
346
  ## Common issues
276
347
 
277
- #### I'm getting a bundler error after upgrading the gem (Bundler::GemNotFound)
348
+ ### I keep getting a dependency error when running jekyll serve after installing this gem
349
+
350
+ > Dependency Error: Yikes! It looks like you don't have jekyll-paginate-v2 or one of its dependencies installed...
351
+
352
+ Check your `Gemfile` in the site root. Ensure that the jekyll-paginate-v2 gem is present in the jekyll_plugins group like the example below. If this group is missing add to the file.
353
+
354
+ ``` ruby
355
+ group :jekyll_plugins do
356
+ gem "jekyll-paginate-v2"
357
+ end
358
+ ```
359
+
360
+ ### I'm getting a bundler error after upgrading the gem (Bundler::GemNotFound)
278
361
 
279
362
  > bundler/spec_set.rb:95:in `block in materialize': Could not find jekyll-paginate-v2-1.0.0 in any of the sources (Bundler::GemNotFound)
280
363
 
281
364
  When running `jekyll serve` if you ever get an error similar to the one above the solution is to delete your `Gemfile.lock` file and try again.
282
365
 
283
- #### My pagination pages are not being found (Couldn't find any pagination page. Skipping pagination)
366
+ ### My pagination pages are not being found (Couldn't find any pagination page. Skipping pagination)
284
367
 
285
368
  > Pagination: Is enabled, but I couldn't find any pagination page. Skipping pagination...
286
369
 
@@ -288,6 +371,27 @@ Pagination only works inside **pages** they are not supported in the liquid temp
288
371
 
289
372
  Create a normal page with a `layout:page` in it's front-matter and place the pagination logic there.
290
373
 
374
+ ### My pages are being nested multiple levels deep
375
+
376
+ When using `categories` for posts it is advisable to explicitly state a `permalink` structure in your `_config.yml` file.
377
+
378
+ ```
379
+ permalink: /:year/:month/:title.html
380
+ ```
381
+
382
+ This is because the default behavior in Jekyll is to nest pages for every category that they belong to and Jekyll unfortunately does not understand multi-categories separated with `,` or `;` but instead does all separation on `[space]` only.
383
+
384
+ ### My pagination pages are overwriting each others pages
385
+ If you specify multiple pages that paginate in the site root then you must give them unique and separate pagination permalink. This link is set in the pagination page front-matter like so
386
+
387
+ ``` yml
388
+ pagination:
389
+ enabled: true
390
+ permalink: '/cars/:num/'
391
+ ```
392
+
393
+ Make absolutely sure that your pagination permalink paths do not clash with any other paths in your final site. For simplicity it is recommended that you keep all custom pagination (non root index.html) in a single or multiple separate sub folders under your site root.
394
+
291
395
  ## Issues / to-be-completed
292
396
  * Incomplete unit-tests
293
397
  * Missing integration tests [#2](https://github.com/jekyll/jekyll-paginate/pull/2)
@@ -0,0 +1,28 @@
1
+ source "https://rubygems.org"
2
+ ruby RUBY_VERSION
3
+
4
+ # Hello! This is where you manage which Jekyll version is used to run.
5
+ # When you want to use a different version, change it below, save the
6
+ # file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
7
+ #
8
+ # bundle exec jekyll serve
9
+ #
10
+ # This will help ensure the proper Jekyll version is running.
11
+ # Happy Jekylling!
12
+ gem "jekyll", "3.3.0"
13
+
14
+ # This is the default theme for new Jekyll sites. You may change this to anything you like.
15
+ gem "minima", "~> 2.0"
16
+
17
+ # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
18
+ # uncomment the line below. To upgrade, run `bundle update github-pages`.
19
+ # gem "github-pages", group: :jekyll_plugins
20
+
21
+ source 'https://rubygems.org'
22
+
23
+ group :jekyll_plugins do
24
+ gem "jekyll-paginate-v2"
25
+ gem "jekyll-feed"
26
+ end
27
+
28
+ gem 'wdm', '>= 0.1.0' if Gem.win_platform?
@@ -0,0 +1,91 @@
1
+ # Example 01::Typical Blog
2
+ This example site shows how the pagination gem can be used on a simple blog site.
3
+
4
+ <p align="center">
5
+ <img src="https://raw.githubusercontent.com/sverrirs/jekyll-paginate-v2/master/examples/img/01-example-screenshot-main.png" />
6
+ </p>
7
+
8
+ The site is generated using the jekyll built in new command `jekyll new myblog` and it uses the [default `minima` theme](https://github.com/jekyll/minima).
9
+
10
+ After generating the pagination gem was installed using
11
+
12
+ ```
13
+ gem install jekyll-paginate-v2
14
+ ```
15
+
16
+ ## Structure
17
+ The blog has only one type of posts, blog posts. No category pagination is performed. To implement the pagination for the minima theme the `_layouts/home.html` needed to be modified to call the pagination logic.
18
+
19
+ The `_includes/header.html` was also overridden to omit listing the auto-generated pagination sites at the top of the header part.
20
+
21
+ ## Setup configuration
22
+
23
+ The gem is added to the `_config.yml` file under
24
+ ``` yml
25
+ gems:
26
+ - jekyll-paginate-v2
27
+ ```
28
+
29
+ as well as to the `Gemfile` into the main loop
30
+ ``` ruby
31
+ group :jekyll_plugins do
32
+ gem "jekyll-paginate-v2"
33
+ gem "jekyll-feed"
34
+ end
35
+ ```
36
+
37
+ At this point is is advisable to delete the `Gemfile.lock` file to clear out any potential issues with gem caching and dependency issues (no worries this file will be auto generated for you again).
38
+
39
+ ## Configuring the pagination
40
+
41
+ Add the pagination configuration to `_config.yml`
42
+
43
+ ``` yml
44
+ # Pagination Settings
45
+ pagination:
46
+ enabled: true
47
+ per_page: 3
48
+ permalink: '/page/:num/'
49
+ title_suffix: ' - page :num'
50
+ limit: 0
51
+ sort_field: 'date'
52
+ sort_reverse: true
53
+ ```
54
+
55
+
56
+ Due to the way the entries in the blog utilize multiple categories it is also good to explicitly state the permalink format to avoid excessive nesting of the post pages. So place the following line into the `_config.yml` file as well
57
+
58
+ ``` yml
59
+ # Produces a cleaner folder structure when using categories
60
+ permalink: /:year/:month/:title.html
61
+ ```
62
+
63
+ ## Completing the setup
64
+ Now the pagination simply needs to be enabled in the `index.html` file.
65
+
66
+ ``` yml
67
+ ---
68
+ layout: home
69
+ pagination:
70
+ enabled: true
71
+ ---
72
+ ```
73
+
74
+ That is it, no further configuration is needed!
75
+
76
+ Try building the site yourself using `jekyll build` or `jekyll serve`.
77
+
78
+ ## Testing backwards compatability
79
+
80
+ In the `_config.yml` file remove or comment out the new `pagination:` configuration and paste/uncomment the following configuration instead.
81
+
82
+ ``` yml
83
+ # Old jekyll-paginate pagination logic
84
+ paginate: 3
85
+ paginate_path: "/legacy/page:num/"
86
+ ```
87
+ Now run `jekyll serve` again and the gem will generate the pagination according to the old jekyll-paginate rules and behavior.
88
+
89
+ > You must disable the new pagination configuration for the old one to work. You cannot run both configurations at the same time.
90
+
91
+ Cheers :heart:
@@ -0,0 +1,51 @@
1
+ # Welcome to Jekyll!
2
+ #
3
+ # This config file is meant for settings that affect your whole blog, values
4
+ # which you are expected to set up once and rarely edit after that. If you find
5
+ # yourself editing these this file very often, consider using Jekyll's data files
6
+ # feature for the data you need to update frequently.
7
+ #
8
+ # For technical reasons, this file is *NOT* reloaded automatically when you use
9
+ # 'bundle exec jekyll serve'. If you change this file, please restart the server process.
10
+
11
+ # Site settings
12
+ # These are used to personalize your new site. If you look in the HTML files,
13
+ # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
14
+ # You can create any custom variable you would like, and they will be accessible
15
+ # in the templates via {{ site.myvariable }}.
16
+ title: Paginate Example - 01 Typical Blog
17
+ email: jekyll@sverrirs.com
18
+ description: > # this means to ignore newlines until "baseurl:"
19
+ Shows how the jekyll-paginate-v2 gem can be used on a typical blog created in Jekyll.
20
+ baseurl: "" # the subpath of your site, e.g. /blog
21
+ url: "" # the base hostname & protocol for your site, e.g. http://example.com
22
+ github_username: sverrirs
23
+
24
+ # Build settings
25
+ markdown: kramdown
26
+ theme: minima
27
+ gems:
28
+ - jekyll-paginate-v2
29
+ exclude:
30
+ - Gemfile
31
+ - Gemfile.lock
32
+
33
+ # Produces a cleaner folder structure when using categories
34
+ permalink: /:year/:month/:title.html
35
+
36
+ # Pagination Settings
37
+ pagination:
38
+ enabled: true
39
+ per_page: 3
40
+ permalink: '/page/:num/'
41
+ title_suffix: ' - page :num'
42
+ limit: 0
43
+ sort_field: 'date'
44
+ sort_reverse: true
45
+
46
+ ############################################################
47
+ # Old jekyll-paginate pagination logic
48
+ # Uncomment thew two entries below to demonstrate how this new gem
49
+ # retains backwards compatibility with the old pagination logic
50
+ #paginate: 3
51
+ #paginate_path: "/legacy/page:num/"
@@ -0,0 +1,31 @@
1
+ <header class="site-header" role="banner">
2
+
3
+ <div class="wrapper">
4
+
5
+ <a class="site-title" href="{{ "/" | relative_url}}">{{ site.title | escape }}</a>
6
+
7
+ <nav class="site-nav">
8
+ <span class="menu-icon">
9
+ <svg viewBox="0 0 18 15" width="18px" height="15px">
10
+ <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
11
+ <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
12
+ <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
13
+ </svg>
14
+ </span>
15
+
16
+ <div class="trigger">
17
+ {% for my_page in site.pages %}
18
+ <!--
19
+ my_page.autogen is populated by the pagination logic for all pages
20
+ that are automatically created by the gem. Check for non-existence to exclude pagination pages from site.pages iterators
21
+ -->
22
+ {% if my_page.title and my_page.autogen == nil %}
23
+ <a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
24
+ {% endif %}
25
+ {% endfor %}
26
+ </div>
27
+ </nav>
28
+
29
+ </div>
30
+
31
+ </header>
@@ -0,0 +1,52 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <!-- Just some nice to have styles for the pager buttons -->
5
+ <style>
6
+ ul.pager { text-align: center; list-style: none; }
7
+ ul.pager li {display: inline;border: 1px solid black; padding: 10px; margin: 5px;}
8
+ </style>
9
+
10
+ <div class="home">
11
+
12
+ <h1 class="page-heading">Posts</h1>
13
+
14
+ {{ content }}
15
+
16
+ <ul class="post-list">
17
+ <!--
18
+ Here is the main paginator logic called.
19
+ All calls to site.posts should be replaced by paginator.posts
20
+ -->
21
+ {% for post in paginator.posts %}
22
+ <li>
23
+ <span class="post-meta">{{ post.date | date: "%b %-d, %Y" }}</span>
24
+
25
+ <h2>
26
+ <a class="post-link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
27
+ </h2>
28
+ </li>
29
+ {% endfor %}
30
+ </ul>
31
+
32
+ <!--
33
+ Showing buttons to move to the next and to the previous list of posts (pager buttons).
34
+ -->
35
+ {% if paginator.total_pages > 1 %}
36
+ <ul class="pager">
37
+ {% if paginator.previous_page %}
38
+ <li class="previous">
39
+ <a href="{{ paginator.previous_page_path | prepend: site.baseurl | replace: '//', '/' }}">&larr; Newer Posts</a>
40
+ </li>
41
+ {% endif %}
42
+ {% if paginator.next_page %}
43
+ <li class="next">
44
+ <a href="{{ paginator.next_page_path | prepend: site.baseurl | replace: '//', '/' }}">Older Posts &rarr;</a>
45
+ </li>
46
+ {% endif %}
47
+ </ul>
48
+ {% endif %}
49
+
50
+ <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | relative_url }}">via RSS</a></p>
51
+
52
+ </div>
@@ -0,0 +1,29 @@
1
+ ---
2
+ layout: post
3
+ title: Geography of Minneapolis
4
+ date: 2016-11-20 19:16:49 +0100
5
+ categories: wikipedia
6
+ ---
7
+
8
+ _From Wikipedia, the free encyclopedia_
9
+
10
+ Minneapolis is the largest city in the state of Minnesota in the United States, and the county seat of Hennepin County.
11
+
12
+ ## Physical
13
+ According to the United States Census Bureau, the city has a total area of 151.3 km² (58.4 mi²). 142.2 km² (54.9 mi²) of it is land and 9.1 km² (3.5 mi²) of it (6.01%) is water. The city center is located just south of 45 degrees north latitude. On the south side of Golden Valley Road just east of Wirth Parkway, a stone containing a weathered plaque marks a point on the 45th parallel.[1] The Mississippi, which runs to the southeast, directed the early growth of the city. Most early streets ran parallel to the river to maximize the amount of land that could be used. Eventually, growth of Minneapolis turned to north-south and east-west streets. Many unique intersections like Seven Corners on the eastern periphery of downtown were formed to translate between the two layouts. Some streets, especially older and more traditionally important ones like Hennepin Avenue and Nicollet Avenue, have both orientations at different points.
14
+
15
+ ## Parks and lakes
16
+ Minneapolis has a large park system consisting of ten square miles (26 km²) of land and water that is interlinked in many places. Theodore Wirth is often credited with the development of this system that brought a playground within the reach of most children and the canopy of trees and boulevards in much of the city. The Mississippi National River and Recreation Area connects regional parks and visitors centers.
17
+
18
+ Theodore Wirth Park is the largest in the city, shared with Golden Valley, and is about 60% the size of Central Park in New York City. Minnehaha Park is one of the most famous, the site of Minnehaha Falls and cultural heritage events every year. Tower Hill Park in Prospect Park is the home of a 1913 water tower, one of the highest points in Minneapolis.[2]
19
+
20
+ The Grand Rounds Scenic Byway circles through the city and many of the larger park areas including land along the Mississippi, lakes and scenic areas. A parkway for cars, a bikeway for riders, and a walkway for pedestrians run parallel paths along the 50-mile route. A growing number of bikeways and walkways crisscross the city and interconnect with neighboring cities.
21
+
22
+ Twenty four small lakes are within the city limits.[3] Among the largest freshwater lakes to the west are Lake Harriet, Lake Calhoun, Lake of the Isles, and Cedar Lake, known together as the "Chain of Lakes". Lake Nokomis and Lake Hiawatha are to the east. Connected by bike, running and walking paths, Minneapolis lakes are used for swimming, fishing, picnics and boating.
23
+
24
+ ## Flora and fauna
25
+
26
+ ### Waterfalls
27
+ The area now occupied by the Twin Cities generally consisted of a 155 foot (47 m) thick layer of St. Peter Sandstone, under a 16 foot (5 m) thick layer of shale, under a 35 foot (11 m) thick layer of Platteville limestone.[4] These layers were the result of an Ordovician Period sea which covered east-central Minnesota 500 million years ago.[4] The hard limestone cap was formed from fossilized shell fish. About 20,000 years ago, the area was covered by the Superior Lobe of the Laurentide ice sheet, which left the St. Croix moraine on the Twin Cities as it receded.[4] Later the Grantsburg Sublobe of the Des Moines Lobe also covered the area.[5] Under these vast layers of ice, tunnel valleys were formed, cutting through the limestone layer with tremendous force, to release ice meltwater and glacier effluence.[6] The result was a series of troughs in the limestone, which were filled by glacial till and outwash deposit as the glaciers receded. Sometimes the sediment would be mixed with huge chunks of ice, which would leave voids in the soil. These voids created basins for the Twin Cities Lakes, such as Harriet and Lake Calhoun.[6] Connecting the city lakes in several north-south arteries are gorges cut through the bedrock, but filled with sand and sediment.
28
+
29
+ When River Warren Falls receded past the confluence of the much smaller Upper Mississippi River, a new waterfall was created where that river entered the much-lower glacial River Warren. The new falls also receded upstream on the Mississippi, migrating eight miles (12875 m) over 9600 years to where Louis Hennepin first saw it and named St. Anthony Falls in 1680. Due to its value as a power source, this waterfall determined the location of Minneapolis. One branch of the river coming from the west, Minnehaha Creek receded only a few hundred yards from one of the channels of the Mississippi. Minnehaha Falls remains as a picturesque and informative relic of River Warren Falls, and the limestone-over-sandstone construction is readily apparent in its small gorge.