diff --git a/.github/workflows/build-site.yml b/.github/workflows/build-site.yml new file mode 100644 index 0000000..96d0b61 --- /dev/null +++ b/.github/workflows/build-site.yml @@ -0,0 +1,49 @@ +# For this to work, the Source for GitHub Pages needs to be set to GitHub Actions +# This setting is in Settings -> Pages on the repo GitHub page + +name: Build site + +'on': + workflow_dispatch: {} + push: + branches: [ main ] + paths: + - src/** + - data/** + - queries/** + - _config.ts + - deno.json + - .github/workflows/build-site.yml + +jobs: + # Build job + build: + runs-on: ubuntu-latest + + steps: + - name: Build the site + uses: dringtech/lume-build@v2 + + # Deploy job + deploy: + # Add a dependency to the build job + needs: build + + # Grant GITHUB_TOKEN the permissions required to make a Pages deployment + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + # Deploy to the github-pages environment + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + # Specify runner + deployment step + # You need to set up GitHub Pages to deploy from an action + # See https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow for documentation + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..9ff61fe --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# lume-expo + +This repository is meant as a showcase of useful techniques in building data-intensive Lume sites. +It contains code comments to act as a kind of `living document`. + +**Note** The styling of the generated site is currently purposefully generic, using the Water.css +styles to ensure that the harvested assets do not rely on inherited styling, but stand on their own. \ No newline at end of file diff --git a/_config.ts b/_config.ts index 2615d44..62e5d14 100644 --- a/_config.ts +++ b/_config.ts @@ -2,6 +2,7 @@ import lume from "lume/mod.ts"; import postcss from "lume/plugins/postcss.ts"; import prism from "lume/plugins/prism.ts"; +import basePath from "lume/plugins/base_path.ts"; /** * Import languages @@ -14,6 +15,8 @@ import { duckDbLoader, resultTable } from "jsr:@dringtech/lume-duck@0.1.2"; const site = lume({ // Set the source directory src: "src", + // Set the hosting location + location: new URL('https://open-innovations.github.io/lume-expo'), }); /** @@ -43,4 +46,12 @@ site.loadData( ); site.filter("resultTable", resultTable); +/** + * The `base_path` plugin prefixes URLs in the generated site with a path derived from + * the `location` setting confiured when the `site` object is created. + * + * See https://lume.land/plugins/base_path/ + */ +site.use(basePath()) + export default site;