From b50ee5158966084fe51b5e1bb12741ae0aa1aa5a Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Sat, 14 Jan 2017 20:20:59 +0900 Subject: [PATCH] switch to generic-templates --- conf.nix | 3 + example/conf.nix | 2 +- example/data/drafts/2016-09-11-drafts.md | 2 +- example/data/posts/2016-09-13-multipages.md | 2 +- example/data/posts/2016-09-14-pages.md | 10 ++-- example/data/posts/2016-09-16-themes.md | 60 +++++++++++-------- example/data/posts/2016-09-18-basics.md | 1 + example/site.nix | 43 ++++++------- readme.md | 4 ++ screen.png | Bin 0 -> 103815 bytes templates/e404.nix | 17 +++--- templates/feed.nix | 22 ------- templates/generic/full.nix | 12 ---- templates/index.nix | 10 +--- templates/layout.nix | 16 ----- templates/partials/body.nix | 17 ++++++ templates/partials/content-pre.nix | 22 +++++++ templates/partials/content.nix | 7 +++ templates/partials/disqus.nix | 14 ----- templates/partials/head.nix | 28 --------- templates/partials/head/css-custom.nix | 6 ++ templates/partials/head/title-post-extra.nix | 6 ++ templates/partials/pager.nix | 26 ++++++++ templates/partials/pagination.nix | 33 ---------- templates/partials/sidebar.nix | 25 -------- templates/post/feed-list.nix | 15 ----- templates/post/full.nix | 20 +++---- templates/post/list.nix | 4 +- 28 files changed, 181 insertions(+), 246 deletions(-) create mode 100644 screen.png delete mode 100644 templates/feed.nix delete mode 100644 templates/generic/full.nix delete mode 100644 templates/layout.nix create mode 100644 templates/partials/body.nix create mode 100644 templates/partials/content-pre.nix create mode 100644 templates/partials/content.nix delete mode 100644 templates/partials/disqus.nix delete mode 100644 templates/partials/head.nix create mode 100644 templates/partials/head/css-custom.nix create mode 100644 templates/partials/head/title-post-extra.nix create mode 100644 templates/partials/pager.nix delete mode 100644 templates/partials/pagination.nix delete mode 100644 templates/partials/sidebar.nix delete mode 100644 templates/post/feed-list.nix diff --git a/conf.nix b/conf.nix index c243f94..f95b1df 100644 --- a/conf.nix +++ b/conf.nix @@ -3,6 +3,9 @@ # Site title, used in the site header and the atom feed title = "Styx Hyde Theme"; languageCode = "en"; + description = '' + An elegant open source and mobile first theme for styx made by @mdo. Originally made for Jekyll. + ''; }; # Set the color theme diff --git a/example/conf.nix b/example/conf.nix index bea59a3..e409376 100644 --- a/example/conf.nix +++ b/example/conf.nix @@ -1,6 +1,6 @@ { # URL of the site, must be set to the url of the domain the site will be deployed - siteUrl = "http://yourdomain.com"; + siteUrl = "https://styx-static.github.io/styx-theme-hyde"; # Theme specific settings # it is possible to override any of the theme configuration settings in the 'theme' set diff --git a/example/data/drafts/2016-09-11-drafts.md b/example/data/drafts/2016-09-11-drafts.md index 78f8edf..7f6c2b0 100644 --- a/example/data/drafts/2016-09-11-drafts.md +++ b/example/data/drafts/2016-09-11-drafts.md @@ -9,7 +9,7 @@ Example of a draft page. This page will only be rendered if the `--drafts` flag is passed to styx. -From a data perspective, drafts are similar to posts. The only difference is that a `extraConf.renderDrafts` flag is set when fetching drafts. +From a data perspective, drafts are similar to posts. The only difference is that `extraConf.renderDrafts` flag is set to true when drafts are enabled. ``` data.drafts = optionals (conf ? renderDrafts) (loadDir { dir = ./data/drafts; isDraft = true; }); diff --git a/example/data/posts/2016-09-13-multipages.md b/example/data/posts/2016-09-13-multipages.md index 1b920c0..6e76aa7 100644 --- a/example/data/posts/2016-09-13-multipages.md +++ b/example/data/posts/2016-09-13-multipages.md @@ -18,4 +18,4 @@ From a data point of view, a multipage data is automatically generated by `lib.d From a page point of view, it is important to use templates supporting multipage data and generate the pages using `lib.pages.mkPagesList` or `lib.pages.mkMultiTail` functions. -For more details refer to the [pages](https://styx-static.github.io/styx-site/documentation.html#Pages) chapter of the styx documentation. +For more details refer to the [pages](https://styx-static.github.io/styx-site/documentation.html#Pages) chapter of styx documentation. diff --git a/example/data/posts/2016-09-14-pages.md b/example/data/posts/2016-09-14-pages.md index 600dc20..b1febc3 100644 --- a/example/data/posts/2016-09-14-pages.md +++ b/example/data/posts/2016-09-14-pages.md @@ -8,14 +8,14 @@ Styx can generate a various type of pages. Page generation is handled in the `pa >>> -## What are pages +## Styx pages -Pages are attribute sets with a `template`, `layout` and `href` attribute. +A styx page is an attribute sets with at least a `template`, `layout` and `path` attribute. -- `href`: determines the path of the page. +- `path`: determines the path of the page. - `template` and `layout` are the templates used to render the page. -Page attribute set is first passed to the template, and that result is passed to the `layout` and output in `href`. +Page attribute set is first passed to the template, and that result is passed to the `layout` and output in `path`. Pages can be created from data, or from plain templates. @@ -25,3 +25,5 @@ The standard library provide helper functions to generate different types of pag - `mkPageList`: to generate a list of pages from a list of data. - `mkMultipages`: to split a single data piece between multiple pages. - `mkTaxonomyPages`: to generate taxonomy pages from taxonomy data. + +For more details refer to the [pages](https://styx-static.github.io/styx-site/documentation.html#Pages) chapter of styx documentation. diff --git a/example/data/posts/2016-09-16-themes.md b/example/data/posts/2016-09-16-themes.md index 1c488bd..70b5725 100644 --- a/example/data/posts/2016-09-16-themes.md +++ b/example/data/posts/2016-09-16-themes.md @@ -2,36 +2,42 @@ title = "Themes"; tags = [ "themes" ]; level = [ "★★" ]; -banner = "post-banners/chalk.jpg"; +banner = "/post-banners/chalk.jpg"; ---} Themes are the main way to customize Styx sites. This post introduce themes basics. >>> -Themes provides the following: +Themes can provide the following: - Template files - Static files - A configuration interface - An example site +- A function library -## Using a theme - -Using a theme is as easy as downloading it in themes directory and adding it to the `site.nix` themes list. The recommended way to download themes is `git`. +## Previewing a theme -To install the showcase theme just run the following command from the site root: +Previewing a theme fom the `styx-themes` package set is very easy, the following will launch the preview site for the showcase theme. ``` -git clone https://github.com/styx-static/styx-theme-showcase.git themes/showcase +$ styx preview --in $(nix-build -A styx-themes.showcase '')/example ``` -The example site of a theme is located in the `example` directory. +## Using a theme -It is possible to preview the eample site with the styx `preview` command, from the site root: +It just require to add the theme to `site.nix` `themes` list to use a theme. +Themes from the `styx-themes` package or local themes can be used and combined. ``` -styx preview --target themes/showcase/example + /* list the themes to load, paths or packages can be used + items at the end of the list have higher priority + */ + themes = [ + styx-themes.generic-templates + ./themes/my-theme + ]; ``` ## Customizing themes @@ -40,14 +46,14 @@ styx preview --target themes/showcase/example The main way to customize a theme is by using the configuration interface. -Every theme expose some of its functionality to various degrees in the `themes/THEME/theme.conf` file. -`theme.conf` is usually commented or theme documentation is available in another site like `themes/THEME/readme.md`. +Every theme expose some of its functionality to various degrees in the `themes/THEME/conf.nix` file. +A theme `conf.nix` is usually commented or theme documentation is available in another file such as `themes/THEME/readme.md`. -Let's say that the theme exposes a `site.title` option to change the site title. To change this option you need edit the `conf.nix` file in the site root in the following manner: +Let's say that the theme exposes a `site.title` option to change the site title. To change this option you need edit the *site* `conf.nix` file (in the site root) in the following manner: ``` { - theme.site.title = "My Super Site!"; + theme.site.title = "My Site"; } ``` @@ -55,24 +61,30 @@ Let's say that the theme exposes a `site.title` option to change the site title. To change a template or a file provided by a theme, you do not need to edit it! You can just "extend" the theme. -Exntending a theme consist in creating a new theme with only the files you want to extend. +Extending a theme consist in creating a new theme with only the files you want to override from an other theme. -Let's say you want to extend the showcase theme `layout.nix` template. First we need to create a new theme, the `new theme` command can create a theme folder structure: +Let's say you want to extend the `generic-templates` theme `templates.partials.head.css-custom` template to load `themes/my-theme/files/css/style.css`. +First we need to create a new theme, the `new theme` command can create a theme folder structure: ``` -styx new theme my-showcase --in ./themes +$ styx new theme my-theme --in ./themes ``` -Next we just need to add `my-showcase` to the themes list in `site.nix`: +Next we just need to add `my-theme` to the themes list in `site.nix`: ``` - themes = [ "my-showcase" "showcase" ]; + themes = [ + styx-themes.generic-templates + ./themes/my-theme + ]; ``` -Then copy `layout.nix` in `my-showcase` templates and modify it will be all required to change it. +Then create a `themes/my-theme/templates/partials/head/css-custom.nix` with the following code to load `themes/my-theme/files/css/style.css`. -Extending themes have many benefits: - -- No modification to the base themes, so they can be easily updated. -- Multiple themes layers can be created and combined. +``` +{ templates, ... }: +args: +templates.tag.link-css { href = templates.url "/css/style.css"; } +``` +For more details refer to the [themes](https://styx-static.github.io/styx-site/documentation.html#Themes) chapter of styx documentation. diff --git a/example/data/posts/2016-09-18-basics.md b/example/data/posts/2016-09-18-basics.md index 4bd0858..934bd4d 100644 --- a/example/data/posts/2016-09-18-basics.md +++ b/example/data/posts/2016-09-18-basics.md @@ -44,3 +44,4 @@ Styx does not enforce any data or site structure. You are totally free to do wha Also, the site generation function provides hooks that allow even more use cases, Styx site use the `postGen` to generate every styx version documentation. +For more details refer to the [basics](https://styx-static.github.io/styx-site/documentation.html#_basics) chapter of styx documentation. diff --git a/example/site.nix b/example/site.nix index 936a1a9..1334a90 100644 --- a/example/site.nix +++ b/example/site.nix @@ -24,6 +24,7 @@ rec { items at the end of the list have higher priority */ themes = [ + styx-themes.generic-templates ../. ]; @@ -54,7 +55,7 @@ rec { postsList = loadDir { dir = ./data/posts; }; draftsList = optionals (extraConf ? renderDrafts) (loadDir { dir = ./data/drafts; isDraft = true; }); in sortBy "date" "dsc" (postsList ++ draftsList); - menus = [ pages.about ]; + menu = [ pages.about ]; }; @@ -71,51 +72,53 @@ rec { For more complex needs, mkSplitCustom is available */ index = mkSplit { - title = "Home"; - baseHref = "index"; + title = "Home"; + basePath = "/index"; itemsPerPage = conf.theme.index.itemsPerPage; - template = templates.index; - data = posts; + template = templates.index; + data = posts; }; /* About page Example of generating a page from imported data */ about = { - href = "about.html"; - template = templates.generic.full; + path = "/about.html"; + template = templates.page.full; } // data.about; - /* RSS feed page + /* Feed page */ feed = { - href = "feed.xml"; - template = templates.feed; - # Show the 10 most recent posts - posts = take 10 posts; + path = "/feed.xml"; + template = templates.feed.atom; # Bypassing the layout - layout = id; + layout = id; + items = take 10 posts; }; /* 404 error page */ - e404 = { href = "404.html"; template = templates.e404; title = "404"; }; + e404 = { + path = "/404.html"; + template = templates.e404; + }; /* Posts pages (as a list of pages) */ posts = mkPageList { - data = data.posts; - hrefPrefix = "posts/"; - template = templates.post.full; + data = data.posts; + pathPrefix = "/posts/"; + template = templates.post.full; breadcrumbs = [ (head pages.index) ]; }; /* Multipages handling */ postsMultiTail = mkMultiTail { - data = data.posts; - hrefPrefix = "posts/"; - template = templates.post.full; + data = data.posts; + pathPrefix = "/posts/"; + template = templates.post.full; breadcrumbs = [ (head pages.index) ]; }; diff --git a/readme.md b/readme.md index 64b71fd..18f1723 100644 --- a/readme.md +++ b/readme.md @@ -22,3 +22,7 @@ Look at the example site to see how to use. Open sourced under the [MIT license](LICENSE.md). <3 + +## Preview + +![Preview](/screen.png) diff --git a/screen.png b/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..9a8540573997e02147c58c4fac4a346e1bf399aa GIT binary patch literal 103815 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: Page not found -

Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. Head back home to try finding it again.

