]> Lady’s Gitweb - Shrine-XSLT/blobdiff - README.markdown
Support more slots, including custom slotting
[Shrine-XSLT] / README.markdown
index c7b84ae3cd306f5e925b176dc4470d1dbe3068af..00dd2b59aa4d6f1cf7d192870d6b1367a9ebb5d3 100644 (file)
@@ -7,7 +7,6 @@ substantially changing the authoring flow.
 ## Features
 
 - Really simple shrine generation
-
 - One command: `make`
 
 ## Prerequisites
@@ -51,6 +50,31 @@ Finally, just run `make` from this directory, and H·T·M·L files
 corresponding to your source files will be created in the `public/`
 directory (which you can then serve statically from your server).
 
+## Atom Feeds
+
+Any `.atom` files you provide will automatically be filled out with
+`<id>`s, `<updated>` values, and other necessary information before
+being copied to the destination location. If you wish to use this
+feature, you will need to provide a `BASEIRI` variable when you run
+`make` to allow the X·S·L·T to transform relative links into absolute
+ones.
+
+It is recommended that :—
+
+- You do *not* provide your own `<id>`s and rely on the generated ones
+  (which will be an `oai:` URI derived from the file path).
+
+- You *do* manually provide `<updated>` times for individual entries
+  (although not the feed as a whole); otherwise every entry will be
+  marked as updated every time the feed is generated.
+
+- All `<link rel="alternate">` elements in `<entry>` elements use a
+  relative `@href` with a leading slash. This should point to the
+  *final* location of the entry (within, but not including, `public/`).
+
+There’s an example `feed.atom` provided so you can see what this
+  feature might look like in practice.
+
 ## Notes
 
 - The created files have a `.html` extension and need to be served
@@ -63,6 +87,10 @@ directory (which you can then serve statically from your server).
   output at `public/%/index.html` (where `%` is the filename and
   optional subdirectory). Only one level of subdirectory is supported.
 
+- For any files at `sources/*.xml` and `sources/*/*.xml`, files in the
+  folder with the same name (minus the `.xml`) will be copied over
+  verbatim.
+
 - The transformation doesn’t do any rewriting of links. Make sure you
   write them to point to the *final* location of the files, not their
   location within the `sources/` directory.
@@ -72,10 +100,21 @@ directory (which you can then serve statically from your server).
   (`<html>`) element of the template, as will `@lang` and `@xml:lang`.
   You can use this to help configure page‐specific styling.
 
-- You can insert content into the `<head>` of the template by setting
-  `@slot="shrine-head"` on the appropriate elements. For example, one
-  might customize the title of a page like
-  `<title slot="shrine-head">My Title | My Cool Shrine</title>`.
+- You can use the `@slot` attribute with a few special values to insert
+  content in various places :—
+
+  - `@slot="shrine-head"` will place the content into the `<head>` of
+    the resulting document. This is especially useful for `<title>`,
+    `<meta>`, and `<style>` elements.
+
+  - For `shrine-header` and `shrine-footer`, there are `-before` and
+    `-after` slot names which will place content into the beginning or
+    ending of the shrine header or footer, respectively.
+
+  - You can define your own slots with `<slot>` in templates, headers,
+    and footers; this will enable a corresponding `@slot` name
+    beginning with `shrine-template-slot-`, `shrine-header-slot-` or
+    `shrine-footer-slot`, respectively.
 
 - If you delete files from `sources/`, the corresponding files in
   `public/` will **not** be deleted and will need to be manually
This page took 0.020998 seconds and 4 git commands to generate.