Skip to content

Commit

Permalink
feat: rewrite to next app router and keystatic cms (#221)
Browse files Browse the repository at this point in the history
TODO:
- [ ] styles: callout dark mode, code block light mode, quiz controls
- [ ] mobile nav
- [x] smartypants
- [ ] pagination
- [ ] table of contents
- [ ] xml editor for quiz (do we actually need it? currently only used
once, in corpus-query-language - question removed for now)
- [ ] render quiz questions, answers and messages as mdx
- [ ] i18n for quiz button labels, and footnotes section title label
- [x] migrate asset paths (images, downloads)
- [ ] cms previews for custom components
- [x] next.js draft mode with mdx evaluate
- [x] sitemap
- [ ] rss feed
- [x] api for metadata dump
- [ ] search via typesense
- [ ] velite / contentlayer

UPSTREAM:
- [x] table saving does not work in keystatic mdx field
- [x] footnotes are not supported in keystatic mdx field - solved with
custom mdx components
  • Loading branch information
stefanprobst authored Mar 14, 2024
1 parent 09d4570 commit 2929c7a
Show file tree
Hide file tree
Showing 736 changed files with 21,024 additions and 27,897 deletions.
19 changes: 19 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "Next.js",
"image": "ghcr.io/acdh-oeaw/devcontainer-frontend:20",
"customizations": {
"vscode": {
"extensions": [
"bradlc.vscode-tailwindcss",
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig",
"esbenp.prettier-vscode",
"lokalise.i18n-ally",
"mikestead.dotenv",
"ms-playwright.playwright",
"stylelint.vscode-stylelint",
"unifiedjs.vscode-mdx"
]
}
}
}
127 changes: 55 additions & 72 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,84 +1,67 @@
# git
# .git # currently needed for last updated timestamps - should get them via github api so .git folder can be ignored
.gitignore

# github
.github
CODEOWNERS

# vscode settings
.vscode
## .gitignore ##

# dependencies
/node_modules
/.pnp
.pnp.js
node_modules/
.pnpm-store/

# testing
/coverage
# logs
*.log

# next.js
/.next/
/out/
# non-public environment variables
.env.local
.env.*.local

# production
/build
# caches
.eslintcache
.stylelintcache
*.tsbuildinfo

# vercel
.vercel

# misc
.DS_Store
*.pem
.idea/

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# next.js
.next/
next-env.d.ts
out/

# local env files
.env.local
.env.development.local
.env.test.local
.env.production.local
# test
/coverage/

# vercel
.vercel
# playwright
/blob-report/
/playwright/.cache/
/playwright-report/
/test-results/

# caches
.eslintcache
.stylelintcache
.tsbuildinfo

# storybook
/storybook-static

# auto-generated favicons
public/android-chrome-192x192.png
public/android-chrome-512x512.png
public/apple-touch-icon.png
public/favicon-16x16.png
public/favicon-32x32.png
public/favicon.ico
public/site.webmanifest
public/open-graph.webp
public/de/android-chrome-192x192.png
public/de/android-chrome-512x512.png
public/de/apple-touch-icon.png
public/de/favicon-16x16.png
public/de/favicon-32x32.png
public/de/favicon.ico
public/de/site.webmanifest
public/de/open-graph.webp

# auto-generated artefacts
public/feed.xml
public/robots.txt
public/sitemap.xml

# auto-generated css for cms preview
public/assets/css/index.css
public/assets/css/tailwind.css

# auto-generated redirects
redirects.*.json

# auto-generated metadata dump
public/metadata/*.json
# generated metadata
/public/metadata/


## .dockerignore ##

# git
.git/
.gitattributes
.gitignore

# github
.github/

# vscode settings
.vscode/

# environment variables
.env
.env.*

# tests
playwright.config.ts
/e2e/
/test/

# misc
.editorconfig
12 changes: 8 additions & 4 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = tab
insert_final_newline = true
max_line_length = 100
trim_trailing_whitespace = true
insert_final_newline = true

[*.{yaml,yml}]
indent_style = space
35 changes: 35 additions & 0 deletions .env.local.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# -------------------------------------------------------------------------------------------------
# app
# -------------------------------------------------------------------------------------------------
NEXT_PUBLIC_APP_BASE_URL="http://localhost:3000"
# imprint service
NEXT_PUBLIC_REDMINE_ID="19273"
# web crawlers
NEXT_PUBLIC_BOTS="disabled"

# -------------------------------------------------------------------------------------------------
# analytics
# -------------------------------------------------------------------------------------------------
# NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION=
NEXT_PUBLIC_MATOMO_BASE_URL="https://matomo.acdh.oeaw.ac.at"
# NEXT_PUBLIC_MATOMO_ID=

# -------------------------------------------------------------------------------------------------
# keystatic cms
# -------------------------------------------------------------------------------------------------
# KEYSTATIC_GITHUB_CLIENT_ID=
# KEYSTATIC_GITHUB_CLIENT_SECRET=
# KEYSTATIC_SECRET=
# NEXT_PUBLIC_KEYSTATIC_GITHUB_APP_SLUG=
# NEXT_PUBLIC_KEYSTATIC_GITHUB_REPO_NAME="howto"
# NEXT_PUBLIC_KEYSTATIC_GITHUB_REPO_OWNER="acdh-oeaw"
# NEXT_PUBLIC_KEYSTATIC_MODE="github"

# -------------------------------------------------------------------------------------------------
# typesense
# -------------------------------------------------------------------------------------------------
NEXT_PUBLIC_TYPESENSE_API_KEY=
NEXT_PUBLIC_TYPESENSE_HOST=
NEXT_PUBLIC_TYPESENSE_PORT=
NEXT_PUBLIC_TYPESENSE_PROTOCOL=
TYPESENSE_ADMIN_API_KEY=
1 change: 0 additions & 1 deletion .env.production

This file was deleted.

22 changes: 0 additions & 22 deletions .env.production.local.example

This file was deleted.

Loading

0 comments on commit 2929c7a

Please sign in to comment.