mirror of
https://github.com/samsonjs/samhuri.net.git
synced 2026-04-11 11:35:53 +00:00
Move generator code under lib/pressa
This commit is contained in:
parent
bb3d698e27
commit
54a0543a7f
30 changed files with 59 additions and 54 deletions
|
|
@ -3,7 +3,7 @@
|
|||
## Project Structure & Module Organization
|
||||
This repository is a single Ruby static-site generator project (the legacy Swift generators were removed).
|
||||
|
||||
- Generator code: `lib/`
|
||||
- Generator code: `lib/pressa/` (entrypoint: `lib/pressa.rb`)
|
||||
- Build/deploy/draft tasks: `bake.rb`
|
||||
- Tests: `spec/`
|
||||
- Site config: `site.toml`, `projects.toml`
|
||||
|
|
@ -12,7 +12,7 @@ This repository is a single Ruby static-site generator project (the legacy Swift
|
|||
- Draft posts: `public/drafts/`
|
||||
- Generated output: `www/` (safe to delete/regenerate)
|
||||
|
||||
Keep new code under the existing `Pressa` module structure (for example `lib/posts`, `lib/projects`, `lib/views`, `lib/config`, `lib/utils`) and add matching specs under `spec/`.
|
||||
Keep new code under the existing `Pressa` module structure (for example `lib/pressa/posts`, `lib/pressa/projects`, `lib/pressa/views`, `lib/pressa/config`, `lib/pressa/utils`) and add matching specs under `spec/`.
|
||||
|
||||
## Setup, Build, Test, and Development Commands
|
||||
- Use `rbenv exec` for Ruby commands in this repository (for example `rbenv exec bundle exec ...`) to ensure the project Ruby version is used.
|
||||
|
|
|
|||
5
bake.rb
5
bake.rb
|
|
@ -5,6 +5,9 @@ require "fileutils"
|
|||
require "open3"
|
||||
require "tmpdir"
|
||||
|
||||
LIB_PATH = File.expand_path("lib", __dir__).freeze
|
||||
$LOAD_PATH.unshift(LIB_PATH) unless $LOAD_PATH.include?(LIB_PATH)
|
||||
|
||||
DRAFTS_DIR = "public/drafts".freeze
|
||||
PUBLISH_HOST = "mudge".freeze
|
||||
PRODUCTION_PUBLISH_DIR = "/var/www/samhuri.net/public".freeze
|
||||
|
|
@ -358,7 +361,7 @@ end
|
|||
# Build the site with specified URL
|
||||
# @parameter url [String] The site URL to use
|
||||
def build(url)
|
||||
require_relative "lib/pressa"
|
||||
require "pressa"
|
||||
|
||||
puts "Building site for #{url}..."
|
||||
site = Pressa.create_site(source_path: ".", url_override: url)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
require_relative "site"
|
||||
require_relative "site_generator"
|
||||
require_relative "plugin"
|
||||
require_relative "posts/plugin"
|
||||
require_relative "projects/plugin"
|
||||
require_relative "utils/markdown_renderer"
|
||||
require_relative "config/loader"
|
||||
require "pressa/site"
|
||||
require "pressa/site_generator"
|
||||
require "pressa/plugin"
|
||||
require "pressa/posts/plugin"
|
||||
require "pressa/projects/plugin"
|
||||
require "pressa/utils/markdown_renderer"
|
||||
require "pressa/config/loader"
|
||||
|
||||
module Pressa
|
||||
def self.create_site(source_path: ".", url_override: nil)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
require_relative "../site"
|
||||
require_relative "../posts/plugin"
|
||||
require_relative "../projects/plugin"
|
||||
require_relative "../utils/markdown_renderer"
|
||||
require_relative "simple_toml"
|
||||
require "pressa/site"
|
||||
require "pressa/posts/plugin"
|
||||
require "pressa/projects/plugin"
|
||||
require "pressa/utils/markdown_renderer"
|
||||
require "pressa/config/simple_toml"
|
||||
|
||||
module Pressa
|
||||
module Config
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "json"
|
||||
require_relative "../utils/file_writer"
|
||||
require_relative "../views/feed_post_view"
|
||||
require "pressa/utils/file_writer"
|
||||
require "pressa/views/feed_post_view"
|
||||
|
||||
module Pressa
|
||||
module Posts
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "dry-struct"
|
||||
require_relative "../site"
|
||||
require "pressa/site"
|
||||
|
||||
module Pressa
|
||||
module Posts
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
require_relative "../plugin"
|
||||
require_relative "repo"
|
||||
require_relative "writer"
|
||||
require_relative "json_feed"
|
||||
require_relative "rss_feed"
|
||||
require "pressa/plugin"
|
||||
require "pressa/posts/repo"
|
||||
require "pressa/posts/writer"
|
||||
require "pressa/posts/json_feed"
|
||||
require "pressa/posts/rss_feed"
|
||||
|
||||
module Pressa
|
||||
module Posts
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "kramdown"
|
||||
require_relative "models"
|
||||
require_relative "metadata"
|
||||
require "pressa/posts/models"
|
||||
require "pressa/posts/metadata"
|
||||
|
||||
module Pressa
|
||||
module Posts
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "builder"
|
||||
require_relative "../utils/file_writer"
|
||||
require_relative "../views/feed_post_view"
|
||||
require "pressa/utils/file_writer"
|
||||
require "pressa/views/feed_post_view"
|
||||
|
||||
module Pressa
|
||||
module Posts
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
require_relative "../utils/file_writer"
|
||||
require_relative "../views/layout"
|
||||
require_relative "../views/post_view"
|
||||
require_relative "../views/recent_posts_view"
|
||||
require_relative "../views/archive_view"
|
||||
require_relative "../views/year_posts_view"
|
||||
require_relative "../views/month_posts_view"
|
||||
require "pressa/utils/file_writer"
|
||||
require "pressa/views/layout"
|
||||
require "pressa/views/post_view"
|
||||
require "pressa/views/recent_posts_view"
|
||||
require "pressa/views/archive_view"
|
||||
require "pressa/views/year_posts_view"
|
||||
require "pressa/views/month_posts_view"
|
||||
|
||||
module Pressa
|
||||
module Posts
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "dry-struct"
|
||||
require_relative "../site"
|
||||
require "pressa/site"
|
||||
|
||||
module Pressa
|
||||
module Projects
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
require_relative "../plugin"
|
||||
require_relative "../utils/file_writer"
|
||||
require_relative "../views/layout"
|
||||
require_relative "../views/projects_view"
|
||||
require_relative "../views/project_view"
|
||||
require_relative "models"
|
||||
require "pressa/plugin"
|
||||
require "pressa/utils/file_writer"
|
||||
require "pressa/views/layout"
|
||||
require "pressa/views/projects_view"
|
||||
require "pressa/views/project_view"
|
||||
require "pressa/projects/models"
|
||||
|
||||
module Pressa
|
||||
module Projects
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "fileutils"
|
||||
require_relative "utils/file_writer"
|
||||
require "pressa/utils/file_writer"
|
||||
|
||||
module Pressa
|
||||
class SiteGenerator
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
require "kramdown"
|
||||
require "yaml"
|
||||
require_relative "file_writer"
|
||||
require_relative "../site"
|
||||
require_relative "../views/layout"
|
||||
require_relative "../views/icons"
|
||||
require "pressa/utils/file_writer"
|
||||
require "pressa/site"
|
||||
require "pressa/views/layout"
|
||||
require "pressa/views/icons"
|
||||
|
||||
module Pressa
|
||||
module Utils
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "year_posts_view"
|
||||
require "pressa/views/year_posts_view"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "icons"
|
||||
require "pressa/views/icons"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "post_view"
|
||||
require "pressa/views/post_view"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "icons"
|
||||
require "pressa/views/icons"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "icons"
|
||||
require "pressa/views/icons"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "icons"
|
||||
require "pressa/views/icons"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
require "phlex"
|
||||
require_relative "post_view"
|
||||
require "pressa/views/post_view"
|
||||
|
||||
module Pressa
|
||||
module Views
|
||||
|
|
@ -1,2 +1,4 @@
|
|||
require_relative "../lib/pressa"
|
||||
lib_path = File.expand_path("../lib", __dir__)
|
||||
$LOAD_PATH.unshift(lib_path) unless $LOAD_PATH.include?(lib_path)
|
||||
require "pressa"
|
||||
require "minitest/autorun"
|
||||
|
|
|
|||
Loading…
Reference in a new issue