Haskell static site generator based on Shake (superseded by https://github.com/srid/ema)
rib
and rib-core
path
and path-io
in favour of good ol' FilePath
serve
subcommand is replaced by the options -wS
.--input-dir/--output-dir
to override these pathsRib.Shake.getCliConfig
to get full CLI configurationRelease highlight: GHC 8.8, composable CLI parser, and general stability
optparse-applicative
) for user-level compositionRib.Parser.Pandoc.getToC
returning rendered Table of contents for a Pandoc documentRib.Parser.MMark.getFirstParagraphText
Rib.Extra.OpenGraph
for Open Graph protocolRib.Extra.CSS
, googleFonts
and stylesheet
routeUrl
: Fix incorrect substitution of "foo-index.html" with "foo-"MMark.render
) are now polymorphic in their monad.127.0.0.1
..shake
database directory under ribInputDir
overrides
and additional-packages
as extra argumentsRelease highlight: type-safe routes.
Rib.Parser.Dhall
Rib.Extra
containing useful but non-essential featuresghcSyntaxHighlighter
: we already have skylighting
(which supports more parsers than Haskell)obfuscateEmail
: requires JS, which is not documented.Route
functionality for simpler management of static routes.
buildHtmlMulti
, buildHtml
, readSource
functions and Source
type.Rib.Shake.forEvery
to run a Shake action over a pattern of files when they change.Rib.Shake.writeFileCached
MMark.parse
and Pandoc.parse
now automatically append path to ribInputDir
and do not return Either.MMark.parseWith
(and parsePureWith
), to specify a custom list of mmark extensionsresource busy (file is locked)
AsyncCancelled
when server thread crashescacheActionWith
Document
and Markup
in favour of Source
ribInputDir
and ribOutputDir
for use in custom Shake actionscacheActionWith
), to avoid writing HTML to disk until it has changed.This release comes with a major API refactor. Key changes:
Document
type that uses the custom metadata recordRib
import namespace for ease of useRib.Simple
Other changes:
Rib.Pandoc
:
render'
and renderInlines'
(the non-Lucid versions)Text.Pandoc.Readers
so the library user does not have to directly depend on pandoc
only to render its documents.Rib.App
: The run
funtion now takes two more arguments, specifying the input and output directory, which are no longer hardcoded.Rib.Simple
: add LaTeX to default list of readersRib.Server
: Remove ".html" detection magic from URLsMinor documentation changes