From a634ef21ffcfa559ac127a25cb29b92b8ba9f592 Mon Sep 17 00:00:00 2001 From: Mikko Ahlroth Date: Sat, 20 Apr 2024 23:03:30 +0300 Subject: [PATCH] Rename project --- .gitlab-ci.yml | 19 ----------- LICENSE.txt | 2 +- README.md | 32 +++++++++---------- gleam.toml | 8 ++--- src/ffi_luxon.mjs | 4 +-- src/{gloss => scriptorium}/builder.gleam | 10 +++--- src/{gloss => scriptorium}/compiler.gleam | 10 +++--- src/{gloss => scriptorium}/config.gleam | 14 ++++---- src/{gloss => scriptorium}/defaults.gleam | 26 +++++++-------- .../internal/utils/meta_url.gleam | 0 .../internal/utils/object.gleam | 0 .../internal/utils/path.gleam | 0 .../models/database.gleam | 12 +++---- .../models/header.gleam | 0 src/{gloss => scriptorium}/models/menu.gleam | 0 src/{gloss => scriptorium}/models/page.gleam | 2 +- src/{gloss => scriptorium}/models/post.gleam | 8 ++--- src/{gloss => scriptorium}/parser.gleam | 12 +++---- .../parser/common.gleam | 2 +- src/{gloss => scriptorium}/parser/menu.gleam | 2 +- src/{gloss => scriptorium}/parser/page.gleam | 4 +-- src/{gloss => scriptorium}/parser/post.gleam | 14 ++++---- src/{gloss => scriptorium}/paths.gleam | 10 +++--- src/{gloss => scriptorium}/renderer.gleam | 14 ++++---- .../rendering/database.gleam | 6 ++-- .../rendering/views.gleam | 6 ++-- .../rendering/views/base.gleam | 12 +++---- .../rendering/views/feed.gleam | 14 ++++---- .../rendering/views/list_page.gleam | 8 ++--- .../rendering/views/meta.gleam | 10 +++--- .../rendering/views/nav.gleam | 4 +-- .../rendering/views/page.gleam | 6 ++-- .../rendering/views/single_post.gleam | 14 ++++---- src/{gloss => scriptorium}/utils/date.gleam | 2 +- .../utils/ints/day.gleam | 0 .../utils/ints/hour.gleam | 0 .../utils/ints/minute.gleam | 0 src/{gloss => scriptorium}/utils/luxon.gleam | 4 +-- src/{gloss => scriptorium}/utils/marked.gleam | 2 +- .../utils/ordered_tree.gleam | 0 src/{gloss => scriptorium}/utils/priv.gleam | 6 ++-- src/{gloss => scriptorium}/utils/time.gleam | 4 +-- src/{gloss => scriptorium}/utils/uniqid.gleam | 0 src/{gloss => scriptorium}/writer.gleam | 6 ++-- 44 files changed, 144 insertions(+), 165 deletions(-) delete mode 100644 .gitlab-ci.yml rename src/{gloss => scriptorium}/builder.gleam (76%) rename src/{gloss => scriptorium}/compiler.gleam (90%) rename src/{gloss => scriptorium}/config.gleam (87%) rename src/{gloss => scriptorium}/defaults.gleam (69%) rename src/{gloss => scriptorium}/internal/utils/meta_url.gleam (100%) rename src/{gloss => scriptorium}/internal/utils/object.gleam (100%) rename src/{gloss => scriptorium}/internal/utils/path.gleam (100%) rename src/{gloss => scriptorium}/models/database.gleam (91%) rename src/{gloss => scriptorium}/models/header.gleam (100%) rename src/{gloss => scriptorium}/models/menu.gleam (100%) rename src/{gloss => scriptorium}/models/page.gleam (78%) rename src/{gloss => scriptorium}/models/post.gleam (91%) rename src/{gloss => scriptorium}/parser.gleam (93%) rename src/{gloss => scriptorium}/parser/common.gleam (96%) rename src/{gloss => scriptorium}/parser/menu.gleam (89%) rename src/{gloss => scriptorium}/parser/page.gleam (84%) rename src/{gloss => scriptorium}/parser/post.gleam (93%) rename src/{gloss => scriptorium}/paths.gleam (93%) rename src/{gloss => scriptorium}/renderer.gleam (95%) rename src/{gloss => scriptorium}/rendering/database.gleam (89%) rename src/{gloss => scriptorium}/rendering/views.gleam (92%) rename src/{gloss => scriptorium}/rendering/views/base.gleam (95%) rename src/{gloss => scriptorium}/rendering/views/feed.gleam (83%) rename src/{gloss => scriptorium}/rendering/views/list_page.gleam (81%) rename src/{gloss => scriptorium}/rendering/views/meta.gleam (93%) rename src/{gloss => scriptorium}/rendering/views/nav.gleam (95%) rename src/{gloss => scriptorium}/rendering/views/page.gleam (74%) rename src/{gloss => scriptorium}/rendering/views/single_post.gleam (89%) rename src/{gloss => scriptorium}/utils/date.gleam (98%) rename src/{gloss => scriptorium}/utils/ints/day.gleam (100%) rename src/{gloss => scriptorium}/utils/ints/hour.gleam (100%) rename src/{gloss => scriptorium}/utils/ints/minute.gleam (100%) rename src/{gloss => scriptorium}/utils/luxon.gleam (89%) rename src/{gloss => scriptorium}/utils/marked.gleam (95%) rename src/{gloss => scriptorium}/utils/ordered_tree.gleam (100%) rename src/{gloss => scriptorium}/utils/priv.gleam (50%) rename src/{gloss => scriptorium}/utils/time.gleam (92%) rename src/{gloss => scriptorium}/utils/uniqid.gleam (100%) rename src/{gloss => scriptorium}/writer.gleam (93%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index e7fb27c..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,19 +0,0 @@ -image: ghcr.io/gleam-lang/gleam:v1.1.0-node-alpine - -pages: - stage: deploy - environment: production - script: - - gleam deps download - - gleam docs build - - rm -rf public - - mkdir .public - - cp -r ./build/dev/docs/gloss/* .public - - mv .public public - artifacts: - paths: - - public - rules: - - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH -variables: - GIT_SUBMODULE_STRATEGY: recursive diff --git a/LICENSE.txt b/LICENSE.txt index 0c4c357..e3baea4 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Gloss, Gleam blog generator +Scriptorium, Gleam blog generator Copyright © 2024 Mikko Ahlroth This program is free software: you can redistribute it and/or modify diff --git a/README.md b/README.md index 26db7c9..40cc281 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,20 @@ -# gloss +# scriptorium -Gloss is a simple blog generator for Gleam, using [Lustre](https://hexdocs.pm/lustre) and +Scriptorium is a simple blog generator for Gleam, using [Lustre](https://hexdocs.pm/lustre) and [lustre_ssg](https://hexdocs.pm/lustre_ssg). -Gloss runs on the JavaScript target and it's tested with Node.js. +Scriptorium runs on the JavaScript target and it's tested with Node.js. - - +[![Package Version](https://img.shields.io/hexpm/v/scriptorium)](https://hex.pm/packages/scriptorium) +[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/scriptorium/) ## Quickstart -Gloss is not yet available on Hex. You can use it with a path dependency instead. Create a new -Gleam project, clone Gloss to some path, and add the following to `gleam.toml`: +To use Scriptorium, you will need to create a new Gleam project and add Scriptorium as a +dependency. -```toml -[dependencies] -gleam_stdlib = "~> 0.36 or ~> 1.0" -gloss = { path = "../path/to/gloss" } +```sh +gleam add scriptorium ``` To generate a default blog, use the following in your main file: @@ -25,9 +23,9 @@ To generate a default blog, use the following in your main file: import gleam/result import gleam/option import gleam/io -import gloss/builder -import gloss/config.{type Configuration, Configuration} -import gloss/defaults +import scriptorium/builder +import scriptorium/config.{type Configuration, Configuration} +import scriptorium/defaults pub fn main() { let config = @@ -60,6 +58,6 @@ pub fn build(config: Configuration) { ## Documentation -- [Gloss Demo Blog](https://nicd.gitlab.io/gloss_blog) -- [User's Guide](https://nicd.gitlab.io/gloss_blog/guide.html) -- [Gloss API reference](https://nicd.gitlab.io/gloss) +- [Scriptorium Demo Blog](https://nicd.gitlab.io/scriptorium_blog) +- [User's Guide](https://nicd.gitlab.io/scriptorium_blog/guide.html) +- [Scriptorium API reference](https://hexdocs.pm/scriptorium) diff --git a/gleam.toml b/gleam.toml index 6deec9c..db2a4f0 100644 --- a/gleam.toml +++ b/gleam.toml @@ -1,4 +1,4 @@ -name = "gloss" +name = "scriptorium" version = "1.0.0" target = "javascript" gleam = "~> 1.1" @@ -8,10 +8,10 @@ gleam = "~> 1.1" # description = "A simple Gleam blog generator" licences = ["AGPL-3.0-or-later"] -repository = { type = "gitlab", user = "Nicd", repo = "gloss" } +repository = { type = "gitlab", user = "Nicd", repo = "scriptorium" } links = [ - { title = "User's Guide", href = "https://nicd.gitlab.io/gloss_blog/guide.html" }, - { title = "Demo Blog", href = "https://nicd.gitlab.io/gloss_blog" }, + { title = "User's Guide", href = "https://nicd.gitlab.io/scriptorium_blog/guide.html" }, + { title = "Demo Blog", href = "https://nicd.gitlab.io/scriptorium_blog" }, ] # # For a full reference of all the available options, you can have a look at diff --git a/src/ffi_luxon.mjs b/src/ffi_luxon.mjs index 20d2e95..2d95716 100644 --- a/src/ffi_luxon.mjs +++ b/src/ffi_luxon.mjs @@ -1,7 +1,7 @@ import { DateTime } from "./priv/vendor/luxon/src/luxon.js"; import { Ok, Error } from "./gleam.mjs"; -import { Date, parse_month } from "./gloss/utils/date.mjs"; -import { Time } from "./gloss/utils/time.mjs"; +import { Date, parse_month } from "./scriptorium/utils/date.mjs"; +import { Time } from "./scriptorium/utils/time.mjs"; export function dateTimeInZone(dtStr, tz) { const dt = DateTime.fromISO(dtStr, { zone: tz }); diff --git a/src/gloss/builder.gleam b/src/scriptorium/builder.gleam similarity index 76% rename from src/gloss/builder.gleam rename to src/scriptorium/builder.gleam index 166c319..e4b80d1 100644 --- a/src/gloss/builder.gleam +++ b/src/scriptorium/builder.gleam @@ -1,11 +1,11 @@ //// The builder contains convenience functions to interface with the different -//// parts of gloss, using the configuration to control what is done. +//// parts of scriptorium, using the configuration to control what is done. import gleam/result -import gloss/compiler.{type CompileDatabase} -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} -import gloss/rendering/database as render_database +import scriptorium/compiler.{type CompileDatabase} +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} +import scriptorium/rendering/database as render_database /// Something failed when building the blog. pub type BuildError { diff --git a/src/gloss/compiler.gleam b/src/scriptorium/compiler.gleam similarity index 90% rename from src/gloss/compiler.gleam rename to src/scriptorium/compiler.gleam index f4fba96..b08aac5 100644 --- a/src/gloss/compiler.gleam +++ b/src/scriptorium/compiler.gleam @@ -4,11 +4,11 @@ import gleam/dict.{type Dict} import gleam/list import gleam/option -import gloss/models/database.{type Database, type PostID} -import gloss/models/page.{type Page} -import gloss/models/post.{type Post} -import gloss/utils/marked -import gloss/utils/ordered_tree +import scriptorium/models/database.{type Database, type PostID} +import scriptorium/models/page.{type Page} +import scriptorium/models/post.{type Post} +import scriptorium/utils/marked +import scriptorium/utils/ordered_tree /// Compiled post content: strings that contain HTML. pub type PostContent { diff --git a/src/gloss/config.gleam b/src/scriptorium/config.gleam similarity index 87% rename from src/gloss/config.gleam rename to src/scriptorium/config.gleam index d24bb1c..f72b588 100644 --- a/src/gloss/config.gleam +++ b/src/scriptorium/config.gleam @@ -1,11 +1,11 @@ -//// The configuration is the main way to customize Gloss's behaviour. +//// The configuration is the main way to customize Scriptorium's behaviour. import gleam/option -import gloss/compiler.{type CompileDatabase, type Compiler} -import gloss/models/database.{type Database} -import gloss/paths.{type PathConfiguration} -import gloss/rendering/database.{type RenderDatabase} as _ -import gloss/rendering/views.{ +import scriptorium/compiler.{type CompileDatabase, type Compiler} +import scriptorium/models/database.{type Database} +import scriptorium/paths.{type PathConfiguration} +import scriptorium/rendering/database.{type RenderDatabase} as _ +import scriptorium/rendering/views.{ type BaseView, type FeedView, type ListPageView, type MetaView, type PageView, type SinglePostView, } @@ -35,7 +35,7 @@ pub type Writer = /// View generators for the blog. These take the database and configuration and /// must return a view function that is used for rendering. /// -/// See the `gloss/rendering/views` documentation for descriptions of the +/// See the `scriptorium/rendering/views` documentation for descriptions of the /// individual views. pub type Views { Views( diff --git a/src/gloss/defaults.gleam b/src/scriptorium/defaults.gleam similarity index 69% rename from src/gloss/defaults.gleam rename to src/scriptorium/defaults.gleam index e0a2fdf..d4b9a39 100644 --- a/src/gloss/defaults.gleam +++ b/src/scriptorium/defaults.gleam @@ -2,20 +2,20 @@ //// blog quickly. import gleam/uri -import gloss/compiler -import gloss/config.{type Configuration, Compiling, Configuration, Rendering} -import gloss/parser -import gloss/paths -import gloss/renderer -import gloss/rendering/views/base -import gloss/rendering/views/feed -import gloss/rendering/views/list_page -import gloss/rendering/views/meta -import gloss/rendering/views/page -import gloss/rendering/views/single_post -import gloss/writer +import scriptorium/compiler +import scriptorium/config.{type Configuration, Compiling, Configuration, Rendering} +import scriptorium/parser +import scriptorium/paths +import scriptorium/renderer +import scriptorium/rendering/views/base +import scriptorium/rendering/views/feed +import scriptorium/rendering/views/list_page +import scriptorium/rendering/views/meta +import scriptorium/rendering/views/page +import scriptorium/rendering/views/single_post +import scriptorium/writer -/// View generators that use the Gloss builtin views. +/// View generators that use the Scriptorium builtin views. const default_views = config.Views( base: base.generate, meta: meta.generate, diff --git a/src/gloss/internal/utils/meta_url.gleam b/src/scriptorium/internal/utils/meta_url.gleam similarity index 100% rename from src/gloss/internal/utils/meta_url.gleam rename to src/scriptorium/internal/utils/meta_url.gleam diff --git a/src/gloss/internal/utils/object.gleam b/src/scriptorium/internal/utils/object.gleam similarity index 100% rename from src/gloss/internal/utils/object.gleam rename to src/scriptorium/internal/utils/object.gleam diff --git a/src/gloss/internal/utils/path.gleam b/src/scriptorium/internal/utils/path.gleam similarity index 100% rename from src/gloss/internal/utils/path.gleam rename to src/scriptorium/internal/utils/path.gleam diff --git a/src/gloss/models/database.gleam b/src/scriptorium/models/database.gleam similarity index 91% rename from src/gloss/models/database.gleam rename to src/scriptorium/models/database.gleam index d308ce2..b5a09e9 100644 --- a/src/gloss/models/database.gleam +++ b/src/scriptorium/models/database.gleam @@ -5,12 +5,12 @@ import gleam/dict.{type Dict} import gleam/list import gleam/option.{None, Some} import gleam/order.{type Order} -import gloss/models/menu.{type MenuItem} -import gloss/models/page.{type Page} -import gloss/models/post.{type Post, type Tag} -import gloss/utils/date.{type Month} -import gloss/utils/ordered_tree.{type OrderedTree} -import gloss/utils/uniqid.{type Generator, type UniqID} +import scriptorium/models/menu.{type MenuItem} +import scriptorium/models/page.{type Page} +import scriptorium/models/post.{type Post, type Tag} +import scriptorium/utils/date.{type Month} +import scriptorium/utils/ordered_tree.{type OrderedTree} +import scriptorium/utils/uniqid.{type Generator, type UniqID} /// Internal post ID, generated automatically. pub type PostID = diff --git a/src/gloss/models/header.gleam b/src/scriptorium/models/header.gleam similarity index 100% rename from src/gloss/models/header.gleam rename to src/scriptorium/models/header.gleam diff --git a/src/gloss/models/menu.gleam b/src/scriptorium/models/menu.gleam similarity index 100% rename from src/gloss/models/menu.gleam rename to src/scriptorium/models/menu.gleam diff --git a/src/gloss/models/page.gleam b/src/scriptorium/models/page.gleam similarity index 78% rename from src/gloss/models/page.gleam rename to src/scriptorium/models/page.gleam index a4b4e12..e28ce08 100644 --- a/src/gloss/models/page.gleam +++ b/src/scriptorium/models/page.gleam @@ -1,6 +1,6 @@ //// A static page in the blog that is not part of any post lists or archives. -import gloss/models/header.{type Header} +import scriptorium/models/header.{type Header} pub type Page { Page(title: String, slug: String, headers: List(Header), content: String) diff --git a/src/gloss/models/post.gleam b/src/scriptorium/models/post.gleam similarity index 91% rename from src/gloss/models/post.gleam rename to src/scriptorium/models/post.gleam index 9e6c401..274c261 100644 --- a/src/gloss/models/post.gleam +++ b/src/scriptorium/models/post.gleam @@ -3,10 +3,10 @@ import gleam/int import gleam/option.{type Option} import gleam/order.{type Order, Eq} -import gloss/models/header.{type Header} -import gloss/utils/date.{type Date} -import gloss/utils/luxon.{type DateTime} -import gloss/utils/time.{type Time, Time} +import scriptorium/models/header.{type Header} +import scriptorium/utils/date.{type Date} +import scriptorium/utils/luxon.{type DateTime} +import scriptorium/utils/time.{type Time, Time} pub type PostedAt { /// The post only had date information. diff --git a/src/gloss/parser.gleam b/src/scriptorium/parser.gleam similarity index 93% rename from src/gloss/parser.gleam rename to src/scriptorium/parser.gleam index e1da665..b137fed 100644 --- a/src/gloss/parser.gleam +++ b/src/scriptorium/parser.gleam @@ -4,12 +4,12 @@ import gleam/list import gleam/regex import gleam/result import gleam/string -import gloss/config.{type ParseError, ParseError} -import gloss/models/database.{type Database} -import gloss/parser/common -import gloss/parser/menu -import gloss/parser/page -import gloss/parser/post +import scriptorium/config.{type ParseError, ParseError} +import scriptorium/models/database.{type Database} +import scriptorium/parser/common +import scriptorium/parser/menu +import scriptorium/parser/page +import scriptorium/parser/post import simplifile /// The default path where input files are read from. diff --git a/src/gloss/parser/common.gleam b/src/scriptorium/parser/common.gleam similarity index 96% rename from src/gloss/parser/common.gleam rename to src/scriptorium/parser/common.gleam index 68dc6d1..8d004cc 100644 --- a/src/gloss/parser/common.gleam +++ b/src/scriptorium/parser/common.gleam @@ -2,7 +2,7 @@ import gleam/bool import gleam/list import gleam/result import gleam/string -import gloss/models/header.{type Header} +import scriptorium/models/header.{type Header} /// The default file extension for source files. pub const filename_postfix = ".md" diff --git a/src/gloss/parser/menu.gleam b/src/scriptorium/parser/menu.gleam similarity index 89% rename from src/gloss/parser/menu.gleam rename to src/scriptorium/parser/menu.gleam index 6e0649c..7664723 100644 --- a/src/gloss/parser/menu.gleam +++ b/src/scriptorium/parser/menu.gleam @@ -1,7 +1,7 @@ import gleam/list import gleam/result import gleam/string -import gloss/models/menu.{MenuItem} +import scriptorium/models/menu.{MenuItem} /// Parse the content and return menu items. pub fn parse(content: String) { diff --git a/src/gloss/parser/page.gleam b/src/scriptorium/parser/page.gleam similarity index 84% rename from src/gloss/parser/page.gleam rename to src/scriptorium/parser/page.gleam index 28b35ac..0efc668 100644 --- a/src/gloss/parser/page.gleam +++ b/src/scriptorium/parser/page.gleam @@ -1,8 +1,8 @@ import gleam/list import gleam/result import gleam/string -import gloss/models/page.{type Page, Page} -import gloss/parser/common.{type ParseError, EmptyFile, HeaderMissing, try} +import scriptorium/models/page.{type Page, Page} +import scriptorium/parser/common.{type ParseError, EmptyFile, HeaderMissing, try} /// Parse page from file data. pub fn parse(filename: String, contents: String) -> Result(Page, ParseError) { diff --git a/src/gloss/parser/post.gleam b/src/scriptorium/parser/post.gleam similarity index 93% rename from src/gloss/parser/post.gleam rename to src/scriptorium/parser/post.gleam index 73ef2b3..28bb61a 100644 --- a/src/gloss/parser/post.gleam +++ b/src/scriptorium/parser/post.gleam @@ -5,16 +5,16 @@ import gleam/option import gleam/regex import gleam/result import gleam/string -import gloss/models/header.{type Header} -import gloss/models/post.{type Post, type PostedAt, type Tag, Post} -import gloss/parser/common.{ +import scriptorium/models/header.{type Header} +import scriptorium/models/post.{type Post, type PostedAt, type Tag, Post} +import scriptorium/parser/common.{ type ParseError, DayNotInt, EmptyFile, HeaderMissing, InvalidDate, MalformedFilename, MalformedHeader, MonthNotInt, YearNotInt, try, } -import gloss/utils/date.{Date} -import gloss/utils/ints/day -import gloss/utils/luxon -import gloss/utils/time.{type Time, Time} +import scriptorium/utils/date.{Date} +import scriptorium/utils/ints/day +import scriptorium/utils/luxon +import scriptorium/utils/time.{type Time, Time} /// Post filenames must match this regex. pub const filename_regex = "^\\d{4}-\\d\\d-\\d\\d-.*\\.md$" diff --git a/src/gloss/paths.gleam b/src/scriptorium/paths.gleam similarity index 93% rename from src/gloss/paths.gleam rename to src/scriptorium/paths.gleam index 2d63247..9df91a9 100644 --- a/src/gloss/paths.gleam +++ b/src/scriptorium/paths.gleam @@ -4,10 +4,10 @@ import gleam/int import gleam/list import gleam/string -import gloss/models/page.{type Page} -import gloss/models/post.{type Post} -import gloss/utils/date.{type Month} -import gloss/utils/ints/day +import scriptorium/models/page.{type Page} +import scriptorium/models/post.{type Post} +import scriptorium/utils/date.{type Month} +import scriptorium/utils/ints/day const default_root = "" @@ -25,7 +25,7 @@ pub const default_feed = default_feed_file pub type PathConfiguration { PathConfiguration( /// The root path where the blog will be accessible. With starting slash but - /// without trailing slash, e.g. `/gloss_blog`. Note that if the blog is + /// without trailing slash, e.g. `/scriptorium_blog`. Note that if the blog is /// accessible without a subpath, this value should be `""`. root: String, /// The index path. Note that the first page of the index is always written diff --git a/src/gloss/renderer.gleam b/src/scriptorium/renderer.gleam similarity index 95% rename from src/gloss/renderer.gleam rename to src/scriptorium/renderer.gleam index c30cb9e..2899a45 100644 --- a/src/gloss/renderer.gleam +++ b/src/scriptorium/renderer.gleam @@ -5,21 +5,21 @@ import gleam/dict.{type Dict} import gleam/int import gleam/list import gleam/result -import gloss/compiler.{ +import scriptorium/compiler.{ type CompileDatabase, type CompiledPage, type CompiledPost, } -import gloss/config.{type Configuration} -import gloss/models/database.{type Database, type PostID, type PostWithID} -import gloss/rendering/database.{ +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database, type PostID, type PostWithID} +import scriptorium/rendering/database.{ type RenderDatabase, type RenderedSinglePost, ListPage, RenderDatabase, RenderedPage, RenderedSinglePost, } as _ -import gloss/rendering/views.{ +import scriptorium/rendering/views.{ type BaseView, type FeedView, type ListPageView, type MetaView, type PageView, type SinglePostView, ListInfo, } -import gloss/utils/date -import gloss/utils/ordered_tree +import scriptorium/utils/date +import scriptorium/utils/ordered_tree import lustre/element.{type Element} /// Helper struct to pass all the used views to the rendering functions. diff --git a/src/gloss/rendering/database.gleam b/src/scriptorium/rendering/database.gleam similarity index 89% rename from src/gloss/rendering/database.gleam rename to src/scriptorium/rendering/database.gleam index b4070ad..8386de4 100644 --- a/src/gloss/rendering/database.gleam +++ b/src/scriptorium/rendering/database.gleam @@ -1,9 +1,9 @@ //// The render database stores the rendered posts and pages. import gleam/dict.{type Dict} -import gloss/models/page.{type Page} -import gloss/models/post.{type Post} -import gloss/utils/date.{type Month} +import scriptorium/models/page.{type Page} +import scriptorium/models/post.{type Post} +import scriptorium/utils/date.{type Month} import lustre/element.{type Element} /// A post and its rendered content. diff --git a/src/gloss/rendering/views.gleam b/src/scriptorium/rendering/views.gleam similarity index 92% rename from src/gloss/rendering/views.gleam rename to src/scriptorium/rendering/views.gleam index 424efad..31a40b8 100644 --- a/src/gloss/rendering/views.gleam +++ b/src/scriptorium/rendering/views.gleam @@ -1,6 +1,6 @@ -import gloss/compiler.{type CompiledPage, type CompiledPost} -import gloss/models/page -import gloss/models/post +import scriptorium/compiler.{type CompiledPage, type CompiledPost} +import scriptorium/models/page +import scriptorium/models/post import lustre/element.{type Element} /// The base view renders the base page layout. diff --git a/src/gloss/rendering/views/base.gleam b/src/scriptorium/rendering/views/base.gleam similarity index 95% rename from src/gloss/rendering/views/base.gleam rename to src/scriptorium/rendering/views/base.gleam index 19aebe4..7c11034 100644 --- a/src/gloss/rendering/views/base.gleam +++ b/src/scriptorium/rendering/views/base.gleam @@ -4,11 +4,11 @@ import gleam/int import gleam/list import gleam/option import gleam/string -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} -import gloss/models/menu.{type MenuItem} -import gloss/utils/date -import gloss/utils/ordered_tree +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} +import scriptorium/models/menu.{type MenuItem} +import scriptorium/utils/date +import scriptorium/utils/ordered_tree import lustre/attribute.{attribute, href, id, name, rel, role, style, type_} import lustre/element.{type Element, text} import lustre/element/html.{ @@ -107,7 +107,7 @@ fn view( text(", "), a([href("https://hexdocs.pm/lustre")], [text("Lustre")]), text(", "), - a([href("https://gitlab.com/Nicd/gloss")], [text("Gloss")]), + a([href("https://gitlab.com/Nicd/scriptorium")], [text("Scriptorium")]), ]), ]), ]), diff --git a/src/gloss/rendering/views/feed.gleam b/src/scriptorium/rendering/views/feed.gleam similarity index 83% rename from src/gloss/rendering/views/feed.gleam rename to src/scriptorium/rendering/views/feed.gleam index e56794d..66937c1 100644 --- a/src/gloss/rendering/views/feed.gleam +++ b/src/scriptorium/rendering/views/feed.gleam @@ -1,10 +1,10 @@ import gleam/list import gleam/option -import gloss/compiler.{type CompiledPost} -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} -import gloss/models/post -import gloss/utils/luxon +import scriptorium/compiler.{type CompiledPost} +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} +import scriptorium/models/post +import scriptorium/utils/luxon import lustre/attribute.{attribute} import lustre/element import lustre/ssg/atom.{ @@ -35,10 +35,10 @@ pub fn generate(_db: Database, config: Configuration) { ]), generator( [ - attribute("uri", "https://gitlab.com/Nicd/gloss"), + attribute("uri", "https://gitlab.com/Nicd/scriptorium"), attribute("version", "1.0.0"), ], - "Gloss", + "Scriptorium", ), rights(config.rendering.copyright), ..list.map(posts, fn(post) { diff --git a/src/gloss/rendering/views/list_page.gleam b/src/scriptorium/rendering/views/list_page.gleam similarity index 81% rename from src/gloss/rendering/views/list_page.gleam rename to src/scriptorium/rendering/views/list_page.gleam index b1a32e4..7a3fa82 100644 --- a/src/gloss/rendering/views/list_page.gleam +++ b/src/scriptorium/rendering/views/list_page.gleam @@ -1,8 +1,8 @@ import gleam/list -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} -import gloss/rendering/views.{type ListInfo} -import gloss/rendering/views/nav +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} +import scriptorium/rendering/views.{type ListInfo} +import scriptorium/rendering/views/nav import lustre/attribute.{attribute, class} import lustre/element import lustre/element/html.{footer, nav} diff --git a/src/gloss/rendering/views/meta.gleam b/src/scriptorium/rendering/views/meta.gleam similarity index 93% rename from src/gloss/rendering/views/meta.gleam rename to src/scriptorium/rendering/views/meta.gleam index 416ca6e..172a49b 100644 --- a/src/gloss/rendering/views/meta.gleam +++ b/src/scriptorium/rendering/views/meta.gleam @@ -2,11 +2,11 @@ import gleam/dict import gleam/list import gleam/option import gleam/result -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} -import gloss/models/page -import gloss/models/post -import gloss/rendering/views.{type PageType, Other, Page, Post} +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} +import scriptorium/models/page +import scriptorium/models/post +import scriptorium/rendering/views.{type PageType, Other, Page, Post} import lustre/attribute import lustre/element/html diff --git a/src/gloss/rendering/views/nav.gleam b/src/scriptorium/rendering/views/nav.gleam similarity index 95% rename from src/gloss/rendering/views/nav.gleam rename to src/scriptorium/rendering/views/nav.gleam index 66c4990..460b158 100644 --- a/src/gloss/rendering/views/nav.gleam +++ b/src/scriptorium/rendering/views/nav.gleam @@ -1,7 +1,7 @@ import gleam/int import gleam/list -import gloss/config.{type Configuration} -import gloss/rendering/views.{type ListInfo} +import scriptorium/config.{type Configuration} +import scriptorium/rendering/views.{type ListInfo} import lustre/attribute.{attribute, href} import lustre/element.{text} import lustre/element/html.{a, li, span, ul} diff --git a/src/gloss/rendering/views/page.gleam b/src/scriptorium/rendering/views/page.gleam similarity index 74% rename from src/gloss/rendering/views/page.gleam rename to src/scriptorium/rendering/views/page.gleam index 877add2..b1f3faf 100644 --- a/src/gloss/rendering/views/page.gleam +++ b/src/scriptorium/rendering/views/page.gleam @@ -1,6 +1,6 @@ -import gloss/compiler.{type CompiledPage} -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} +import scriptorium/compiler.{type CompiledPage} +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} import lustre/attribute.{attribute, class} import lustre/element.{text} import lustre/element/html.{article, div, h2, header} diff --git a/src/gloss/rendering/views/single_post.gleam b/src/scriptorium/rendering/views/single_post.gleam similarity index 89% rename from src/gloss/rendering/views/single_post.gleam rename to src/scriptorium/rendering/views/single_post.gleam index 8e2e461..30284b8 100644 --- a/src/gloss/rendering/views/single_post.gleam +++ b/src/scriptorium/rendering/views/single_post.gleam @@ -1,12 +1,12 @@ import gleam/list import gleam/option -import gloss/compiler.{type CompiledPost} -import gloss/config.{type Configuration} -import gloss/models/database.{type Database} -import gloss/models/post.{type Post} -import gloss/utils/date -import gloss/utils/luxon -import gloss/utils/time +import scriptorium/compiler.{type CompiledPost} +import scriptorium/config.{type Configuration} +import scriptorium/models/database.{type Database} +import scriptorium/models/post.{type Post} +import scriptorium/utils/date +import scriptorium/utils/luxon +import scriptorium/utils/time import lustre/attribute.{attribute, class, href} import lustre/element.{type Element, text} import lustre/element/html.{ diff --git a/src/gloss/utils/date.gleam b/src/scriptorium/utils/date.gleam similarity index 98% rename from src/gloss/utils/date.gleam rename to src/scriptorium/utils/date.gleam index 5c60979..e44ee46 100644 --- a/src/gloss/utils/date.gleam +++ b/src/scriptorium/utils/date.gleam @@ -2,7 +2,7 @@ import gleam/bool import gleam/int import gleam/order.{type Order, Eq} import gleam/string -import gloss/utils/ints/day.{type Day} +import scriptorium/utils/ints/day.{type Day} pub type Month { Jan diff --git a/src/gloss/utils/ints/day.gleam b/src/scriptorium/utils/ints/day.gleam similarity index 100% rename from src/gloss/utils/ints/day.gleam rename to src/scriptorium/utils/ints/day.gleam diff --git a/src/gloss/utils/ints/hour.gleam b/src/scriptorium/utils/ints/hour.gleam similarity index 100% rename from src/gloss/utils/ints/hour.gleam rename to src/scriptorium/utils/ints/hour.gleam diff --git a/src/gloss/utils/ints/minute.gleam b/src/scriptorium/utils/ints/minute.gleam similarity index 100% rename from src/gloss/utils/ints/minute.gleam rename to src/scriptorium/utils/ints/minute.gleam diff --git a/src/gloss/utils/luxon.gleam b/src/scriptorium/utils/luxon.gleam similarity index 89% rename from src/gloss/utils/luxon.gleam rename to src/scriptorium/utils/luxon.gleam index 6082731..42cfcb3 100644 --- a/src/gloss/utils/luxon.gleam +++ b/src/scriptorium/utils/luxon.gleam @@ -1,7 +1,7 @@ //// Bindings to the Luxon library. -import gloss/utils/date.{type Date} -import gloss/utils/time.{type Time} +import scriptorium/utils/date.{type Date} +import scriptorium/utils/time.{type Time} /// Luxon DateTime. pub type DateTime diff --git a/src/gloss/utils/marked.gleam b/src/scriptorium/utils/marked.gleam similarity index 95% rename from src/gloss/utils/marked.gleam rename to src/scriptorium/utils/marked.gleam index baf01ef..8b65a09 100644 --- a/src/gloss/utils/marked.gleam +++ b/src/scriptorium/utils/marked.gleam @@ -1,6 +1,6 @@ //// Bindings to the marked.js library. -import gloss/internal/utils/object.{type Object} +import scriptorium/internal/utils/object.{type Object} /// Marked.js options object. pub type Options = diff --git a/src/gloss/utils/ordered_tree.gleam b/src/scriptorium/utils/ordered_tree.gleam similarity index 100% rename from src/gloss/utils/ordered_tree.gleam rename to src/scriptorium/utils/ordered_tree.gleam diff --git a/src/gloss/utils/priv.gleam b/src/scriptorium/utils/priv.gleam similarity index 50% rename from src/gloss/utils/priv.gleam rename to src/scriptorium/utils/priv.gleam index fd2f897..d5f70ac 100644 --- a/src/gloss/utils/priv.gleam +++ b/src/scriptorium/utils/priv.gleam @@ -1,8 +1,8 @@ import gleam/uri -import gloss/internal/utils/meta_url -import gloss/internal/utils/path +import scriptorium/internal/utils/meta_url +import scriptorium/internal/utils/path -/// Get the path to the `priv` directory of `gloss`. +/// Get the path to the `priv` directory of `scriptorium`. pub fn path() -> String { let assert Ok(meta_url) = uri.parse(meta_url.get()) diff --git a/src/gloss/utils/time.gleam b/src/scriptorium/utils/time.gleam similarity index 92% rename from src/gloss/utils/time.gleam rename to src/scriptorium/utils/time.gleam index f1613ef..bd55771 100644 --- a/src/gloss/utils/time.gleam +++ b/src/scriptorium/utils/time.gleam @@ -1,8 +1,8 @@ import gleam/int import gleam/order.{type Order, Eq} import gleam/string -import gloss/utils/ints/hour.{type Hour} -import gloss/utils/ints/minute.{type Minute} +import scriptorium/utils/ints/hour.{type Hour} +import scriptorium/utils/ints/minute.{type Minute} pub type Time { Time(hours: Hour, minutes: Minute) diff --git a/src/gloss/utils/uniqid.gleam b/src/scriptorium/utils/uniqid.gleam similarity index 100% rename from src/gloss/utils/uniqid.gleam rename to src/scriptorium/utils/uniqid.gleam diff --git a/src/gloss/writer.gleam b/src/scriptorium/writer.gleam similarity index 93% rename from src/gloss/writer.gleam rename to src/scriptorium/writer.gleam index a539382..c5bc2cb 100644 --- a/src/gloss/writer.gleam +++ b/src/scriptorium/writer.gleam @@ -4,9 +4,9 @@ import gleam/dict import gleam/list import gleam/result import gleam/string -import gloss/config.{type Configuration, WriteError} -import gloss/rendering/database.{type RenderDatabase} as _ -import gloss/utils/priv +import scriptorium/config.{type Configuration, WriteError} +import scriptorium/rendering/database.{type RenderDatabase} as _ +import scriptorium/utils/priv import lustre/element import lustre/ssg import lustre/ssg/xml