https://github.com/acdh-oeaw/template-website-astro
Template repository for project websites
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Keywords
Repository
Template repository for project websites
Basic Info
Statistics
- Stars: 1
- Watchers: 5
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
readme.md
website template
template repository for project websites.
how to run
prerequisites:
[!TIP]
you can use
pnpmto install the required node.js version withpnpm env use 20 --global
set required environment variables in .env.local:
bash
cp .env.local.example .env.local
also, set environment variables required by validation and
deployment github actions. use
"variables" for
every environment variable prefixed with PUBLIC_, and
"secrets" for all
others.
the default template accepts the following variables:
PUBLIC_REDMINE_ID(required): service issue for this application in the acdh-ch redmine issue tracker.PUBLIC_APP_BASE_URL(required): the base url for this application. the default of "http://localhost:3000" should be fine for local development.PUBLIC_APP_BASE_PATH(optional): set this when deploying to a path other than "/".PUBLIC_BOTS(required): whether this website can be indexed by web crawlers like the google bot. supported values are "disabled" and "enabled", defaults to "disabled".PUBLIC_MATOMO_BASE_URLandPUBLIC_MATOMO_ID(optional): set these to support client-side analytics with matomo.PUBLIC_GOOGLE_SITE_VERIFICATION(optional): set this to verify site ownership for google search console.ENV_VALIDATION(optional): whether environment variables should be validated. supported values are "disabled", "enabled" and "public" (only validate public variables, which can be useful in a docker build context to avoid having to pass secrets todocker build), defaults to "enabled".
the email service can be configured with these environment variables:
EMAIL_CONTACT_ADDRESS(required): email will be sent to this address.EMAIL_SMTP_SERVERandEMAIL_SMTP_PORT(required): which smtp server to use.EMAIL_SMTP_USERNAMEandEMAIL_SMTP_PASSWORD(optional): not needed on acdh-ch infrastructure, can be useful for testing with e.e. https://ethereal.email.
when adding new environment variables, don't forget to add them to .env.local.example as well.
install dependencies:
bash
pnpm install
run a development server on http://localhost:3000:
bash
pnpm run dev
[!TIP]
this template supports developing in containers. when opening the project in your editor, you should be prompted to re-open it in a devcontainer.
how to edit content
use the admin ui at when developing locally http://localhost:3000/admin (this will save changes to the filesystem), or at https://template-website-astro.acdh-ch-dev.oeaw.ac.at/admin (this will commit changes to the github repository).
how to deploy
- ask a sysadmin to create a new acdh-ch kubernetes project.
- create a new namespace in that project via rancher, and set
the
KUBE_NAMESPACEgithub variable to that namespace. - adjust the
app_name, which will be the name of the deployment in the above namespace. - set the
PUBLIC_URLgithub variable to the application's public url (e.g. "https://my-app.acdh-ch-dev.oeaw.ac.at"), and set theKUBE_INGRESS_BASE_DOMAINto the public url's base domain (e.g. "acdh-ch-dev.oeaw.ac.at").PUBLIC_URLshould matchPUBLIC_APP_BASE_URL. - if you haven't yet, create a service issue in the acdh-ch
redmine issue tracker, and set the
SERVICE_IDgithub variable to the issue number. this should match thePUBLIC_REDMINE_IDvariable in your.env.localfile. - ensure required build args (prefixed with
PUBLIC_) are referenced in both theDockerfile, as well as the validation and deployment pipelines, and set as github variables. - ensure required runtime environment variables are referenced in the
validation and
deployment pipelines, and set as
github secrets.
github secrets need to be prefixed with
K8S_SECRET_to be automatically copied to the runtime environment. in case you need secrets in the docker build context, you can mount a secret in the Dockerfile. - ensure both the github repository, as well as the package registry is set to public.
if everything is set up correctly, every git push to the main branch will create a new deployment
if the validation pipeline passes.
you can reference the template repository for a working setup.
[!NOTE]
by default, this will deploy a
nodeserver, which will serve pre-rendered pages, assets, and api routes. if you prefer a truly static build, which usescaddyas a fileserver, use theDockerfile.staticinstead, and removeoutput: "hybrid"fromastro.config.ts. you will also need to change thegenerate:search-indexscript topagefind --site ./dist/.
Owner
- Name: Austrian Centre for Digital Humanities & Cultural Heritage
- Login: acdh-oeaw
- Kind: organization
- Email: acdh@oeaw.ac.at
- Location: Vienna, Austria
- Website: https://www.oeaw.ac.at/acdh
- Repositories: 476
- Profile: https://github.com/acdh-oeaw
GitHub Events
Total
- Push event: 15
Last Year
- Push event: 15
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 3
- Total pull requests: 0
- Average time to close issues: 41 minutes
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 1.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- cfhaak (3)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- docker/build-push-action v5 composite
- docker/login-action v3 composite
- docker/metadata-action v5 composite
- docker/setup-buildx-action v3 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/upload-artifact v3 composite
- node 20-slim build
- @acdh-oeaw/eslint-config ^1.0.5 development
- @acdh-oeaw/eslint-config-astro ^1.0.6 development
- @acdh-oeaw/eslint-config-playwright ^1.0.5 development
- @acdh-oeaw/prettier-config ^1.0.1 development
- @acdh-oeaw/stylelint-config ^1.0.6 development
- @acdh-oeaw/tailwindcss-preset ^0.0.17 development
- @acdh-oeaw/tsconfig ^1.0.1 development
- @astrojs/check ^0.3.1 development
- @astrojs/markdoc ^0.7.1 development
- @astrojs/mdx ^1.1.4 development
- @astrojs/rss ^3.0.0 development
- @astrojs/sitemap ^3.0.3 development
- @astrojs/ts-plugin ^1.3.1 development
- @axe-core/playwright ^4.8.1 development
- @playwright/test ^1.39.0 development
- @types/dlv ^1.1.4 development
- @types/node ^20.9.0 development
- @types/react ^18.2.37 development
- @types/react-dom ^18.2.15 development
- autoprefixer ^10.4.16 development
- ci-info ^4.0.0 development
- eslint ^8.53.0 development
- eslint-plugin-tailwindcss ^3.13.0 development
- is-ci ^3.0.1 development
- lint-staged ^15.0.2 development
- npm-run-all2 ^6.1.1 development
- postcss ^8.4.31 development
- postcss-nesting ^12.0.1 development
- prettier ^3.0.3 development
- prettier-plugin-astro ^0.12.1 development
- schema-dts ^1.1.2 development
- simple-git-hooks ^2.9.0 development
- stylelint ^15.11.0 development
- tailwindcss ^3.3.5 development
- typescript ^5.2.2 development
- @acdh-oeaw/lib ^0.1.6
- @astrojs/node ^6.0.3
- @astrojs/react ^3.0.4
- @fontsource-variable/roboto-flex ^5.0.8
- @iconify-json/lucide ^1.1.141
- @keystatic/astro ^2.0.0
- @keystatic/core ^0.2.1
- @pagefind/default-ui ^1.0.3
- @t3-oss/env-core ^0.7.1
- astro ^3.5.0
- astro-icon ^1.0.0-next.2
- cva ^1.0.0-beta.1
- date-fns ^2.30.0
- dlv ^1.1.3
- pagefind ^1.0.3
- react ^18.2.0
- react-dom ^18.2.0
- templite ^1.2.0
- vite ^4.5.0
- zod ^3.22.4
- 1241 dependencies