diff --git a/.forgejo/workflows/docs.yml b/.forgejo/workflows/docs.yml deleted file mode 100644 index a3a96a3..0000000 --- a/.forgejo/workflows/docs.yml +++ /dev/null @@ -1,17 +0,0 @@ -on: - push: - branches: - - main - -jobs: - build: - runs-on: selfhosted - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Install dependencies - run: bundle install - - name: Build documentation - run: bundle exec ruby docs/build.rb - - name: Publish site - run: cp -rfv _build/* /srv/docs/phlexite/ diff --git a/.forgejo/workflows/gem-push.yml b/.forgejo/workflows/gem-push.yml deleted file mode 100644 index 46ed5a0..0000000 --- a/.forgejo/workflows/gem-push.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Ruby Gem - -on: - push: - tags: ["*"] - -jobs: - build: - name: Build + Publish - runs-on: docs - permissions: - contents: read - packages: write - - steps: - - uses: actions/checkout@v4 - - name: Set up Ruby 3.3 - # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, - # change this to (see https://github.com/ruby/setup-ruby#versioning): - # uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 - with: - ruby-version: 3.3.x - - - name: Publish to GPR - run: | - mkdir -p $HOME/.gem - touch $HOME/.gem/credentials - chmod 0600 $HOME/.gem/credentials - printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - gem build *.gemspec - gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem - env: - GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}" - OWNER: ${{ github.repository_owner }} - - - name: Publish to RubyGems - run: | - mkdir -p $HOME/.gem - touch $HOME/.gem/credentials - chmod 0600 $HOME/.gem/credentials - printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - gem build *.gemspec - gem push *.gem - env: - GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}" diff --git a/.forgejo/workflows/main.yml b/.forgejo/workflows/main.yml deleted file mode 100644 index 9a0b5a8..0000000 --- a/.forgejo/workflows/main.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Ruby - -on: - push: - branches: - - main - - pull_request: - -jobs: - build: - runs-on: docker - name: Ruby ${{ matrix.ruby }} - strategy: - matrix: - ruby: - - "3.3.5" - - steps: - - uses: actions/checkout@v4 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - bundler-cache: true - - name: Run the default task - run: bundle exec rake diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..b131488 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,27 @@ +name: Ruby + +on: + push: + branches: + - main + + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + name: Ruby ${{ matrix.ruby }} + strategy: + matrix: + ruby: + - '3.3.5' + + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Run the default task + run: bundle exec rake diff --git a/.gitignore b/.gitignore index dea589d..9106b2a 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,3 @@ /pkg/ /spec/reports/ /tmp/ -_build/ diff --git a/Gemfile b/Gemfile index 824b40d..06ed10c 100644 --- a/Gemfile +++ b/Gemfile @@ -11,6 +11,6 @@ gem "minitest", "~> 5.16" gem "standard", "~> 1.3" -gem "phlex", "~> 2.3" +gem "phlex", "~> 1.11" -gem "steep", "~> 1.7", group: :development +gem "steep", "~> 1.7", :group => :development diff --git a/Gemfile.lock b/Gemfile.lock index ba33887..111c7f3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - phlexite (0.1.3) + phlexite (0.1.0) GEM remote: https://rubygems.org/ @@ -26,7 +26,6 @@ GEM drb (2.2.1) ffi (1.17.0) ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x64-mingw-ucrt) fileutils (1.7.2) i18n (1.14.5) concurrent-ruby (~> 1.0) @@ -108,7 +107,6 @@ GEM PLATFORMS arm64-darwin-23 ruby - x64-mingw-ucrt DEPENDENCIES minitest (~> 5.16) diff --git a/Steepfile b/Steepfile index ee191dc..752f598 100644 --- a/Steepfile +++ b/Steepfile @@ -6,7 +6,6 @@ target :lib do check "lib" # Directory name # ignore "lib/templates/*.rb" - library "fileutils" # library "pathname" # Standard libraries # library "strong_json" # Gems # library "phlex" diff --git a/docs/build.rb b/docs/build.rb deleted file mode 100644 index 5b57a00..0000000 --- a/docs/build.rb +++ /dev/null @@ -1,13 +0,0 @@ -require_relative '../lib/phlexite' -require 'phlex' - -module Phlexite - module Docs end -end - -require_relative 'pages/layout' -require_relative 'pages/index' - -Phlexite::Site.new { |s| - s.page 'index.html', Phlexite::Docs::Pages::Index.new -} diff --git a/docs/pages/index.rb b/docs/pages/index.rb deleted file mode 100644 index c841521..0000000 --- a/docs/pages/index.rb +++ /dev/null @@ -1,10 +0,0 @@ -module Phlexite::Docs::Pages - class Index < ::Phlex::HTML - def view_template - render Layout.new { - h1 { 'Phlexite' } - p { 'Phlexite is a simple static site generator for Ruby.' } - } - end - end -end \ No newline at end of file diff --git a/docs/pages/layout.rb b/docs/pages/layout.rb deleted file mode 100644 index 4fbf287..0000000 --- a/docs/pages/layout.rb +++ /dev/null @@ -1,29 +0,0 @@ -module Phlexite::Docs::Pages - class Layout < ::Phlex::HTML - def view_template - doctype - html { - head { - meta charset: 'utf-8' - - meta name: 'viewport', content: 'width=device-width, initial-scale=1.0' - title { "Phlexite" } - - link rel: 'stylesheet', href: 'https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css' - } - body(style: "padding: 0; margin: 0; display: flex; flex-direction: row; height: 100vh; width: 100vw;") { - aside(style: 'padding: 30px; min-width: 15%; border-right: 1px solid #6F7887;') { - nav { - ul { - li { a(href: '/') { 'Home' } } - } - } - } - div(class: 'container', style: 'padding: 20px') { - yield - } - } - } - end - end -end \ No newline at end of file diff --git a/lib/phlexite.rb b/lib/phlexite.rb index 47e14a6..3d1be3f 100644 --- a/lib/phlexite.rb +++ b/lib/phlexite.rb @@ -1,9 +1,7 @@ # frozen_string_literal: true +require_relative "phlexite/version" + module Phlexite class Error < StandardError; end end - -require_relative "phlexite/version" -require_relative "phlexite/router" -require_relative "phlexite/site" diff --git a/lib/phlexite/router.rb b/lib/phlexite/router.rb index 1c2f5b9..bdea7ac 100644 --- a/lib/phlexite/router.rb +++ b/lib/phlexite/router.rb @@ -1,5 +1,3 @@ -require "fileutils" - class Phlexite::Router def initialize(base, site) @base = base @@ -7,25 +5,19 @@ class Phlexite::Router end def group(new_base) - router = Phlexite::Router.new(File.join(@base, new_base), @site) + router = Phlexite::Router.new(File::join(@base, new_base), @site) yield router end def page(out_path, component) out = full_out_path(out_path) - FileUtils.mkdir_p File.dirname(out) - File.write(out, component.call) + system("mkdir -p #{File::dirname(out)}") + File::write(out, component.call) end - def mount(local_directory, on:) - out = full_out_path(on) - FileUtils.mkdir_p out - FileUtils.cp_r File.join(local_directory, "."), out - end - - private +private def full_out_path(out_path) - File.join(@site.build_dir, @site.base_url, @base, out_path) + File::join(@site.build_dir, @site.base_url, @base, out_path) end end diff --git a/lib/phlexite/site.rb b/lib/phlexite/site.rb index 21ef3a1..5232f8c 100644 --- a/lib/phlexite/site.rb +++ b/lib/phlexite/site.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require_relative "router" +require_relative 'router.rb' class Phlexite::Site < Phlexite::Router attr_accessor :build_dir, :base_url diff --git a/lib/phlexite/version.rb b/lib/phlexite/version.rb index c991db2..3eb4656 100644 --- a/lib/phlexite/version.rb +++ b/lib/phlexite/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Phlexite - VERSION = "0.1.3" + VERSION = "0.1.0" end diff --git a/sig/phlexite.rbs b/sig/phlexite.rbs index 3710de4..5eedd1f 100644 --- a/sig/phlexite.rbs +++ b/sig/phlexite.rbs @@ -8,7 +8,6 @@ module Phlexite def initialize: (String, Site) -> void def page: (String, untyped) -> void def group: (String) { (Router) -> void } -> void - def mount: (String, on: String) -> void private def full_out_path: (String) -> String diff --git a/test/test_phlexite.rb b/test/test_phlexite.rb index 703d7ed..5925c5e 100644 --- a/test/test_phlexite.rb +++ b/test/test_phlexite.rb @@ -10,12 +10,4 @@ class TestPhlexite < Minitest::Test def test_it_does_something_useful assert true end - - def test_that_site_is_defined - assert !::Phlexite::Site.nil? - end - - def test_that_router_is_defined - assert !::Phlexite::Router.nil? - end end