diff --git a/.bundle/config b/.bundle/config deleted file mode 100644 index 9bc01b4c..00000000 --- a/.bundle/config +++ /dev/null @@ -1,3 +0,0 @@ ---- -BUNDLE_PATH: "vendor/bundle" -BUNDLE_DISABLE_SHARED_GEMS: "true" diff --git a/.envrc b/.envrc deleted file mode 100644 index 3550a30f..00000000 --- a/.envrc +++ /dev/null @@ -1 +0,0 @@ -use flake diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 9ac02859..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,2 +0,0 @@ -# Announcing official Typelevel events requires explicit mod approval -/collections/_events/ @typelevel/steering diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index e5903e0b..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: 2 -updates: -- package-ecosystem: github-actions - directory: "/" - schedule: - interval: weekly diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fb69b063..9e6ccd3f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,20 +1,30 @@ -name: nix-flake-check +name: Continuous Integration on: pull_request: + branches: ['**'] push: - branches: - - main - - reboot + branches: ['main'] jobs: build: + name: Build and Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6.0.1 - - - name: "Install Nix️" - uses: samueldr/lix-gha-installer-action@v1 - - - name: "Nix Flake Check" - run: nix -L flake check + - uses: actions/checkout@v6 + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 25 + - uses: coursier/cache-action@v6 + - uses: VirtusLab/scala-cli-setup@main + with: + scala-cli-version: 1.12.2 + - run: scala-cli fmt --check . + - run: scala-cli --server=false build.scala + - if: github.event_name != 'pull_request' + uses: peaceiris/actions-gh-pages@v4.0.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: target + cname: typelevel.org diff --git a/.gitignore b/.gitignore index c1184a03..1ef06c8e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,17 +4,3 @@ .vscode target/ - -_site -*.sw? -.idea -/vendor/bundle -css/main.css -.sass-cache -target -.deploy -.jekyll-metadata -.jekyll-cache/ -.metals -.DS_Store -.direnv/ diff --git a/.scalafmt.conf b/.scalafmt.conf new file mode 100644 index 00000000..c0db800d --- /dev/null +++ b/.scalafmt.conf @@ -0,0 +1,2 @@ +version = "3.10.0" +runner.dialect = scala3 \ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index 8442604a..00000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -typelevel.org \ No newline at end of file diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 0c11fce1..00000000 --- a/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -source "https://rubygems.org" - -gem "jekyll", "~> 4.2" - -group :jekyll_plugins do - gem "jekyll-paginate" - gem "jekyll-feed" - end - -gem "webrick", "~> 1.8" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 4c45d681..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,79 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - colorator (1.1.0) - concurrent-ruby (1.1.9) - em-websocket (0.5.3) - eventmachine (>= 0.12.9) - http_parser.rb (~> 0) - eventmachine (1.2.7) - ffi (1.15.4) - forwardable-extended (2.6.0) - http_parser.rb (0.8.0) - i18n (1.8.11) - concurrent-ruby (~> 1.0) - jekyll (4.2.1) - addressable (~> 2.4) - colorator (~> 1.0) - em-websocket (~> 0.5) - i18n (~> 1.0) - jekyll-sass-converter (~> 2.0) - jekyll-watch (~> 2.0) - kramdown (~> 2.3) - kramdown-parser-gfm (~> 1.0) - liquid (~> 4.0) - mercenary (~> 0.4.0) - pathutil (~> 0.9) - rouge (~> 3.0) - safe_yaml (~> 1.0) - terminal-table (~> 2.0) - jekyll-feed (0.15.1) - jekyll (>= 3.7, < 5.0) - jekyll-paginate (1.1.0) - jekyll-sass-converter (2.1.0) - sassc (> 2.0.1, < 3.0) - jekyll-watch (2.2.1) - listen (~> 3.0) - kramdown (2.3.1) - rexml - kramdown-parser-gfm (1.1.0) - kramdown (~> 2.0) - liquid (4.0.3) - listen (3.7.0) - rb-fsevent (~> 0.10, >= 0.10.3) - rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.4.0) - pathutil (0.16.2) - forwardable-extended (~> 2.6) - public_suffix (4.0.6) - rb-fsevent (0.11.0) - rb-inotify (0.10.1) - ffi (~> 1.0) - rexml (3.3.9) - rouge (3.26.1) - safe_yaml (1.0.5) - sassc (2.4.0) - ffi (~> 1.9) - terminal-table (2.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) - unicode-display_width (1.8.0) - webrick (1.8.2) - -PLATFORMS - arm64-darwin-21 - arm64-darwin-24 - x86_64-darwin-17 - x86_64-darwin-18 - x86_64-darwin-21 - x86_64-linux - -DEPENDENCIES - jekyll (~> 4.2) - jekyll-feed - jekyll-paginate - webrick (~> 1.8) - -BUNDLED WITH - 2.5.22 diff --git a/README.md b/README.md index afa167e5..f5a67f68 100644 --- a/README.md +++ b/README.md @@ -1,163 +1,73 @@ -typelevel website -================= +# typelevel.org -This is the website of typelevel.scala. It is built on Jekyll and served at [typelevel.org](https://typelevel.org). +This is the source of typelevel.org. It is built with [Laika] and deployed to GitHub Pages. -## Getting Started (the short version) +## Get Started -If you just want to add a blog post or fix a typo in the content, here's how to get started. +To work on the website, you will need: +* Scala 3.5 or later +* Java 21 or later -### Creating a blog post +### Preview Server -1. Create a new file in the [`./collections/_posts`](./collections/_posts/) directory or copy an existing post. Its name should have the format `YYYY-MM-DD-short_title.md`. -2. Set the `title` (short title of the post, appears as the HTML `
{{site.data.cta.blogDescription}}
- {% include _contact-btn.html %} -{{site.data.cta.conductDescription}}
- {% for item in site.data.nav-scala %} - {% if item.title == "Code of Conduct" %} - Read full Code of Conduct - {% endif %} - {% endfor %} -Are you interested in working on a GSoC project with Typelevel mentors?
- - send us an email -{{site.data.cta.steeringDescription}}
- {% for item in site.data.nav-scala %} - {% if item.title == "Steering Committee" %} - - {% endif %} - {% endfor %} -{{ project.description | markdownify }}
- -{{ project.prereqs | markdownify }}
- -{{ project.difficulty | markdownify }}
- -- {% if project.length == "short" %} - Short (~ 90 hours) - {% elsif project.length == "medium" %} - Medium (~ 175 hours) - {% elsif project.length == "long" %} - Long (~ 350 hours) - {% endif %} -
- -- {% for mentor in project.mentors %} - @{{ mentor }} - {% endfor %} -
- -- {% for repolink in project.repolinks %} - {{ repolink.name }} - {% endfor %} -
-{{ category }}
- {% endfor %} -{{ project.description }}
-{{ project.categories | join: " / "}}
-