Srid Rib Versions Save

Haskell static site generator based on Shake (superseded by https://github.com/srid/ema)

1.0.0.0

3 years ago
  • Split packages into rib and rib-core

0.12.0.0

3 years ago
  • Removed pandoc-include-code
  • Allow dhall 1.30
  • default.nix: Allow overriding compiler

0.10.0.0

3 years ago
  • API
    • Dropped path and path-io in favour of good ol' FilePath
      • This also lifts the restriction with absolute paths
  • Misc changes
    • #145: CLI arguments have been revamped
      • serve subcommand is replaced by the options -wS.
      • Added --input-dir/--output-dir to override these paths
      • Accept host string in addition to port number
      • Exposed Rib.Shake.getCliConfig to get full CLI configuration
      • Allow customizing fsnotify ignore list
    • #141: Allow quiet logging (useful when rib is used as a library)

0.8.0.0

4 years ago

Release highlight: GHC 8.8, composable CLI parser, and general stability

  • Dependency upgrades
    • GHC 8.8
    • pandoc-include-code: 0.5.0.0
    • pandoc-types: 1.20
    • dhall: 1.30
    • clay: 0.13.3 (This is a downgrade, as 0.14 is not released yet)
  • New features:
    • API exposes the CLI parser (optparse-applicative) for user-level composition
    • Add Rib.Parser.Pandoc.getToC returning rendered Table of contents for a Pandoc document
    • Add Rib.Parser.MMark.getFirstParagraphText
    • Add Rib.Extra.OpenGraph for Open Graph protocol
    • Add to Rib.Extra.CSS, googleFonts and stylesheet
  • Bug fixes and misc changes:
    • routeUrl: Fix incorrect substitution of "foo-index.html" with "foo-"
    • Lucid rendering functions (like MMark.render) are now polymorphic in their monad.
    • #122: Fix Pandoc parser never returning metadata
    • #127: Rib's HTTP server now binds to 127.0.0.1.
    • Allow directory listings in HTTP server
    • #130: Prevent unnecessary re-running of Shake action by debouncing fsnotify events
    • #136: Move .shake database directory under ribInputDir
    • default.nix: Takes overrides and additional-packages as extra arguments

0.7.0.0

4 years ago

Release highlight: type-safe routes.

  • Dependency upgrades
    • mmark: 0.0.7.2
    • megaparsec: 0.8
    • clay: 0.14
    • shake: 0.8.15
  • New features:
    • Added Dhall parser, Rib.Parser.Dhall
    • Add Rib.Extra containing useful but non-essential features
  • MMark, extensions removed:
    • ghcSyntaxHighlighter: we already have skylighting (which supports more parsers than Haskell)
    • obfuscateEmail: requires JS, which is not documented.
  • API changes:
    • Introduced Route functionality for simpler management of static routes.
      • Removed buildHtmlMulti, buildHtml, readSource functions and Source type.
    • Introduced Rib.Shake.forEvery to run a Shake action over a pattern of files when they change.
    • Exposed Rib.Shake.writeFileCached
    • MMark.parse and Pandoc.parse now automatically append path to ribInputDir and do not return Either.
    • Added MMark.parseWith (and parsePureWith), to specify a custom list of mmark extensions
  • Bug fixes
    • #95: Fix Shake error resource busy (file is locked)
    • #97: Fix Shake error AsyncCancelled when server thread crashes
    • #96 & #108: Drop problematic use of Shake cacheActionWith

0.6.0.0

4 years ago
  • Advance nixpkgs; require Shake >=0.18.4
  • Major API simplication: no more type class!
    • Allow user to specify their own source parser as a Haskell function
    • Removed types Document and Markup in favour of Source
    • Expose ribInputDir and ribOutputDir for use in custom Shake actions
  • Bug fixes:
    • #63: create intermediate directories when generating post HTML
    • #70: Don't crash on Shake errors
    • Fix unnecessary rebuild of all files when only one file changed
      • #66: Use caching (via Shake's cacheActionWith), to avoid writing HTML to disk until it has changed.

0.5.0.0

4 years ago

This release comes with a major API refactor. Key changes:

  • Added MMark support, as an alternative to Pandoc
  • Allows using arbitrary records to load metadata
    • This replaces the previous complex metadata API
  • Added Document type that uses the custom metadata record
  • Add top-level Rib import namespace for ease of use
  • Remove the following:
    • JSON cache
    • Rib.Simple
  • Support for Table of Contents via MMark

Other changes:

  • Use type-safe path types using the path library.
  • Fix #40: Gracefully handle rendering/ parsing errors, without dying.
  • Misc error reporting improvements

0.4.1.0

4 years ago
  • Rib.Pandoc:
    • Export render' and renderInlines' (the non-Lucid versions)
    • Re-export 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 readers
  • Rib.Server: Remove ".html" detection magic from URLs

0.3.0.0

4 years ago

Minor documentation changes