-''; -in - page // { inherit content; } +{ lib, templates, ... }: +lib.normalTemplate { + content = '' +

404: Page not found

+

Sorry, we've misplaced that URL or it's pointing to something that doesn't exist. ${templates.tag.ilink { path = "/"; content = "Head back home"; }} to try finding it again.

+ ''; + title = "404"; +} diff --git a/templates/feed.nix b/templates/feed.nix deleted file mode 100644 index 2de900f..0000000 --- a/templates/feed.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ conf, lib, templates, ... }: -with lib; -page: - '' - - - - - ${conf.theme.site.title} - ${(head page.posts).date}T00:00:00Z" - Styx - ${conf.siteUrl}/atom.xml - - - - ${mapTemplate templates.post.feed-list page.posts} - - - '' diff --git a/templates/generic/full.nix b/templates/generic/full.nix deleted file mode 100644 index fc02972..0000000 --- a/templates/generic/full.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ templates, ... }: -page: -let - content = - '' -
-

${page.title}

- ${page.content} -
- ''; -in - page // { inherit content; } diff --git a/templates/index.nix b/templates/index.nix index 8d9c26e..e38526e 100644 --- a/templates/index.nix +++ b/templates/index.nix @@ -1,13 +1,9 @@ { conf, lib, templates, data, ... }: -page: with lib; -let content = - '' +normalTemplate (page: ''
${mapTemplate templates.post.list (page.items or [])}
- ${templates.partials.pagination { pages = (page.pages or []); index = page.index; }} - ''; -in - page // { inherit content; } + ${optionalString (page ? pages) (templates.partials.pager { inherit (page) pages index; })} +'') diff --git a/templates/layout.nix b/templates/layout.nix deleted file mode 100644 index f5e1a8f..0000000 --- a/templates/layout.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ conf, lib, templates, data, ... }: -page: -with lib; -'' -${templates.partials.head} - - - ${templates.partials.sidebar} - -
- ${page.content} -
- - - -'' diff --git a/templates/partials/body.nix b/templates/partials/body.nix new file mode 100644 index 0000000..8802739 --- /dev/null +++ b/templates/partials/body.nix @@ -0,0 +1,17 @@ +{ templates, lib, conf, ... }: +args: +with lib; +let + class = htmlAttr "class" ( + (optional (conf.theme ? color) conf.theme.color) + ++ (optional (conf.theme.layout-reverse) "layout-reverse") + ); +in +'' + +${(templates.partials.content-pre args) ++ (templates.partials.content args) ++ (templates.partials.content-post args) ++ (templates.partials.js args) +} +'' diff --git a/templates/partials/content-pre.nix b/templates/partials/content-pre.nix new file mode 100644 index 0000000..cb985ec --- /dev/null +++ b/templates/partials/content-pre.nix @@ -0,0 +1,22 @@ +{ conf, lib, templates, data, ... }: +page: +with lib; +'' + +'' diff --git a/templates/partials/content.nix b/templates/partials/content.nix new file mode 100644 index 0000000..cbab43f --- /dev/null +++ b/templates/partials/content.nix @@ -0,0 +1,7 @@ +env: +{ page }: +'' +
+${page.content} +
+'' diff --git a/templates/partials/disqus.nix b/templates/partials/disqus.nix deleted file mode 100644 index 323ae04..0000000 --- a/templates/partials/disqus.nix +++ /dev/null @@ -1,14 +0,0 @@ -
- - - \ No newline at end of file diff --git a/templates/partials/head.nix b/templates/partials/head.nix deleted file mode 100644 index 25c6a64..0000000 --- a/templates/partials/head.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ conf, lib, ... }: -with lib; -'' - - - - - - ${generatorMeta} - - - - - ${conf.theme.site.title} - - - - - - - - - - - - - -'' diff --git a/templates/partials/head/css-custom.nix b/templates/partials/head/css-custom.nix new file mode 100644 index 0000000..47a4ea2 --- /dev/null +++ b/templates/partials/head/css-custom.nix @@ -0,0 +1,6 @@ +{ templates, ... }: +page: + templates.tag.link-css { href = templates.url "/css/poole.css"; } ++ templates.tag.link-css { href = templates.url "/css/syntax.css"; } ++ templates.tag.link-css { href = templates.url "/css/hyde.css"; } ++ templates.tag.link-css { href = "https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface"; } diff --git a/templates/partials/head/title-post-extra.nix b/templates/partials/head/title-post-extra.nix new file mode 100644 index 0000000..cc4d934 --- /dev/null +++ b/templates/partials/head/title-post-extra.nix @@ -0,0 +1,6 @@ +env: +page: +'' + + +'' diff --git a/templates/partials/pager.nix b/templates/partials/pager.nix new file mode 100644 index 0000000..74efa2b --- /dev/null +++ b/templates/partials/pager.nix @@ -0,0 +1,26 @@ +{ lib, templates, ... }: +{ pages, index }: +with lib; +let + prevHref = if (index > 1) + then templates.purl (elemAt pages (index - 2)) + else "#"; + nextHref = if (index < (length pages)) + then templates.purl (elemAt pages index) + else "#"; +in +optionalString ((length pages) > 1) +'' + +'' diff --git a/templates/partials/pagination.nix b/templates/partials/pagination.nix deleted file mode 100644 index a13e128..0000000 --- a/templates/partials/pagination.nix +++ /dev/null @@ -1,33 +0,0 @@ -/* Pagination template, take two parameters: - - - pages: A list of pages - - index: The current page index - - Usage example in a template used with the `splitPage` function: - - templates.pagination { pages = page.pages; index = page.index; } - -*/ -{ lib, conf, ... }: -{ pages, index }: - with lib; - let - prevHref = if (index > 1) then "${conf.siteUrl}/${(elemAt pages (index - 2)).href}" else "#"; - nextHref = if (index < (length pages)) then "${conf.siteUrl}/${(elemAt pages (index)).href}" else "#"; - in - - optionalString ((length pages) > 1) - '' - - '' diff --git a/templates/partials/sidebar.nix b/templates/partials/sidebar.nix deleted file mode 100644 index af9a3a4..0000000 --- a/templates/partials/sidebar.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ conf, lib, data, ... }: -with lib; -'' - -'' diff --git a/templates/post/feed-list.nix b/templates/post/feed-list.nix deleted file mode 100644 index 3d1bdf1..0000000 --- a/templates/post/feed-list.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ conf, ... }: -post: - '' - - ${conf.siteUrl}/${post.href} - - ${post.date}T00:00:00Z - ${post.title} - -
- ${post.content} -
-
-
- '' diff --git a/templates/post/full.nix b/templates/post/full.nix index 07cbb36..b03a2f9 100644 --- a/templates/post/full.nix +++ b/templates/post/full.nix @@ -1,15 +1,11 @@ { lib, templates, ... }: -page: with lib; -let content = - '' -
-

${page.title}

- - ${page.content} +normalTemplate (page: '' +
+

${page.title}

+ + ${page.content} - ${optionalString (page ? pages) (templates.partials.pagination { pages = page.pages; index = page.index; })} -
- ''; -in - page // { inherit content; } + ${optionalString (page ? pages) (templates.partials.pager { inherit (page) pages index; })} +
+'') diff --git a/templates/post/list.nix b/templates/post/list.nix index 57a9ae9..23c340e 100644 --- a/templates/post/list.nix +++ b/templates/post/list.nix @@ -1,9 +1,9 @@ -{ conf, lib, ... }: +{ conf, lib, templates, ... }: with lib; page: ''
-

${page.title}

+

${templates.tag.ilink { inherit page; content = page.title; }}

${page.intro}