https://github.com/acdh-oeaw/voice-website

VOICE website

https://github.com/acdh-oeaw/voice-website

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.9%) to scientific vocabulary

Keywords

frontend
Last synced: 6 months ago · JSON representation

Repository

VOICE website

Basic Info
Statistics
  • Stars: 0
  • Watchers: 7
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
frontend
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme License

readme.md

voice website

website for the voice project.

how to run

prerequisites:

[!TIP]

you can use pnpm to install the required node.js version with pnpm env use 20 --global

set required environment variables in .env.local:

bash cp .env.local.example .env.local

adjust environment variables in .github/workflows/validate.yml and .github/workflows/build-deploy.yml.

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_URL and PUBLIC_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 to docker 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_SERVER and EMAIL_SMTP_PORT (required): which smtp server to use.
  • EMAIL_SMTP_USERNAME and EMAIL_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_NAMESPACE github variable to that namespace.
  • adjust the app_name, which will be the name of the deployment in the above namespace.
  • set the PUBLIC_URL github variable to the application's public url (e.g. "https://my-app.acdh-ch-dev.oeaw.ac.at"), and set the KUBE_INGRESS_BASE_DOMAIN to the public url's base domain (e.g. "acdh-ch-dev.oeaw.ac.at"). PUBLIC_URL should match PUBLIC_APP_BASE_URL.
  • if you haven't yet, create a service issue in the acdh-ch redmine issue tracker, and set the SERVICE_ID github variable to the issue number. this should match the PUBLIC_REDMINE_ID variable in your .env.local file.
  • ensure required build args (prefixed with PUBLIC_) are referenced in both the Dockerfile, 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 node server, which will serve pre-rendered pages, assets, and api routes. if you prefer a truly static build, which uses caddy as a fileserver, use the Dockerfile.static instead, and remove output: "hybrid" from astro.config.ts. you will also need to change the generate:search-index script to pagefind --site ./dist/.

Owner

  • Name: Austrian Centre for Digital Humanities & Cultural Heritage
  • Login: acdh-oeaw
  • Kind: organization
  • Email: acdh@oeaw.ac.at
  • Location: Vienna, Austria

GitHub Events

Total
  • Member event: 1
  • Push event: 5
  • Create event: 1
Last Year
  • Member event: 1
  • Push event: 5
  • Create event: 1

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total 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
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
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/build-deploy.yml actions
  • actions/cache v4 composite
  • 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
.github/workflows/validate.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
  • actions/upload-artifact v4 composite
  • pnpm/action-setup v4 composite
Dockerfile docker
  • base latest build
  • node 20-alpine build
package.json npm
  • @acdh-oeaw/eslint-config ^1.0.7 development
  • @acdh-oeaw/eslint-config-astro ^1.0.10 development
  • @acdh-oeaw/eslint-config-playwright ^1.0.7 development
  • @acdh-oeaw/eslint-config-react ^1.0.8 development
  • @acdh-oeaw/prettier-config ^2.0.0 development
  • @acdh-oeaw/stylelint-config ^2.0.1 development
  • @acdh-oeaw/tailwindcss-preset ^0.0.22 development
  • @acdh-oeaw/tsconfig ^1.0.2 development
  • @astrojs/check ^0.7.0 development
  • @astrojs/ts-plugin ^1.8.0 development
  • @playwright/test ^1.44.1 development
  • @types/hast ^3.0.4 development
  • @types/mdast ^4.0.4 development
  • @types/mdx ^2.0.13 development
  • @types/node ^20.14.2 development
  • @types/nodemailer ^6.4.15 development
  • @types/react ^18.3.3 development
  • @types/react-dom ^18.3.0 development
  • autoprefixer ^10.4.19 development
  • axe-core ^4.9.1 development
  • axe-playwright ^2.0.1 development
  • ci-info ^4.0.0 development
  • dotenv ^16.4.5 development
  • dotenv-expand ^11.0.6 development
  • eslint ^8.57.0 development
  • eslint-plugin-tailwindcss ^3.17.3 development
  • is-ci ^3.0.1 development
  • lint-staged ^15.2.5 development
  • npm-run-all2 ^6.2.0 development
  • postcss ^8.4.38 development
  • prettier ^3.3.1 development
  • prettier-plugin-astro ^0.14.0 development
  • schema-dts ^1.1.2 development
  • simple-git-hooks ^2.11.1 development
  • stylelint ^16.6.1 development
  • tailwindcss ^3.4.4 development
  • type-fest ^4.20.0 development
  • typescript ^5.4.5 development
  • @acdh-oeaw/lib ^0.1.12
  • @acdh-oeaw/validate-env ^0.0.3
  • @astrojs/mdx ^3.1.0
  • @astrojs/node ^8.2.5
  • @astrojs/react ^3.5.0
  • @astrojs/rss ^4.0.6
  • @astrojs/sitemap ^3.1.5
  • @floating-ui/dom ^1.6.5
  • @fontsource-variable/inter ^5.0.18
  • @iconify-json/lucide ^1.1.190
  • @keystatic/astro ^5.0.0
  • @keystatic/core ^0.5.19
  • @mdx-js/mdx ^3.0.1
  • @pagefind/default-ui ^1.1.0
  • @shikijs/rehype ^1.6.3
  • astro ^4.10.0
  • astro-icon ^1.1.0
  • cva ^1.0.0-beta.1
  • date-fns ^3.6.0
  • estree-util-value-to-estree ^3.1.1
  • hast-util-heading-rank ^3.0.0
  • hast-util-to-string ^3.0.0
  • lucide-react ^0.390.0
  • mdast-util-mdx-jsx ^3.1.2
  • nodemailer ^6.9.13
  • pagefind ^1.1.0
  • react ^18.3.1
  • react-dom ^18.3.1
  • rehype-mdx-import-media ^1.2.0
  • rehype-slug ^6.0.0
  • remark-frontmatter ^5.0.0
  • remark-gfm ^4.0.0
  • remark-mdx-frontmatter ^4.0.0
  • remark-smartypants ^3.0.1
  • retext-smartypants ^6.1.0
  • satori ^0.10.13
  • sharp ^0.33.4
  • shiki ^1.6.3
  • unified ^11.0.4
  • unist-util-visit ^5.0.0
  • valibot ^0.31.0
  • vfile ^6.0.1
  • vite ^5.2.13
pnpm-lock.yaml npm
  • 382 dependencies