'
36 | ].join('\n');
37 |
38 | return new Handlebars.SafeString(Handlebars.compile(template)(context));
39 | };
40 |
41 | for (var helper in exports) {
42 | if (exports.hasOwnProperty(helper)) {
43 | Handlebars.registerHelper(helper, exports[helper]);
44 | }
45 | }
46 | };
47 |
--------------------------------------------------------------------------------
/docs/seo.md:
--------------------------------------------------------------------------------
1 | ## Recommendations
2 |
3 | > Permalinks are important for SEO. but you should spend some time thinking about the strategy you want to use before you decide on a URL structure.
4 |
5 |
6 | ### Avoid date-based permalinks
7 | Yep, that's what I said. There are plenty of valid use cases for using date-based URL's. This plugin offers a number of date-based patterns, and we leverage [Moment.js][moment] a lot. Still, I recommend that you avoid using a date-based permalink structure for your blog or documentation, because there is a good chance it will do more harm than good over the long term.
8 |
9 | Date-based URL's tend to _decrease click through rates_ on older articles. Think about it, who prefers reading out of date content? So use a URL strategy that doesn't go out of its way to emphasize the date, and you'l keep your posts feeling like fresh content.
10 |
11 |
12 | ### Numeric permalinks
13 | Numeric or `:id` based permalinks are better than date-based, but they don't really offer much usability or SEO benefit.
14 |
15 |
16 | ### Idiomatic permalinks
17 | The best structure is one that:
18 |
19 | * provides the _highest degree of semantic relevance_ to the content, and
20 | * is _useful to both search engines and humans_
21 |
22 | Here are some example permalink structures, pick the one you like or feel free to use something else:
23 |
24 | ```js
25 | :author
26 | :category/:author
27 | ```
28 |
29 | Since the `:author` variable isn't actually built in, you'll need to add it as a custom replacement pattern. But you could use `:filename`, `:pagename`, `:basename` and so on. The important thing to remember is that _the name counts_.
30 |
31 | If you need to use a custom variable, such as `:author` or `:title`, just add it like this:
32 |
33 | ```js
34 | var _str = require('underscore.string');
35 |
36 | {
37 | assemble: {
38 | options: {
39 | permalinks: {
40 | structure: ':author:ext',
41 | patterns: [
42 | {
43 | pattern: ':author',
44 | replacement: '<%= _str.slugify(pkg.author.name) %>'
45 | }
46 | ]
47 | }
48 | },
49 | files: {},
50 | }
51 | }
52 | ```
53 |
54 | [moment]: http://momentjs.com/ "Moment.js Permalinks"
55 |
--------------------------------------------------------------------------------
/test/fixtures/pages/articles/nested/quux.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Quux
3 | author: Jon Schlinkert
4 | slug: quux
5 | date: 2013-04-11
6 | section: blog
7 | categories:
8 | - nested
9 | tags:
10 | - two
11 | ---
12 |
{{{title}}}
13 |
{{{description}}}
14 |
15 |
16 |
laboris ad incididunt et aliquip
17 |
18 |
19 |
Pariatur enim mollit nostrud aute qui consectetur dolore Lorem ad fugiat aute anim aliquip mollit veniam. Magna ad amet eiusmod officia excepteur minim eiusmod fugiat nisi ad do velit nisi consequat ullamco est. Ad nisi veniam cillum excepteur
20 | velit voluptate officia esse velit tempor aliquip. Qui dolor consequat nostrud aute elit elit sunt ea do magna cupidatat nisi. Ea quis aliqua proident Lorem commodo incididunt nulla sint cupidatat nisi excepteur eiusmod aliquip duis in proident
21 | consectetur tempor veniam.
22 |
Voluptate occaecat reprehenderit adipisicing sint enim ut voluptate qui ad. Aute ipsum cillum labore sit in aliqua nulla ullamco exercitation nulla ipsum proident incididunt. Cillum deserunt magna sint ullamco officia veniam fugiat sint do nisi
23 | cillum culpa laboris ut id aute dolor. Excepteur deserunt consectetur nostrud deserunt nostrud irure amet officia minim nostrud ad magna. Voluptate nostrud excepteur enim Lorem adipisicing enim proident incididunt labore anim. Non exercitation
24 | minim sint cupidatat veniam voluptate amet amet veniam adipisicing culpa enim duis eiusmod commodo reprehenderit deserunt. Sit consequat consectetur nostrud esse do quis excepteur consectetur pariatur ea officia occaecat dolor ex.
25 |
Nostrud cupidatat ea non sit id veniam nostrud mollit elit eiusmod pariatur consequat adipisicing ea amet officia reprehenderit nulla. Tempor sunt qui irure do velit culpa consectetur eiusmod duis deserunt. Velit ullamco ipsum aute nisi eiusmod
26 | pariatur ut sit sit Lorem adipisicing exercitation occaecat magna. Laboris ipsum reprehenderit consectetur ullamco excepteur pariatur qui deserunt ut elit eiusmod consectetur proident amet officia anim quis.
27 | Minim sunt nulla in tempor officia eu consectetur in incididunt est enim in culpa incididunt. Ea non cillum laboris excepteur exercitation veniam sit quis fugiat labore qui et eu eu. Minim quis proident sint id consequat laboris ex minim exercitation
28 | id nisi.
29 |
--------------------------------------------------------------------------------
/test/fixtures/yfm-pages/articles/nested/quux.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Quux
3 | author: Jon Schlinkert
4 | slug: quux
5 | date: 2013-04-11
6 | section: blog
7 | categories:
8 | - nested
9 | tags:
10 | - two
11 | permalinks:
12 | structure: ":slug/:YYYY/yfm/:basename:ext"
13 | ---
14 |
{{{title}}}
15 |
{{{description}}}
16 |
17 |
18 |
laboris ad incididunt et aliquip
19 |
20 |
21 |
Pariatur enim mollit nostrud aute qui consectetur dolore Lorem ad fugiat aute anim aliquip mollit veniam. Magna ad amet eiusmod officia excepteur minim eiusmod fugiat nisi ad do velit nisi consequat ullamco est. Ad nisi veniam cillum excepteur
22 | velit voluptate officia esse velit tempor aliquip. Qui dolor consequat nostrud aute elit elit sunt ea do magna cupidatat nisi. Ea quis aliqua proident Lorem commodo incididunt nulla sint cupidatat nisi excepteur eiusmod aliquip duis in proident
23 | consectetur tempor veniam.
24 |
Voluptate occaecat reprehenderit adipisicing sint enim ut voluptate qui ad. Aute ipsum cillum labore sit in aliqua nulla ullamco exercitation nulla ipsum proident incididunt. Cillum deserunt magna sint ullamco officia veniam fugiat sint do nisi
25 | cillum culpa laboris ut id aute dolor. Excepteur deserunt consectetur nostrud deserunt nostrud irure amet officia minim nostrud ad magna. Voluptate nostrud excepteur enim Lorem adipisicing enim proident incididunt labore anim. Non exercitation
26 | minim sint cupidatat veniam voluptate amet amet veniam adipisicing culpa enim duis eiusmod commodo reprehenderit deserunt. Sit consequat consectetur nostrud esse do quis excepteur consectetur pariatur ea officia occaecat dolor ex.
27 |
Nostrud cupidatat ea non sit id veniam nostrud mollit elit eiusmod pariatur consequat adipisicing ea amet officia reprehenderit nulla. Tempor sunt qui irure do velit culpa consectetur eiusmod duis deserunt. Velit ullamco ipsum aute nisi eiusmod
28 | pariatur ut sit sit Lorem adipisicing exercitation occaecat magna. Laboris ipsum reprehenderit consectetur ullamco excepteur pariatur qui deserunt ut elit eiusmod consectetur proident amet officia anim quis.
29 | Minim sunt nulla in tempor officia eu consectetur in incididunt est enim in culpa incididunt. Ea non cillum laboris excepteur exercitation veniam sit quis fugiat labore qui et eu eu. Minim quis proident sint id consequat laboris ex minim exercitation
30 | id nisi.
31 |
32 |
--------------------------------------------------------------------------------
/test/fixtures/pages/articles/bar.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Bar
3 | author: Jon Schlinkert
4 | slug: this-is-a-custom-prop
5 | date: 2013-10-03
6 | section: blog
7 | tags:
8 | - bbb
9 | ---
10 |
{{{title}}}
11 |
{{{description}}}
12 | Est exercitation tempor ad sit dolore proident ex aute Lorem dolor. Labore esse reprehenderit sit ea duis consectetur non irure eu quis et. Irure occaecat irure qui sunt veniam cupidatat mollit adipisicing in qui cupidatat excepteur cupidatat.
13 |
14 |
15 |
dolore dolor et adipisicing ea
16 |
17 |
18 |
Do aute sunt est ea laborum tempor nostrud ad amet non consequat Lorem cupidatat anim. Amet velit ad consequat deserunt ullamco et non commodo laboris ex ut deserunt. Sunt nisi proident occaecat qui ipsum sunt cillum nisi aliqua incididunt consectetur
19 | excepteur dolor sint ipsum pariatur. Nostrud elit deserunt reprehenderit culpa irure in consequat excepteur nulla quis commodo id ad officia ex aliqua laboris veniam. Ullamco ex ut veniam aliqua dolor aliquip consectetur dolor in cillum ut
20 | et sint duis amet.
21 |
Nisi exercitation deserunt aliqua in eu non qui aute dolore sunt cupidatat Lorem. Excepteur duis cupidatat culpa Lorem aliquip ex commodo aute exercitation. Voluptate eiusmod in ad velit deserunt ea enim ad magna officia veniam adipisicing.
22 | Consequat sunt quis laboris excepteur ex reprehenderit duis laboris officia quis pariatur aliqua ipsum amet amet. Culpa veniam et cillum nisi fugiat minim ut laborum cillum voluptate amet proident minim. Occaecat et non sint Lorem anim Lorem
23 | adipisicing deserunt reprehenderit. Magna in nulla sunt sint consectetur in ullamco nulla veniam et ex adipisicing dolor aliquip nostrud fugiat qui.
24 |
Nostrud aliqua tempor velit enim quis ut aliqua eu labore sit cillum laborum cupidatat est esse deserunt. Minim ad laborum ex exercitation sit sunt labore eu Lorem nulla non occaecat. Consectetur occaecat consectetur nulla deserunt officia dolor
25 | et magna consequat ad excepteur irure minim exercitation sit magna culpa voluptate. Laborum consectetur ut duis quis elit id laboris ullamco amet ut consectetur voluptate aliquip excepteur ullamco et ipsum.
26 | Labore voluptate excepteur quis nulla adipisicing mollit reprehenderit tempor ipsum duis sunt reprehenderit officia. Ipsum deserunt nulla sint deserunt eiusmod nulla reprehenderit id quis. Esse pariatur Lorem Lorem non irure enim veniam duis
27 | ea veniam nisi nisi eiusmod.
28 |
--------------------------------------------------------------------------------
/test/fixtures/pages/foo.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Foo Foo
3 | slug: custom/path
4 | date: 2013-10-03
5 | section: plugins
6 | tags:
7 | - one
8 | ---
9 |
{{title}}
10 | Aliquip id aute tempor dolore non non elit elit mollit do est tempor voluptate minim. Ut magna do dolor sit aliqua proident duis nulla eu consectetur id. Consectetur ullamco ullamco exercitation esse nostrud id duis duis ex fugiat voluptate.
11 |
12 |
13 |
proident non consequat aliquip et
14 |
15 |
16 |
Nisi occaecat est excepteur tempor enim pariatur in dolore magna magna. Sunt non eiusmod ex veniam incididunt consequat culpa consequat esse aliquip ex sunt mollit officia veniam deserunt tempor laboris. Nulla aliqua id do id mollit eiusmod
17 | id excepteur culpa magna aute aute elit nostrud ullamco. Dolor deserunt ea do incididunt et eiusmod fugiat commodo qui laborum. Sint deserunt fugiat ullamco magna magna quis veniam non amet elit.
18 |
Esse amet adipisicing dolor sunt pariatur sint enim sunt occaecat. Dolore culpa ea aliqua non laboris excepteur enim consectetur minim sit enim cupidatat esse deserunt tempor. Fugiat cupidatat ut fugiat aute fugiat et excepteur incididunt consequat
19 | enim ullamco dolore cupidatat dolore ut velit incididunt aliqua. Occaecat consequat sunt aliqua exercitation deserunt culpa eiusmod eu exercitation exercitation Lorem consequat velit. Cillum aute Lorem consectetur veniam dolor dolor officia
20 | aute incididunt ad laboris nostrud aute do incididunt. Excepteur est aliquip ullamco fugiat fugiat aliquip do est elit qui ea nisi deserunt adipisicing in fugiat. Dolore in magna nostrud do non mollit cupidatat ea aliqua aute ut.
21 |
Officia et deserunt tempor commodo aliqua enim labore aliquip minim ea laboris magna dolor ullamco. Magna eiusmod sit adipisicing tempor eiusmod laboris consectetur duis consectetur enim esse laboris. Ex cupidatat nulla non laboris duis nisi
22 | amet ipsum duis duis est anim do minim aliqua cillum aliquip excepteur. Commodo aute excepteur fugiat mollit aliqua eiusmod commodo mollit sunt quis anim mollit ipsum reprehenderit ex aute. Consectetur laborum labore irure eiusmod excepteur
23 | adipisicing ut est cupidatat consectetur commodo est ea do qui fugiat.
24 | Mollit id duis cillum eu ex incididunt pariatur exercitation ullamco consequat nostrud. Eiusmod consequat non quis ad mollit ad in mollit veniam amet aliqua duis non. Amet deserunt labore deserunt enim qui eu sit proident anim minim do est.
25 |
--------------------------------------------------------------------------------
/test/fixtures/yfm-pages/articles/bar.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Bar
3 | author: Jon Schlinkert
4 | slug: this-is-a-custom-prop
5 | date: 2013-10-03
6 | section: blog
7 | tags:
8 | - bbb
9 | permalinks:
10 | preset: pretty
11 | ---
12 |
{{{title}}}
13 |
{{{description}}}
14 | Est exercitation tempor ad sit dolore proident ex aute Lorem dolor. Labore esse reprehenderit sit ea duis consectetur non irure eu quis et. Irure occaecat irure qui sunt veniam cupidatat mollit adipisicing in qui cupidatat excepteur cupidatat.
15 |
16 |
17 |
dolore dolor et adipisicing ea
18 |
19 |
20 |
Do aute sunt est ea laborum tempor nostrud ad amet non consequat Lorem cupidatat anim. Amet velit ad consequat deserunt ullamco et non commodo laboris ex ut deserunt. Sunt nisi proident occaecat qui ipsum sunt cillum nisi aliqua incididunt consectetur
21 | excepteur dolor sint ipsum pariatur. Nostrud elit deserunt reprehenderit culpa irure in consequat excepteur nulla quis commodo id ad officia ex aliqua laboris veniam. Ullamco ex ut veniam aliqua dolor aliquip consectetur dolor in cillum ut
22 | et sint duis amet.
23 |
Nisi exercitation deserunt aliqua in eu non qui aute dolore sunt cupidatat Lorem. Excepteur duis cupidatat culpa Lorem aliquip ex commodo aute exercitation. Voluptate eiusmod in ad velit deserunt ea enim ad magna officia veniam adipisicing.
24 | Consequat sunt quis laboris excepteur ex reprehenderit duis laboris officia quis pariatur aliqua ipsum amet amet. Culpa veniam et cillum nisi fugiat minim ut laborum cillum voluptate amet proident minim. Occaecat et non sint Lorem anim Lorem
25 | adipisicing deserunt reprehenderit. Magna in nulla sunt sint consectetur in ullamco nulla veniam et ex adipisicing dolor aliquip nostrud fugiat qui.
26 |
Nostrud aliqua tempor velit enim quis ut aliqua eu labore sit cillum laborum cupidatat est esse deserunt. Minim ad laborum ex exercitation sit sunt labore eu Lorem nulla non occaecat. Consectetur occaecat consectetur nulla deserunt officia dolor
27 | et magna consequat ad excepteur irure minim exercitation sit magna culpa voluptate. Laborum consectetur ut duis quis elit id laboris ullamco amet ut consectetur voluptate aliquip excepteur ullamco et ipsum.
28 | Labore voluptate excepteur quis nulla adipisicing mollit reprehenderit tempor ipsum duis sunt reprehenderit officia. Ipsum deserunt nulla sint deserunt eiusmod nulla reprehenderit id quis. Esse pariatur Lorem Lorem non irure enim veniam duis
29 | ea veniam nisi nisi eiusmod.
30 |
31 |
--------------------------------------------------------------------------------
/test/fixtures/pages/articles/index.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Category Index
3 | description: Index page nested in a directory.
4 | slug: category-page
5 | section: blog
6 | date: 2013-10-02
7 | tags:
8 | - three
9 | ---
10 |
{{{title}}}
11 |
{{{description}}}
12 | Exercitation ex incididunt cupidatat ad sit laboris aliqua aliquip irure veniam ipsum et et. Consectetur labore reprehenderit aliquip eu laborum adipisicing exercitation aliqua in anim adipisicing. Dolore deserunt ex dolor cillum ullamco fugiat dolore
13 | excepteur cillum esse id non.
14 |
15 |
16 |
nulla duis tempor Lorem est
17 |
18 |
19 |
Deserunt culpa mollit duis id deserunt Lorem aliqua ullamco cupidatat aliquip exercitation qui incididunt amet. Velit amet eiusmod labore mollit exercitation velit anim voluptate ex anim. Non eu ipsum duis elit commodo quis sunt enim non ipsum
20 | ipsum ex est do.
21 |
Occaecat cupidatat ea enim elit incididunt qui voluptate ex minim dolor ex. Consectetur tempor ex ea eiusmod esse in incididunt ut veniam quis tempor ullamco deserunt magna consequat ut commodo. Voluptate consectetur magna nisi esse laboris
22 | eu quis amet sit fugiat reprehenderit in ex mollit velit in consectetur officia ut. Anim ipsum proident dolor excepteur eiusmod esse deserunt velit eu amet. Ex ipsum anim est ut dolore irure sint culpa minim exercitation enim in cillum. Pariatur
23 | reprehenderit aliquip proident exercitation quis irure nostrud officia sit dolor ullamco Lorem tempor.
24 |
Dolore magna occaecat nulla veniam non Lorem ex eiusmod est pariatur esse quis proident ipsum qui deserunt et ipsum. Voluptate eu proident commodo ullamco proident Lorem incididunt id exercitation velit qui aliquip. Nulla pariatur id ad proident
25 | cupidatat non proident sit laborum velit laboris proident aute reprehenderit. Consectetur commodo eiusmod fugiat qui pariatur non commodo Lorem amet tempor excepteur consectetur enim. Culpa laborum nulla magna officia anim amet incididunt
26 | excepteur do dolor. Dolore commodo cupidatat commodo sit cupidatat ea proident reprehenderit ad elit qui id eiusmod. Voluptate pariatur anim anim incididunt ut adipisicing ex occaecat deserunt adipisicing enim eiusmod ipsum pariatur ut irure
27 | fugiat.
28 | Proident proident amet dolore do ullamco aliquip incididunt Lorem aliquip ex laborum qui. Aute esse non dolor velit fugiat proident aute sit irure minim aute ut. Id mollit quis enim laboris sunt do nisi mollit cupidatat non reprehenderit deserunt
29 | commodo pariatur.
30 |
--------------------------------------------------------------------------------
/test/fixtures/yfm-pages/articles/index.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Category Index
3 | description: Index page nested in a directory.
4 | slug: category-page
5 | section: blog
6 | date: 2013-10-02
7 | tags:
8 | - three
9 | ---
10 |
{{{title}}}
11 |
{{{description}}}
12 | Exercitation ex incididunt cupidatat ad sit laboris aliqua aliquip irure veniam ipsum et et. Consectetur labore reprehenderit aliquip eu laborum adipisicing exercitation aliqua in anim adipisicing. Dolore deserunt ex dolor cillum ullamco fugiat dolore
13 | excepteur cillum esse id non.
14 |
15 |
16 |
nulla duis tempor Lorem est
17 |
18 |
19 |
Deserunt culpa mollit duis id deserunt Lorem aliqua ullamco cupidatat aliquip exercitation qui incididunt amet. Velit amet eiusmod labore mollit exercitation velit anim voluptate ex anim. Non eu ipsum duis elit commodo quis sunt enim non ipsum
20 | ipsum ex est do.
21 |
Occaecat cupidatat ea enim elit incididunt qui voluptate ex minim dolor ex. Consectetur tempor ex ea eiusmod esse in incididunt ut veniam quis tempor ullamco deserunt magna consequat ut commodo. Voluptate consectetur magna nisi esse laboris
22 | eu quis amet sit fugiat reprehenderit in ex mollit velit in consectetur officia ut. Anim ipsum proident dolor excepteur eiusmod esse deserunt velit eu amet. Ex ipsum anim est ut dolore irure sint culpa minim exercitation enim in cillum. Pariatur
23 | reprehenderit aliquip proident exercitation quis irure nostrud officia sit dolor ullamco Lorem tempor.
24 |
Dolore magna occaecat nulla veniam non Lorem ex eiusmod est pariatur esse quis proident ipsum qui deserunt et ipsum. Voluptate eu proident commodo ullamco proident Lorem incididunt id exercitation velit qui aliquip. Nulla pariatur id ad proident
25 | cupidatat non proident sit laborum velit laboris proident aute reprehenderit. Consectetur commodo eiusmod fugiat qui pariatur non commodo Lorem amet tempor excepteur consectetur enim. Culpa laborum nulla magna officia anim amet incididunt
26 | excepteur do dolor. Dolore commodo cupidatat commodo sit cupidatat ea proident reprehenderit ad elit qui id eiusmod. Voluptate pariatur anim anim incididunt ut adipisicing ex occaecat deserunt adipisicing enim eiusmod ipsum pariatur ut irure
27 | fugiat.
28 | Proident proident amet dolore do ullamco aliquip incididunt Lorem aliquip ex laborum qui. Aute esse non dolor velit fugiat proident aute sit irure minim aute ut. Id mollit quis enim laboris sunt do nisi mollit cupidatat non reprehenderit deserunt
29 | commodo pariatur.
30 |
--------------------------------------------------------------------------------
/test/fixtures/yfm-pages/foo.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Foo Foo
3 | slug: custom/path
4 | date: 2013-10-03
5 | section: plugins
6 | tags:
7 | - one
8 | permalinks:
9 | preset: pretty
10 | structure: ":section"
11 | ---
12 |
{{title}}
13 | Aliquip id aute tempor dolore non non elit elit mollit do est tempor voluptate minim. Ut magna do dolor sit aliqua proident duis nulla eu consectetur id. Consectetur ullamco ullamco exercitation esse nostrud id duis duis ex fugiat voluptate.
14 |
15 |
16 |
proident non consequat aliquip et
17 |
18 |
19 |
Nisi occaecat est excepteur tempor enim pariatur in dolore magna magna. Sunt non eiusmod ex veniam incididunt consequat culpa consequat esse aliquip ex sunt mollit officia veniam deserunt tempor laboris. Nulla aliqua id do id mollit eiusmod
20 | id excepteur culpa magna aute aute elit nostrud ullamco. Dolor deserunt ea do incididunt et eiusmod fugiat commodo qui laborum. Sint deserunt fugiat ullamco magna magna quis veniam non amet elit.
21 |
Esse amet adipisicing dolor sunt pariatur sint enim sunt occaecat. Dolore culpa ea aliqua non laboris excepteur enim consectetur minim sit enim cupidatat esse deserunt tempor. Fugiat cupidatat ut fugiat aute fugiat et excepteur incididunt consequat
22 | enim ullamco dolore cupidatat dolore ut velit incididunt aliqua. Occaecat consequat sunt aliqua exercitation deserunt culpa eiusmod eu exercitation exercitation Lorem consequat velit. Cillum aute Lorem consectetur veniam dolor dolor officia
23 | aute incididunt ad laboris nostrud aute do incididunt. Excepteur est aliquip ullamco fugiat fugiat aliquip do est elit qui ea nisi deserunt adipisicing in fugiat. Dolore in magna nostrud do non mollit cupidatat ea aliqua aute ut.
24 |
Officia et deserunt tempor commodo aliqua enim labore aliquip minim ea laboris magna dolor ullamco. Magna eiusmod sit adipisicing tempor eiusmod laboris consectetur duis consectetur enim esse laboris. Ex cupidatat nulla non laboris duis nisi
25 | amet ipsum duis duis est anim do minim aliqua cillum aliquip excepteur. Commodo aute excepteur fugiat mollit aliqua eiusmod commodo mollit sunt quis anim mollit ipsum reprehenderit ex aute. Consectetur laborum labore irure eiusmod excepteur
26 | adipisicing ut est cupidatat consectetur commodo est ea do qui fugiat.
27 | Mollit id duis cillum eu ex incididunt pariatur exercitation ullamco consequat nostrud. Eiusmod consequat non quis ad mollit ad in mollit veniam amet aliqua duis non. Amet deserunt labore deserunt enim qui eu sit proident anim minim do est.
28 |
29 |
--------------------------------------------------------------------------------
/test/fixtures/pages/index.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Home
3 | description: This is the home page!
4 | slug: home-page
5 | date: 2013-10-01
6 | section: plugins
7 | tags:
8 | - one
9 | - three
10 | ---
11 |
{{{title}}}
12 |
{{{description}}}
13 | Non in ut Lorem exercitation eiusmod sit adipisicing commodo velit occaecat laboris enim. Exercitation id laborum magna enim incididunt reprehenderit sit ullamco eiusmod aute velit deserunt. Dolore ex exercitation minim eu elit enim et do aliqua adipisicing
14 | anim Lorem anim.
15 |
16 |
17 |
pariatur eu voluptate duis cupidatat
18 |
19 |
20 |
Do esse nulla magna eu excepteur ex Lorem Lorem voluptate fugiat incididunt mollit et proident. Voluptate deserunt Lorem irure excepteur dolore duis cillum proident ad anim id labore dolore laboris nisi sit voluptate. Lorem enim labore amet
21 | anim adipisicing velit aliquip Lorem adipisicing labore eiusmod consectetur anim do quis adipisicing mollit. Id occaecat sit cillum est reprehenderit elit nisi enim incididunt reprehenderit eu adipisicing. Ipsum anim consectetur est cillum
22 | minim id ipsum eiusmod in ut eiusmod ut est elit anim. Do do occaecat consequat do adipisicing tempor sit eu labore ad ullamco ullamco deserunt non.
23 |
Officia laboris non ea ullamco ex deserunt aute dolor incididunt voluptate reprehenderit. Sint tempor velit culpa proident enim laborum eiusmod cupidatat id sint sit qui occaecat occaecat officia fugiat esse ad minim. Labore tempor excepteur
24 | deserunt commodo sit excepteur cupidatat irure fugiat labore Lorem quis aute ex excepteur cupidatat ex. Laboris nostrud nulla aute dolor ullamco quis Lorem sint tempor cupidatat laborum amet ut. Deserunt magna id nisi anim voluptate officia
25 | minim sunt dolore amet reprehenderit.
26 |
Est pariatur est commodo officia voluptate ea adipisicing ullamco veniam reprehenderit enim duis aute fugiat. Incididunt sit eiusmod id occaecat id dolor ullamco occaecat commodo culpa laborum eu pariatur ullamco eu occaecat. Deserunt Lorem
27 | nisi labore incididunt in proident ex do in est et Lorem. Excepteur cillum excepteur tempor eiusmod amet esse est Lorem sint laborum sunt. Minim consequat consequat incididunt do labore consequat nulla commodo occaecat deserunt aute exercitation
28 | reprehenderit. Adipisicing veniam commodo ea minim eu consequat irure sunt nisi tempor in ut est ea ex non.
29 | Incididunt ut adipisicing voluptate tempor occaecat ad duis excepteur Lorem proident. Excepteur elit ea id velit et adipisicing occaecat est aute deserunt. Id ea minim minim voluptate veniam nisi dolore voluptate ipsum duis nulla magna.
30 |
--------------------------------------------------------------------------------
/test/fixtures/yfm-pages/index.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Home
3 | description: This is the home page!
4 | slug: home-page
5 | date: 2013-10-01
6 | section: plugins
7 | tags:
8 | - one
9 | - three
10 | ---
11 |
{{{title}}}
12 |
{{{description}}}
13 | Non in ut Lorem exercitation eiusmod sit adipisicing commodo velit occaecat laboris enim. Exercitation id laborum magna enim incididunt reprehenderit sit ullamco eiusmod aute velit deserunt. Dolore ex exercitation minim eu elit enim et do aliqua adipisicing
14 | anim Lorem anim.
15 |
16 |
17 |
pariatur eu voluptate duis cupidatat
18 |
19 |
20 |
Do esse nulla magna eu excepteur ex Lorem Lorem voluptate fugiat incididunt mollit et proident. Voluptate deserunt Lorem irure excepteur dolore duis cillum proident ad anim id labore dolore laboris nisi sit voluptate. Lorem enim labore amet
21 | anim adipisicing velit aliquip Lorem adipisicing labore eiusmod consectetur anim do quis adipisicing mollit. Id occaecat sit cillum est reprehenderit elit nisi enim incididunt reprehenderit eu adipisicing. Ipsum anim consectetur est cillum
22 | minim id ipsum eiusmod in ut eiusmod ut est elit anim. Do do occaecat consequat do adipisicing tempor sit eu labore ad ullamco ullamco deserunt non.
23 |
Officia laboris non ea ullamco ex deserunt aute dolor incididunt voluptate reprehenderit. Sint tempor velit culpa proident enim laborum eiusmod cupidatat id sint sit qui occaecat occaecat officia fugiat esse ad minim. Labore tempor excepteur
24 | deserunt commodo sit excepteur cupidatat irure fugiat labore Lorem quis aute ex excepteur cupidatat ex. Laboris nostrud nulla aute dolor ullamco quis Lorem sint tempor cupidatat laborum amet ut. Deserunt magna id nisi anim voluptate officia
25 | minim sunt dolore amet reprehenderit.
26 |
Est pariatur est commodo officia voluptate ea adipisicing ullamco veniam reprehenderit enim duis aute fugiat. Incididunt sit eiusmod id occaecat id dolor ullamco occaecat commodo culpa laborum eu pariatur ullamco eu occaecat. Deserunt Lorem
27 | nisi labore incididunt in proident ex do in est et Lorem. Excepteur cillum excepteur tempor eiusmod amet esse est Lorem sint laborum sunt. Minim consequat consequat incididunt do labore consequat nulla commodo occaecat deserunt aute exercitation
28 | reprehenderit. Adipisicing veniam commodo ea minim eu consequat irure sunt nisi tempor in ut est ea ex non.
29 | Incididunt ut adipisicing voluptate tempor occaecat ad duis excepteur Lorem proident. Excepteur elit ea id velit et adipisicing occaecat est aute deserunt. Id ea minim minim voluptate veniam nisi dolore voluptate ipsum duis nulla magna.
30 |
--------------------------------------------------------------------------------
/test/fixtures/pages/articles/baz.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Baz
3 | description: "Suprising discovery! Contrary to popular belief, ice in the arctic tundra was found to be below freezing temperatures."
4 | author: Jon Schlinkert
5 | slug: custom-prop
6 | section: blog
7 | date: 2013-10-03
8 | categories:
9 | - zzz
10 | - yyy
11 | ---
12 |
{{{title}}}
13 |
{{{description}}}
14 | Ullamco elit non id amet ex ut ea dolor ipsum. Adipisicing deserunt non reprehenderit anim deserunt in nisi voluptate laborum labore fugiat et fugiat cillum. Est anim ea ea amet eu sit ut dolor in.
15 |
16 |
17 |
deserunt minim labore qui consequat
18 |
19 |
20 |
Laboris reprehenderit commodo sit mollit magna occaecat id qui tempor do irure adipisicing eu amet culpa. Quis enim ut fugiat ea est fugiat excepteur eiusmod exercitation do. Occaecat excepteur consectetur nisi et et aliqua fugiat sunt laborum
21 | magna commodo amet consequat. Cupidatat dolore nisi qui pariatur excepteur occaecat elit ut nulla. Culpa aute ipsum magna consequat minim ullamco cupidatat magna labore amet est laboris enim nisi. Qui et officia enim qui voluptate reprehenderit
22 | nostrud veniam veniam in exercitation do excepteur id. Veniam sint qui amet deserunt sint aliqua adipisicing labore deserunt do non adipisicing do ex non reprehenderit voluptate.
23 |
Veniam dolor Lorem eu Lorem cillum in do pariatur eu ipsum ipsum labore nostrud ex tempor pariatur cillum. Eiusmod id velit laboris excepteur laborum minim nostrud do culpa sint ullamco commodo ipsum adipisicing sint ipsum. Ad exercitation do
24 | Lorem enim dolore non quis Lorem anim ex minim ex anim amet. Proident minim esse magna fugiat in incididunt dolore amet do consectetur exercitation excepteur dolor consequat cillum adipisicing ea.
25 |
Non officia proident sit quis laboris Lorem fugiat commodo et excepteur cupidatat tempor nostrud non sunt amet cillum sint. Et tempor deserunt nulla proident ad eu id culpa amet sunt esse nulla quis velit culpa qui id. Veniam cupidatat excepteur
26 | Lorem est proident laboris pariatur fugiat ipsum voluptate magna labore labore ea sint ut. Elit eu exercitation est occaecat est pariatur tempor voluptate sit esse laborum non ut eu nostrud pariatur quis aliquip. Velit ut ex adipisicing do
27 | occaecat officia excepteur exercitation quis duis mollit sit veniam deserunt quis reprehenderit tempor.
28 | Ipsum amet exercitation excepteur anim enim occaecat culpa ex id sit ipsum anim velit minim. Veniam elit enim in ipsum nisi irure et minim mollit voluptate non fugiat laboris. Fugiat commodo Lorem dolore mollit commodo voluptate amet deserunt
29 | in anim nostrud do.
30 |
--------------------------------------------------------------------------------
/test/fixtures/yfm-pages/articles/baz.hbs:
--------------------------------------------------------------------------------
1 | ---
2 | title: Baz
3 | description: "Suprising discovery! Contrary to popular belief, ice in the arctic tundra was found to be below freezing temperatures."
4 | author: Jon Schlinkert
5 | slug: custom-prop
6 | section: blog
7 | date: 2013-10-03
8 | categories:
9 | - zzz
10 | - yyy
11 | permalinks:
12 | preset: pretty
13 | ---
14 |
{{{title}}}
15 |
{{{description}}}
16 | Ullamco elit non id amet ex ut ea dolor ipsum. Adipisicing deserunt non reprehenderit anim deserunt in nisi voluptate laborum labore fugiat et fugiat cillum. Est anim ea ea amet eu sit ut dolor in.
17 |
18 |
19 |
deserunt minim labore qui consequat
20 |
21 |
22 |
Laboris reprehenderit commodo sit mollit magna occaecat id qui tempor do irure adipisicing eu amet culpa. Quis enim ut fugiat ea est fugiat excepteur eiusmod exercitation do. Occaecat excepteur consectetur nisi et et aliqua fugiat sunt laborum
23 | magna commodo amet consequat. Cupidatat dolore nisi qui pariatur excepteur occaecat elit ut nulla. Culpa aute ipsum magna consequat minim ullamco cupidatat magna labore amet est laboris enim nisi. Qui et officia enim qui voluptate reprehenderit
24 | nostrud veniam veniam in exercitation do excepteur id. Veniam sint qui amet deserunt sint aliqua adipisicing labore deserunt do non adipisicing do ex non reprehenderit voluptate.
25 |
Veniam dolor Lorem eu Lorem cillum in do pariatur eu ipsum ipsum labore nostrud ex tempor pariatur cillum. Eiusmod id velit laboris excepteur laborum minim nostrud do culpa sint ullamco commodo ipsum adipisicing sint ipsum. Ad exercitation do
26 | Lorem enim dolore non quis Lorem anim ex minim ex anim amet. Proident minim esse magna fugiat in incididunt dolore amet do consectetur exercitation excepteur dolor consequat cillum adipisicing ea.
27 |
Non officia proident sit quis laboris Lorem fugiat commodo et excepteur cupidatat tempor nostrud non sunt amet cillum sint. Et tempor deserunt nulla proident ad eu id culpa amet sunt esse nulla quis velit culpa qui id. Veniam cupidatat excepteur
28 | Lorem est proident laboris pariatur fugiat ipsum voluptate magna labore labore ea sint ut. Elit eu exercitation est occaecat est pariatur tempor voluptate sit esse laborum non ut eu nostrud pariatur quis aliquip. Velit ut ex adipisicing do
29 | occaecat officia excepteur exercitation quis duis mollit sit veniam deserunt quis reprehenderit tempor.
205 |
206 |
--------------------------------------------------------------------------------
/docs/patterns.md:
--------------------------------------------------------------------------------
1 | ## Permalink structure
2 |
3 | > Replacement patterns for dynamically constructing permalinks, as well as the corresponding directory structures.
4 |
5 | Permalinks are **appended to the dest directory**. So given this config:
6 |
7 | ```js
8 | {
9 | assemble: {
10 | blog: {
11 | options: {
12 | permalinks: {
13 | structure: ':year/:month/:day/:basename:ext'
14 | }
15 | },
16 | files: {
17 | 'blog/archives/': ['archives/*.hbs']
18 | }
19 | }
20 | }
21 | }
22 | // the generated directory structure and resulting path would look something like:
23 | //=> 'blog/archives/2011/01/01/an-inspiring-post.html'
24 | ```
25 |
26 | ## How replacement patterns work
27 |
28 | This plugin comes with a number of built-in replacement patterns that will automatically parse and convert the built-in variables into the appropriate string. Since Assemble provides a number of generic variables for accessing page data, such as `basename`, `ext`, `filename` etc., this plugin simply dynamically builds the replacement patterns from those generic variables.
29 |
30 | Barring a few exceptions (`_page`, `data`, `filePair`, `page`, `pageName`), you should be able to use any _valid_ variable that is on the page context in your replacement patterns.
31 |
32 | For example, assuming we have a file, `./templates/overview.hbs`:
33 |
34 | * `:ext`: would result in the `dest` extension: `.html`
35 | * `:extname`: alias for `:ext`.
36 | * `:basename`: would result in `overview`
37 | * `:filename`: would result in the dest file name, `overview.html`
38 | * `:pagename`: alias for `:filename`.
39 | * `:category`: Slugified version of _the very first category_ for a page.
40 |
41 |
42 | ## Special patterns
43 |
44 | > A few special replacement patterns were created for this lib.
45 |
46 | ### `:num`
47 | Automatically adds sequential, "padded" numbers based on the length of the pages array in the current target.
48 |
49 | For example, given the structure `:num-:basename`:
50 |
51 | * 1-9 pages would result in `1-foo.html`, `2-bar.html`, `3-baz.html` and so on.
52 | * 1,000 pages would result in `0001-foo.html`, `0002-bar.html`, `0003-baz.html`, ... `1000-quux.html`.
53 |
54 | ### `:000`
55 | Adds sequential digits. Similar to `:num`, but the number of digits is determined by the number of zeros defined.
56 |
57 | Example:
58 |
59 | * `:00` will result in two-digit numbers
60 | * `:000` will result in three-digit numbers
61 | * `:00000000` will result in eight-digit numbers, and so on...
62 |
63 | ### `:random(Pattern, Number)`
64 | Adds randomized characters based on the pattern provided in the parentheses. The first parameter defines the pattern you wish to use, and an optional second parameter defines the number of characters to generate.
65 |
66 | For example, `:random(A, 4)` (whitespace insenstive) would result in randomized 4-digit uppercase letters, like, `ZAKH`, `UJSL`... and so on.
67 |
68 | **no second parameter**
69 |
70 | If a second parameter is not provided, then the `length()` of the characters used in the first parameter will be used to determine the number of digits to output. For example:
71 |
72 | * `:random(AAAA)` is equivelant to `:random(A, 4)`
73 | * `:random(AAA0)` and `:random(AA00)` and `:random(A0A0)` are equivelant to `:random(A0, 4)`
74 |
75 | **valid characters (and examples)**
76 |
77 | * `:random(aa)`: results in double-digit, randomized, lower-case letters (`abcdefghijklmnopqrstuvwxyz`)
78 | * `:random(AAA)`: results in triple-digit, randomized, upper-case letters (`ABCDEFGHIJKLMNOPQRSTUVWXYZ`)
79 | * `:random(0, 6)`: results in six-digit, randomized nubmers (`0123456789`)
80 | * `:random(!, 5)`: results in single-digit randomized, _valid_ non-letter characters (`~!@#$%^&()_+-={}[];\',.`)
81 | * `:random(A!a0, 9)`: results in nine-digit, randomized characters (any of the above)
82 |
83 | _The order in which the characters are provided has no impact on the outcome._
84 |
85 |
86 | ### Custom replacement patterns
87 |
88 | If you have some patterns you'd like to implement, if you think they're common enough that they should be built into this plugin, please submit a pull request.
89 |
90 | Adding patterns is easy, just add a `patterns: []` property to the `permalinks` option, then add any number of patterns to the array. For example, let's say we want to add the `:project` variable to our permalinks:
91 |
92 | ```js
93 | options: {
94 | permalinks: {
95 | structure: ':year/:month/:day/:project/:slug:ext',
96 | patterns: []
97 | }
98 | }
99 | ...
100 | ```
101 |
102 | Since `:project` is not a built-in variable, we need to add a replacement pattern so that any permalinks that include this variable will actually work:
103 |
104 | ```js
105 | options: {
106 | permalinks: {
107 | structure: ':year/:month/:day/:project/:slug:ext',
108 | patterns: [
109 | {
110 | pattern: ':project',
111 | replacement: '<%= pkg.name %>'
112 | }
113 | ]
114 | }
115 | }
116 | ...
117 | ```
118 | ### with custom properties
119 |
120 | Any string pattern is acceptable, as long as a `:` precedes the variable, but don't forget that there must also be a matching property in the context or Assemble will might an error (or worse, not). In other words, when you add a replacement pattern for `:foo`, it's good practice to make sure this property exists:
121 |
122 | ```yaml
123 | ---
124 | foo: bar
125 | slug:
126 | ---
127 | ```
128 |
129 | ## Date patterns
130 |
131 | > This plugin uses the incredibly feature rich and flexible [moment.js](http://momentjs.com/) for parsing dates. Please consult the [moment.js documentation](http://momentjs.com/docs/) for usage information and for the full list of available options.
132 |
133 | For the date variables to work, a `date` property must exist on the page object.
134 |
135 | ```yaml
136 | ---
137 | date: 2014-01-29 3:45 PM
138 | ---
139 | ```
140 |
141 | Or
142 |
143 | ```js
144 | pages: [
145 | {
146 | data: {
147 | title: 'All about permalinks, the novel.',
148 | description: 'This rivoting sequel to War & Peace will have you sleeping in no time.'
149 | date: '2014-01-29 3:45 PM'
150 | },
151 | content: ""
152 | }
153 | ]
154 | ```
155 |
156 | ### Common date patterns
157 |
158 | * `:year`: The year of the date, four digits, for example `2014`
159 | * `:month`: Month of the year, for example `01`
160 | * `:day`: Day of the month, for example `13`
161 | * `:hour`: Hour of the day, for example `24`
162 | * `:minute`: Minute of the hour, for example `01`
163 | * `:second`: Second of the minute, for example `59`
164 |
165 | For the following examples, let's assume we have a date in the YAML front matter of a page formatted like this:
166 |
167 | ```yaml
168 | ---
169 | date: 2014-01-29 3:45 PM
170 | ---
171 | ```
172 | (_note that this property doesn't have to be in YAML front matter, it just needs to be in the `page.data` object, so this works fine with `options.pages` collections as well._)
173 |
174 | ### Full date
175 | * `:date`: Eqivelant to the full date: `YYYY-MM-DD`. Example: `2014-01-29`
176 |
177 | ### Year
178 | * `:YYYY`: The full year of the date. Example: `2014`
179 | * `:YY`: The two-digit year of the date. Example: `14`
180 | * `:year`: alias for `YYYY`
181 |
182 | ### Month name
183 | * `:MMMM`: The full name of the month. Example `January`.
184 | * `:MMM`: The name of the month. Example: `Jan`
185 | * `:monthname`: alias for `MMMM`
186 |
187 | ### Month number
188 | * `:MM`: The double-digit number of the month. Example: `01`
189 | * `:M`: The single-digit number of the month. Example: `1`
190 | * `:month`: alias for `MM`
191 | * `:mo`: alias for `M`
192 |
193 | ### Day of the month
194 | * `:day`: alias for `DD`
195 | * `:DD`: The double-digit day of the month. Example: `29`
196 | * `:D`: The double-digit day of the month. Example: `29`
197 |
198 | ### Day of the week
199 | * `:dddd`: Day of the week. Example: `monday`
200 | * `:ddd`: Day of the week. Example: `mon`
201 | * `:dd`: Day of the week. Example: `Mo`
202 | * `:d`: Day of the week. Example: `2`
203 |
204 | ### Hour
205 | * `:HH`: The double-digit time of day on a 24 hour clock. Example `15`
206 | * `:H`: The single-digit time of day on a 24 hour clock. Example `3`
207 | * `:hh`: The double-digit time of day on a 12 hour clock. Example `03`
208 | * `:h`: The single-digit time of day on a 12 hour clock. Example `3`
209 | * `:hour`: alias for `HH`
210 |
211 | ### Minute
212 | * `:mm`: Minutes. Example: `45`.
213 | * `:m`: Minutes. Example: `45`.
214 | * `:min`: Alias for `mm`|`m`.
215 | * `:minute`: Alias for `mm`|`m`.
216 |
217 | ### Second
218 | * `:ss`: Seconds. Example: `09`.
219 | * `:s`: Seconds. Example: `9`.
220 | * `:sec`: Alias for `ss`|`s`.
221 | * `:second`: Alias for `ss`|`s`.
222 |
--------------------------------------------------------------------------------
/test/actual/no_opts_flatten/quux.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Quux
6 |
7 |
8 |
9 |
10 |
Pariatur enim mollit nostrud aute qui consectetur dolore Lorem ad fugiat aute anim aliquip mollit veniam. Magna ad amet eiusmod officia excepteur minim eiusmod fugiat nisi ad do velit nisi consequat ullamco est. Ad nisi veniam cillum excepteur velit voluptate officia esse velit tempor aliquip. Qui dolor consequat nostrud aute elit elit sunt ea do magna cupidatat nisi. Ea quis aliqua proident Lorem commodo incididunt nulla sint cupidatat nisi excepteur eiusmod aliquip duis in proident consectetur tempor veniam.
226 |
Voluptate occaecat reprehenderit adipisicing sint enim ut voluptate qui ad. Aute ipsum cillum labore sit in aliqua nulla ullamco exercitation nulla ipsum proident incididunt. Cillum deserunt magna sint ullamco officia veniam fugiat sint do nisi cillum culpa laboris ut id aute dolor. Excepteur deserunt consectetur nostrud deserunt nostrud irure amet officia minim nostrud ad magna. Voluptate nostrud excepteur enim Lorem adipisicing enim proident incididunt labore anim. Non exercitation minim sint cupidatat veniam voluptate amet amet veniam adipisicing culpa enim duis eiusmod commodo reprehenderit deserunt. Sit consequat consectetur nostrud esse do quis excepteur consectetur pariatur ea officia occaecat dolor ex.
227 |
Nostrud cupidatat ea non sit id veniam nostrud mollit elit eiusmod pariatur consequat adipisicing ea amet officia reprehenderit nulla. Tempor sunt qui irure do velit culpa consectetur eiusmod duis deserunt. Velit ullamco ipsum aute nisi eiusmod pariatur ut sit sit Lorem adipisicing exercitation occaecat magna. Laboris ipsum reprehenderit consectetur ullamco excepteur pariatur qui deserunt ut elit eiusmod consectetur proident amet officia anim quis.
228 | Minim sunt nulla in tempor officia eu consectetur in incididunt est enim in culpa incididunt. Ea non cillum laboris excepteur exercitation veniam sit quis fugiat labore qui et eu eu. Minim quis proident sint id consequat laboris ex minim exercitation id nisi.
229 |
230 |
231 |
Pariatur enim mollit nostrud aute qui consectetur dolore Lorem ad fugiat aute anim aliquip mollit veniam. Magna ad amet eiusmod officia excepteur minim eiusmod fugiat nisi ad do velit nisi consequat ullamco est. Ad nisi veniam cillum excepteur velit voluptate officia esse velit tempor aliquip. Qui dolor consequat nostrud aute elit elit sunt ea do magna cupidatat nisi. Ea quis aliqua proident Lorem commodo incididunt nulla sint cupidatat nisi excepteur eiusmod aliquip duis in proident consectetur tempor veniam.
226 |
Voluptate occaecat reprehenderit adipisicing sint enim ut voluptate qui ad. Aute ipsum cillum labore sit in aliqua nulla ullamco exercitation nulla ipsum proident incididunt. Cillum deserunt magna sint ullamco officia veniam fugiat sint do nisi cillum culpa laboris ut id aute dolor. Excepteur deserunt consectetur nostrud deserunt nostrud irure amet officia minim nostrud ad magna. Voluptate nostrud excepteur enim Lorem adipisicing enim proident incididunt labore anim. Non exercitation minim sint cupidatat veniam voluptate amet amet veniam adipisicing culpa enim duis eiusmod commodo reprehenderit deserunt. Sit consequat consectetur nostrud esse do quis excepteur consectetur pariatur ea officia occaecat dolor ex.
227 |
Nostrud cupidatat ea non sit id veniam nostrud mollit elit eiusmod pariatur consequat adipisicing ea amet officia reprehenderit nulla. Tempor sunt qui irure do velit culpa consectetur eiusmod duis deserunt. Velit ullamco ipsum aute nisi eiusmod pariatur ut sit sit Lorem adipisicing exercitation occaecat magna. Laboris ipsum reprehenderit consectetur ullamco excepteur pariatur qui deserunt ut elit eiusmod consectetur proident amet officia anim quis.
228 | Minim sunt nulla in tempor officia eu consectetur in incididunt est enim in culpa incididunt. Ea non cillum laboris excepteur exercitation veniam sit quis fugiat labore qui et eu eu. Minim quis proident sint id consequat laboris ex minim exercitation id nisi.
229 |
230 |
231 |
Aliquip id aute tempor dolore non non elit elit mollit do est tempor voluptate minim. Ut magna do dolor sit aliqua proident duis nulla eu consectetur id. Consectetur ullamco ullamco exercitation esse nostrud id duis duis ex fugiat voluptate.
219 |
220 |
221 |
proident non consequat aliquip et
222 |
223 |
224 |
Nisi occaecat est excepteur tempor enim pariatur in dolore magna magna. Sunt non eiusmod ex veniam incididunt consequat culpa consequat esse aliquip ex sunt mollit officia veniam deserunt tempor laboris. Nulla aliqua id do id mollit eiusmod id excepteur culpa magna aute aute elit nostrud ullamco. Dolor deserunt ea do incididunt et eiusmod fugiat commodo qui laborum. Sint deserunt fugiat ullamco magna magna quis veniam non amet elit.
225 |
Esse amet adipisicing dolor sunt pariatur sint enim sunt occaecat. Dolore culpa ea aliqua non laboris excepteur enim consectetur minim sit enim cupidatat esse deserunt tempor. Fugiat cupidatat ut fugiat aute fugiat et excepteur incididunt consequat enim ullamco dolore cupidatat dolore ut velit incididunt aliqua. Occaecat consequat sunt aliqua exercitation deserunt culpa eiusmod eu exercitation exercitation Lorem consequat velit. Cillum aute Lorem consectetur veniam dolor dolor officia aute incididunt ad laboris nostrud aute do incididunt. Excepteur est aliquip ullamco fugiat fugiat aliquip do est elit qui ea nisi deserunt adipisicing in fugiat. Dolore in magna nostrud do non mollit cupidatat ea aliqua aute ut.
226 |
Officia et deserunt tempor commodo aliqua enim labore aliquip minim ea laboris magna dolor ullamco. Magna eiusmod sit adipisicing tempor eiusmod laboris consectetur duis consectetur enim esse laboris. Ex cupidatat nulla non laboris duis nisi amet ipsum duis duis est anim do minim aliqua cillum aliquip excepteur. Commodo aute excepteur fugiat mollit aliqua eiusmod commodo mollit sunt quis anim mollit ipsum reprehenderit ex aute. Consectetur laborum labore irure eiusmod excepteur adipisicing ut est cupidatat consectetur commodo est ea do qui fugiat.
227 | Mollit id duis cillum eu ex incididunt pariatur exercitation ullamco consequat nostrud. Eiusmod consequat non quis ad mollit ad in mollit veniam amet aliqua duis non. Amet deserunt labore deserunt enim qui eu sit proident anim minim do est.
228 |
229 |
230 |
Pariatur enim mollit nostrud aute qui consectetur dolore Lorem ad fugiat aute anim aliquip mollit veniam. Magna ad amet eiusmod officia excepteur minim eiusmod fugiat nisi ad do velit nisi consequat ullamco est. Ad nisi veniam cillum excepteur velit voluptate officia esse velit tempor aliquip. Qui dolor consequat nostrud aute elit elit sunt ea do magna cupidatat nisi. Ea quis aliqua proident Lorem commodo incididunt nulla sint cupidatat nisi excepteur eiusmod aliquip duis in proident consectetur tempor veniam.
226 |
Voluptate occaecat reprehenderit adipisicing sint enim ut voluptate qui ad. Aute ipsum cillum labore sit in aliqua nulla ullamco exercitation nulla ipsum proident incididunt. Cillum deserunt magna sint ullamco officia veniam fugiat sint do nisi cillum culpa laboris ut id aute dolor. Excepteur deserunt consectetur nostrud deserunt nostrud irure amet officia minim nostrud ad magna. Voluptate nostrud excepteur enim Lorem adipisicing enim proident incididunt labore anim. Non exercitation minim sint cupidatat veniam voluptate amet amet veniam adipisicing culpa enim duis eiusmod commodo reprehenderit deserunt. Sit consequat consectetur nostrud esse do quis excepteur consectetur pariatur ea officia occaecat dolor ex.
227 |
Nostrud cupidatat ea non sit id veniam nostrud mollit elit eiusmod pariatur consequat adipisicing ea amet officia reprehenderit nulla. Tempor sunt qui irure do velit culpa consectetur eiusmod duis deserunt. Velit ullamco ipsum aute nisi eiusmod pariatur ut sit sit Lorem adipisicing exercitation occaecat magna. Laboris ipsum reprehenderit consectetur ullamco excepteur pariatur qui deserunt ut elit eiusmod consectetur proident amet officia anim quis.
228 | Minim sunt nulla in tempor officia eu consectetur in incididunt est enim in culpa incididunt. Ea non cillum laboris excepteur exercitation veniam sit quis fugiat labore qui et eu eu. Minim quis proident sint id consequat laboris ex minim exercitation id nisi.
229 |
230 |
231 |
Suprising discovery! Contrary to popular belief, ice in the arctic tundra was found to be below freezing temperatures.
220 | Ullamco elit non id amet ex ut ea dolor ipsum. Adipisicing deserunt non reprehenderit anim deserunt in nisi voluptate laborum labore fugiat et fugiat cillum. Est anim ea ea amet eu sit ut dolor in.
221 |
222 |
223 |
deserunt minim labore qui consequat
224 |
225 |
226 |
Laboris reprehenderit commodo sit mollit magna occaecat id qui tempor do irure adipisicing eu amet culpa. Quis enim ut fugiat ea est fugiat excepteur eiusmod exercitation do. Occaecat excepteur consectetur nisi et et aliqua fugiat sunt laborum magna commodo amet consequat. Cupidatat dolore nisi qui pariatur excepteur occaecat elit ut nulla. Culpa aute ipsum magna consequat minim ullamco cupidatat magna labore amet est laboris enim nisi. Qui et officia enim qui voluptate reprehenderit nostrud veniam veniam in exercitation do excepteur id. Veniam sint qui amet deserunt sint aliqua adipisicing labore deserunt do non adipisicing do ex non reprehenderit voluptate.
227 |
Veniam dolor Lorem eu Lorem cillum in do pariatur eu ipsum ipsum labore nostrud ex tempor pariatur cillum. Eiusmod id velit laboris excepteur laborum minim nostrud do culpa sint ullamco commodo ipsum adipisicing sint ipsum. Ad exercitation do Lorem enim dolore non quis Lorem anim ex minim ex anim amet. Proident minim esse magna fugiat in incididunt dolore amet do consectetur exercitation excepteur dolor consequat cillum adipisicing ea.
228 |
Non officia proident sit quis laboris Lorem fugiat commodo et excepteur cupidatat tempor nostrud non sunt amet cillum sint. Et tempor deserunt nulla proident ad eu id culpa amet sunt esse nulla quis velit culpa qui id. Veniam cupidatat excepteur Lorem est proident laboris pariatur fugiat ipsum voluptate magna labore labore ea sint ut. Elit eu exercitation est occaecat est pariatur tempor voluptate sit esse laborum non ut eu nostrud pariatur quis aliquip. Velit ut ex adipisicing do occaecat officia excepteur exercitation quis duis mollit sit veniam deserunt quis reprehenderit tempor.
229 | Ipsum amet exercitation excepteur anim enim occaecat culpa ex id sit ipsum anim velit minim. Veniam elit enim in ipsum nisi irure et minim mollit voluptate non fugiat laboris. Fugiat commodo Lorem dolore mollit commodo voluptate amet deserunt in anim nostrud do.
230 |
231 |
232 |
219 |
220 | Est exercitation tempor ad sit dolore proident ex aute Lorem dolor. Labore esse reprehenderit sit ea duis consectetur non irure eu quis et. Irure occaecat irure qui sunt veniam cupidatat mollit adipisicing in qui cupidatat excepteur cupidatat.
221 |
222 |
223 |
dolore dolor et adipisicing ea
224 |
225 |
226 |
Do aute sunt est ea laborum tempor nostrud ad amet non consequat Lorem cupidatat anim. Amet velit ad consequat deserunt ullamco et non commodo laboris ex ut deserunt. Sunt nisi proident occaecat qui ipsum sunt cillum nisi aliqua incididunt consectetur excepteur dolor sint ipsum pariatur. Nostrud elit deserunt reprehenderit culpa irure in consequat excepteur nulla quis commodo id ad officia ex aliqua laboris veniam. Ullamco ex ut veniam aliqua dolor aliquip consectetur dolor in cillum ut et sint duis amet.
227 |
Nisi exercitation deserunt aliqua in eu non qui aute dolore sunt cupidatat Lorem. Excepteur duis cupidatat culpa Lorem aliquip ex commodo aute exercitation. Voluptate eiusmod in ad velit deserunt ea enim ad magna officia veniam adipisicing. Consequat sunt quis laboris excepteur ex reprehenderit duis laboris officia quis pariatur aliqua ipsum amet amet. Culpa veniam et cillum nisi fugiat minim ut laborum cillum voluptate amet proident minim. Occaecat et non sint Lorem anim Lorem adipisicing deserunt reprehenderit. Magna in nulla sunt sint consectetur in ullamco nulla veniam et ex adipisicing dolor aliquip nostrud fugiat qui.
228 |
Nostrud aliqua tempor velit enim quis ut aliqua eu labore sit cillum laborum cupidatat est esse deserunt. Minim ad laborum ex exercitation sit sunt labore eu Lorem nulla non occaecat. Consectetur occaecat consectetur nulla deserunt officia dolor et magna consequat ad excepteur irure minim exercitation sit magna culpa voluptate. Laborum consectetur ut duis quis elit id laboris ullamco amet ut consectetur voluptate aliquip excepteur ullamco et ipsum.
229 | Labore voluptate excepteur quis nulla adipisicing mollit reprehenderit tempor ipsum duis sunt reprehenderit officia. Ipsum deserunt nulla sint deserunt eiusmod nulla reprehenderit id quis. Esse pariatur Lorem Lorem non irure enim veniam duis ea veniam nisi nisi eiusmod.
230 |
231 |
232 |
220 | Exercitation ex incididunt cupidatat ad sit laboris aliqua aliquip irure veniam ipsum et et. Consectetur labore reprehenderit aliquip eu laborum adipisicing exercitation aliqua in anim adipisicing. Dolore deserunt ex dolor cillum ullamco fugiat dolore excepteur cillum esse id non.
221 |
222 |
223 |
nulla duis tempor Lorem est
224 |
225 |
226 |
Deserunt culpa mollit duis id deserunt Lorem aliqua ullamco cupidatat aliquip exercitation qui incididunt amet. Velit amet eiusmod labore mollit exercitation velit anim voluptate ex anim. Non eu ipsum duis elit commodo quis sunt enim non ipsum ipsum ex est do.
227 |
Occaecat cupidatat ea enim elit incididunt qui voluptate ex minim dolor ex. Consectetur tempor ex ea eiusmod esse in incididunt ut veniam quis tempor ullamco deserunt magna consequat ut commodo. Voluptate consectetur magna nisi esse laboris eu quis amet sit fugiat reprehenderit in ex mollit velit in consectetur officia ut. Anim ipsum proident dolor excepteur eiusmod esse deserunt velit eu amet. Ex ipsum anim est ut dolore irure sint culpa minim exercitation enim in cillum. Pariatur reprehenderit aliquip proident exercitation quis irure nostrud officia sit dolor ullamco Lorem tempor.
228 |
Dolore magna occaecat nulla veniam non Lorem ex eiusmod est pariatur esse quis proident ipsum qui deserunt et ipsum. Voluptate eu proident commodo ullamco proident Lorem incididunt id exercitation velit qui aliquip. Nulla pariatur id ad proident cupidatat non proident sit laborum velit laboris proident aute reprehenderit. Consectetur commodo eiusmod fugiat qui pariatur non commodo Lorem amet tempor excepteur consectetur enim. Culpa laborum nulla magna officia anim amet incididunt excepteur do dolor. Dolore commodo cupidatat commodo sit cupidatat ea proident reprehenderit ad elit qui id eiusmod. Voluptate pariatur anim anim incididunt ut adipisicing ex occaecat deserunt adipisicing enim eiusmod ipsum pariatur ut irure fugiat.
229 | Proident proident amet dolore do ullamco aliquip incididunt Lorem aliquip ex laborum qui. Aute esse non dolor velit fugiat proident aute sit irure minim aute ut. Id mollit quis enim laboris sunt do nisi mollit cupidatat non reprehenderit deserunt commodo pariatur.
230 |
231 |
232 |
220 | Exercitation ex incididunt cupidatat ad sit laboris aliqua aliquip irure veniam ipsum et et. Consectetur labore reprehenderit aliquip eu laborum adipisicing exercitation aliqua in anim adipisicing. Dolore deserunt ex dolor cillum ullamco fugiat dolore excepteur cillum esse id non.
221 |
222 |
223 |
nulla duis tempor Lorem est
224 |
225 |
226 |
Deserunt culpa mollit duis id deserunt Lorem aliqua ullamco cupidatat aliquip exercitation qui incididunt amet. Velit amet eiusmod labore mollit exercitation velit anim voluptate ex anim. Non eu ipsum duis elit commodo quis sunt enim non ipsum ipsum ex est do.
227 |
Occaecat cupidatat ea enim elit incididunt qui voluptate ex minim dolor ex. Consectetur tempor ex ea eiusmod esse in incididunt ut veniam quis tempor ullamco deserunt magna consequat ut commodo. Voluptate consectetur magna nisi esse laboris eu quis amet sit fugiat reprehenderit in ex mollit velit in consectetur officia ut. Anim ipsum proident dolor excepteur eiusmod esse deserunt velit eu amet. Ex ipsum anim est ut dolore irure sint culpa minim exercitation enim in cillum. Pariatur reprehenderit aliquip proident exercitation quis irure nostrud officia sit dolor ullamco Lorem tempor.
228 |
Dolore magna occaecat nulla veniam non Lorem ex eiusmod est pariatur esse quis proident ipsum qui deserunt et ipsum. Voluptate eu proident commodo ullamco proident Lorem incididunt id exercitation velit qui aliquip. Nulla pariatur id ad proident cupidatat non proident sit laborum velit laboris proident aute reprehenderit. Consectetur commodo eiusmod fugiat qui pariatur non commodo Lorem amet tempor excepteur consectetur enim. Culpa laborum nulla magna officia anim amet incididunt excepteur do dolor. Dolore commodo cupidatat commodo sit cupidatat ea proident reprehenderit ad elit qui id eiusmod. Voluptate pariatur anim anim incididunt ut adipisicing ex occaecat deserunt adipisicing enim eiusmod ipsum pariatur ut irure fugiat.
229 | Proident proident amet dolore do ullamco aliquip incididunt Lorem aliquip ex laborum qui. Aute esse non dolor velit fugiat proident aute sit irure minim aute ut. Id mollit quis enim laboris sunt do nisi mollit cupidatat non reprehenderit deserunt commodo pariatur.
230 |
231 |
232 |
Suprising discovery! Contrary to popular belief, ice in the arctic tundra was found to be below freezing temperatures.
220 | Ullamco elit non id amet ex ut ea dolor ipsum. Adipisicing deserunt non reprehenderit anim deserunt in nisi voluptate laborum labore fugiat et fugiat cillum. Est anim ea ea amet eu sit ut dolor in.
221 |
222 |
223 |
deserunt minim labore qui consequat
224 |
225 |
226 |
Laboris reprehenderit commodo sit mollit magna occaecat id qui tempor do irure adipisicing eu amet culpa. Quis enim ut fugiat ea est fugiat excepteur eiusmod exercitation do. Occaecat excepteur consectetur nisi et et aliqua fugiat sunt laborum magna commodo amet consequat. Cupidatat dolore nisi qui pariatur excepteur occaecat elit ut nulla. Culpa aute ipsum magna consequat minim ullamco cupidatat magna labore amet est laboris enim nisi. Qui et officia enim qui voluptate reprehenderit nostrud veniam veniam in exercitation do excepteur id. Veniam sint qui amet deserunt sint aliqua adipisicing labore deserunt do non adipisicing do ex non reprehenderit voluptate.
227 |
Veniam dolor Lorem eu Lorem cillum in do pariatur eu ipsum ipsum labore nostrud ex tempor pariatur cillum. Eiusmod id velit laboris excepteur laborum minim nostrud do culpa sint ullamco commodo ipsum adipisicing sint ipsum. Ad exercitation do Lorem enim dolore non quis Lorem anim ex minim ex anim amet. Proident minim esse magna fugiat in incididunt dolore amet do consectetur exercitation excepteur dolor consequat cillum adipisicing ea.
228 |
Non officia proident sit quis laboris Lorem fugiat commodo et excepteur cupidatat tempor nostrud non sunt amet cillum sint. Et tempor deserunt nulla proident ad eu id culpa amet sunt esse nulla quis velit culpa qui id. Veniam cupidatat excepteur Lorem est proident laboris pariatur fugiat ipsum voluptate magna labore labore ea sint ut. Elit eu exercitation est occaecat est pariatur tempor voluptate sit esse laborum non ut eu nostrud pariatur quis aliquip. Velit ut ex adipisicing do occaecat officia excepteur exercitation quis duis mollit sit veniam deserunt quis reprehenderit tempor.
229 | Ipsum amet exercitation excepteur anim enim occaecat culpa ex id sit ipsum anim velit minim. Veniam elit enim in ipsum nisi irure et minim mollit voluptate non fugiat laboris. Fugiat commodo Lorem dolore mollit commodo voluptate amet deserunt in anim nostrud do.
230 |
231 |
232 |
Suprising discovery! Contrary to popular belief, ice in the arctic tundra was found to be below freezing temperatures.
220 | Ullamco elit non id amet ex ut ea dolor ipsum. Adipisicing deserunt non reprehenderit anim deserunt in nisi voluptate laborum labore fugiat et fugiat cillum. Est anim ea ea amet eu sit ut dolor in.
221 |
222 |
223 |
deserunt minim labore qui consequat
224 |
225 |
226 |
Laboris reprehenderit commodo sit mollit magna occaecat id qui tempor do irure adipisicing eu amet culpa. Quis enim ut fugiat ea est fugiat excepteur eiusmod exercitation do. Occaecat excepteur consectetur nisi et et aliqua fugiat sunt laborum magna commodo amet consequat. Cupidatat dolore nisi qui pariatur excepteur occaecat elit ut nulla. Culpa aute ipsum magna consequat minim ullamco cupidatat magna labore amet est laboris enim nisi. Qui et officia enim qui voluptate reprehenderit nostrud veniam veniam in exercitation do excepteur id. Veniam sint qui amet deserunt sint aliqua adipisicing labore deserunt do non adipisicing do ex non reprehenderit voluptate.
227 |
Veniam dolor Lorem eu Lorem cillum in do pariatur eu ipsum ipsum labore nostrud ex tempor pariatur cillum. Eiusmod id velit laboris excepteur laborum minim nostrud do culpa sint ullamco commodo ipsum adipisicing sint ipsum. Ad exercitation do Lorem enim dolore non quis Lorem anim ex minim ex anim amet. Proident minim esse magna fugiat in incididunt dolore amet do consectetur exercitation excepteur dolor consequat cillum adipisicing ea.
228 |
Non officia proident sit quis laboris Lorem fugiat commodo et excepteur cupidatat tempor nostrud non sunt amet cillum sint. Et tempor deserunt nulla proident ad eu id culpa amet sunt esse nulla quis velit culpa qui id. Veniam cupidatat excepteur Lorem est proident laboris pariatur fugiat ipsum voluptate magna labore labore ea sint ut. Elit eu exercitation est occaecat est pariatur tempor voluptate sit esse laborum non ut eu nostrud pariatur quis aliquip. Velit ut ex adipisicing do occaecat officia excepteur exercitation quis duis mollit sit veniam deserunt quis reprehenderit tempor.
229 | Ipsum amet exercitation excepteur anim enim occaecat culpa ex id sit ipsum anim velit minim. Veniam elit enim in ipsum nisi irure et minim mollit voluptate non fugiat laboris. Fugiat commodo Lorem dolore mollit commodo voluptate amet deserunt in anim nostrud do.
230 |
231 |
232 |