This project is mirrored from git://orbitalfox.eu/logarion/. Updated .
  1. 01 Sep, 2018 1 commit
    • Stavros Polymenis's avatar
      Support Org, revise documentation, switch to dune, minor fixes · c0b94a5a
      Stavros Polymenis authored
      - Introduce Org file support
      - Move extension related functionality to File for Org support
      - Change code affected by Re.Str and Lwt
      - Adapt default directories such that .logarion isn't expected in etc/ and .config
      - Revise dependencies in jbuild files
      - Create utility function for validating configuration
      - Revise bug submission addresses
      - Remove servers and change from jbuilder to dune
      - Revise documentation
      - Fix warnings for unused variables
      c0b94a5a
  2. 31 Mar, 2018 1 commit
  3. 21 Mar, 2018 15 commits
    • Stavros Polymenis's avatar
      Reimplement authors & header, improve static generation, target for package · 98f33682
      Stavros Polymenis authored
      Header:
      
      - Capitalise header field name initial
      - Add target for generating tar.gz package in Makefile
      - Reimplement authors as a set and use Emile to parse from file
      - Fix date ordering and associate Date with creation date
      
      Static generation:
      
      - Filter meta index and html conversion with unlisted and published respectively
      - Sort newst first when using recency order
      - Amend recency_order to show recent first
      - Lower the case of meta paths
      - Use Meta.alias instead of string_alias
      - Fix syntax for Atom generator
      - Exclude unpublished elements from list of metas in static generation
      
      Other:
      
      - Revise opam homepage and dev-repo
      98f33682
    • Stavros Polymenis's avatar
      Static converter · 35d33801
      Stavros Polymenis authored
      - Static conversion indexer
      - Converters to build command line interface
      - Move page structuring from Html to Template
      - Wrap header in <header> by default
      - Fix titles
      - Fix Archive.sublist
      - Fix front matter regexp and catch String.sub exception
      - Refactor html composition from Template
      - Reorganise escape functions
      - Fix date on template-less note conversion
      - Compose Tyxml with Mustache
      - Build in note conversion
      - Wrap all Tyxml.elt values in lists so that they can be concatenated in a single list. Thanks to Drup
      - Reorganise Template and HTML
      - Generalise templates, not only for HTML
      - Fix CSS to work with new conversion
      - Move high-level conversion functions to Template for reuse in web server
      - Relativize header links
      - Relativize font path in Sass and css
      - Correct jbuild paths for templates
      - Information about init in config.toml
      - Drop <details> as it was inappropriate for article meta information
      - Make extension configurable. Default is now .md
      - Order dates by: published, created, edited
      - Date texts created with logarion create
      - Set date extraction order to published, created, edited
      - Removed Meta.Date.last and introduced Meta.Date.listing
      - Generate relative link to feed.atom using linker function
      - Refactor style as named parameter and use linker to produce path
      - List links to topics in index
      - Revise index.html into a proper, grouped by topic, index
      - Revise HTML structure and relevant CSS
      - Upgrade the server and normalise paths with static generator's
      - Revise configuration files
      - Default static to .logarion/static
      - Copy .logarion/static into export directory's static/
      35d33801
    • Stavros Polymenis's avatar
      Introduce Confix, a discrete library for application configuration, other improvements · 2ddda360
      Stavros Polymenis authored
      - Patch Template.ml to use Confix
      - Add result binding operator
      - Patch template and webserver to use Confix
      - Wrote Config.to_record for applying positive result to converter
      - Revise webserver to use Confix
      - Drop begin scope in of_config and improve UUID error message
      - Tidy syntax
      - Dropped default values for webserver and template configuration records
      - Merge configuration files into a single file
      - Decompose Config.config to Config.of_path
      - Wrap webserver with custom CmdLiner term
      - Move Logarion's files in .logarion/ and perform OS ops with Bos
      - Initialise to .logarion
      - Drop repository path (for now)
      - Default to current directory for repository
      - Use .logarion/config.toml for webserver
      - Move config to share/; copy share/ when installing via OPAM
      - Generate config.toml in .logarion/ instead of copying it
      - Refactor webserver port to a variable
      - Fix writing to file, don't ignore Lwt thread
      - Add repository owner as author name when using create command
      
      Other:
      
      - Revised core to avoid use of Batteries
      - Drop Batteries dependency
      - Remove forgotten dependency in core/jbuild
      - Revise documentation
      - Re-implemented Lpath.from_config_paths and of_toml_file to yield Result
      - Print server address and termination hint
      - Fixes bad topic urls, reported by @cedlemo
      - Remove main.sass, replaced by two separate files
      - Use ./share/static as default static_dir and inform about the absense of config files
      2ddda360
    • Thomas Gazagnaire's avatar
      Add missing dependency to tyxml (#17) · 29931b84
      Thomas Gazagnaire authored
      Contributed by @samoht 
      29931b84
    • cedlemo's avatar
      846505ca
    • cedlemo's avatar
      Add missing dependency to mustache in opam file · 1d868dd3
      cedlemo authored
      1d868dd3
    • Stavros Polymenis's avatar
      Jbuilder building, configuration validation, web server improvements · 0704fc92
      Stavros Polymenis authored
      Validations:
      
      - Refactor configuration validating into Config module
      - Check Archive configuration during webserver startup
      - Checked notes subdirectory
      - Validate existense of styles under static directory
      - Validate repository and uuid config values
      
      Web
      
      - Increase entries per page, hardcoded for now to 16
      - Add ability to filter by topic
      - Add opium to dependencies in opam file
      - Drop ocamlfind, oasis and lens dependencies
      - Map note topics to Atom feed categories
      - Change Meta.Email to Uri instead of String
      - Adapt converters to new Email module
      - Replace config url type from String.t to Uri.t
      - Turn repository directory into notes folder
      0704fc92
    • Stavros Polymenis's avatar
      Store module, other improvements in Archive, Meta, Note, Web · 3a5d6ae4
      Stavros Polymenis authored
      Logarion module:
      
      - Removed Entry submodule, it mostly duplicated Meta
      
      - Make functor for creating archives given a Store compatible module
        The output Archive module contains functions for sorting, ordering, selecting
        and accumulating (storing) notes.
      
      Store:
      
      - Introduce Store module type to abstract store (back-end) using the Archive functor
      - File has a Store compatible signature. The implementation has an Lwt hack; Lwt will be fully supported in the future
      
      Meta module:
      
      - Function Path.basename_of_title has been renamed to Meta.string_of_slug
        This is because slugs are now defined explicitely by 'slug' field or derived from
        'title' field. Counting numbers can't be used anymore.
        Slug has an optional, dedicated field.
        Function Meta.slug should be used on a Meta to get the appropriate slug (title or slug).
      
      - Introduces StringSet type (Set of Strings)
        Topics, keywords and series are now StringSets
      
      - Adds SlugMap and IdMap aliases
      
      - Renames slug field to alias
      
      Note module:
      
      - Automatically scan for Markdown heading to use as title in the absence of one
      - Improves front-matter parser; checks for fields
      
      Web module:
      
      - Uses new Logarion.Configuration, File store and Archive.t
      - Implements pagination
      - Moved template paths' record to template module.
      - Introduced templates directory parameter in web.toml.
      - Changed web configuration names to make them shorter.
      - More renames of text to note, where applicable.
      
      Template module:
      
      - Adapted for new types
      - Currently disabled topics substitution, because this framework needs reconsideration
      
      Other:
      
      - Adapt command line interface to work with new store
      - Adapt Atom feed to work with new store
      - Path module renamed to Lpath to avoid clash with OCaml system module.
      - Update contribution guide
      - Update readme community and support section
      3a5d6ae4
    • Stavros Polymenis's avatar
      Refactor Logarion module, introduce Meta (was YMD), introduc Path types, File… · 849b8719
      Stavros Polymenis authored
      Refactor Logarion module, introduce Meta (was YMD), introduc Path types, File functions, adding notes
      
      Path:
      
      - reinvented Path types, now in a new module Path
      - conversion to fpath in toml and web functions
      - revised form post path
      
      Meta:
      
      - refactores Meta submodule into a standalone module
      - renames Ymd to Note
      - Removes more references to 'ymd'
      - revised lenses and accessors
      - support simpler meta fields block and title from body
      - corrected author header writing
      - renamed write to create and fixed it
      - link date and title incase untitled
      
      Other:
      
      - licence notification
      - url string shouldn't end with /
      - fix atom feed generator
      - modulate with_meta_kv into Meta.with_kv
      - wrap date & times in <time>
      - adds configurable static content directory
      849b8719
    • Stavros Polymenis's avatar
      Add archive module, categories, command interface, ATOM feeds · a3458b03
      Stavros Polymenis authored
      - implemented typed categories
      - started command line interface
      - option for web port
      - refactored with latest method for toml configured records
      - only change filename id if title was changed
      - hide unlisted or unpublished files
      - added atom feeds
      - uuid for logarion archive
      - dates first in listing-entries
      - introduction of Archive and Entry submodules
      - introduced topic listing
      - refactored interfaces to meta types
      - implemented file path types and refactored some functions
      - refactored mapping of string to key-ed values
      - refactored filtering functions
      
      Other:
      
      - added missing opam packages in instructions (thanks @Kakadu) and general re-write
      a3458b03
    • Stavros Polymenis's avatar
      Introduce Logarion type, UUID, Toml configuration and Mustache templates · b96433f8
      Stavros Polymenis authored
      Templates:
      
      - new modules for templates
      - created share/ directory for various assets
      - article templating
      - date pretty printing and renamed date_string to modification_date
      - moved omd rendering to relevant scope
      - moved html code into non-templated segment
      - added sass stylesheet
      
      Archive:
      
      - introducing logarion type and refactoring
      - refactoring pages under logarion_page function
      - support for configuring Logarion with Toml
      - implement UUID for articles
      
      Other:
      
      - ignore emacs temp files
      - emacs ignore fixes
      - updated make instructions
      b96433f8
    • root's avatar
      First push (documentation fixes) · 5a37fe17
      root authored
      5a37fe17
    • Stavros Polymenis's avatar
      Lwt and web improvements · a5277f5d
      Stavros Polymenis authored
      Lwt:
      
      - use lwt >>=
      - add Lwt binding to all stages of route functions
      
      Web:
      
      - change visual structure of form
      - change of form page headings
      - further essential improvements to CSS
      - implemented partial text queries and fixed routing bugs
      - added charsets and uri_of_string conversion
      a5277f5d
    • Rudi Grinberg's avatar
      Make /()/new use lwt · 238fe6b2
      Rudi Grinberg authored
      Since opium uses Lwt, apps written in opium should use lwt for all
      IO (and other possibly blocking operations). Lwt_main.run simply runs
      lwt's event loop so it should usually be called once in a program.
      
      Other endpoints can be converted similarly by first converting
      `Logarion.of_file`
      238fe6b2
    • Stavros Polymenis's avatar
      Meta, HTML and web server · bf5afdcc
      Stavros Polymenis authored
      meta:
      
      - added lens and renamed some values
      - implemented more ymd fields
      - implemented file naming and saving
      
      Web server:
      
      - added basic types and some parsing from string to types
      - added example web interface
      - path sanitisation
      
      HTML:
      
      - introducion of tyxml
      - implemented header and footer
      - simple css support
      - article listing
      - html form and route
      - handling of post
      bf5afdcc
  4. 30 Aug, 2016 1 commit