{"id":47607378,"url":"https://github.com/slsfi/digital-edition-frontend-ng","last_synced_at":"2026-04-20T06:11:35.815Z","repository":{"id":210897064,"uuid":"727661034","full_name":"slsfi/digital-edition-frontend-ng","owner":"slsfi","description":"Angular frontend app for the SLS Digital Edition Platform","archived":false,"fork":false,"pushed_at":"2026-03-30T10:10:33.000Z","size":15935,"stargazers_count":0,"open_issues_count":3,"forks_count":11,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-30T10:25:51.892Z","etag":null,"topics":["angular","digital-edition","digital-humanities","frontend","ionic","web"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slsfi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-12-05T10:14:28.000Z","updated_at":"2026-03-30T10:09:31.000Z","dependencies_parsed_at":"2024-02-19T09:34:22.253Z","dependency_job_id":"1ddaa436-ca12-40e2-888a-3c9d95b52d80","html_url":"https://github.com/slsfi/digital-edition-frontend-ng","commit_stats":null,"previous_names":["slsfi/digital-edition-frontend-ng"],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/slsfi/digital-edition-frontend-ng","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slsfi%2Fdigital-edition-frontend-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slsfi%2Fdigital-edition-frontend-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slsfi%2Fdigital-edition-frontend-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slsfi%2Fdigital-edition-frontend-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slsfi","download_url":"https://codeload.github.com/slsfi/digital-edition-frontend-ng/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slsfi%2Fdigital-edition-frontend-ng/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","digital-edition","digital-humanities","frontend","ionic","web"],"created_at":"2026-04-01T19:35:53.131Z","updated_at":"2026-04-01T19:35:55.178Z","avatar_url":"https://github.com/slsfi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frontend App of the SLS Digital Edition Platform\n\n[`digital-edition-frontend-ng`][digital-edition-frontend-ng] is the frontend application of the [SLS][SLS] platform for building digital edition web apps. It supports features typically found in digital scholarly editions, like reading texts, manuscripts, facsimiles and commentaries in parallel views, as well as media collection libraries, indices of named entities and keywords, and an integrated PDF-viewer.\n\nInternationalization and server-side rendering are supported out of the box, meaning that your web app will be fully indexable by search engines and readable by AI bots. The frontend app utilizes a responsive design and works on both desktop and mobile devices. Many features of the user interface are easily configurable, and theming is straightforward.\n\nThe app also supports optional authentication-guarded routing and a token-based authentication flow for forks that need protected content. See [Development notes](docs/DEVELOPMENT.md#authentication-guarded-routing-and-token-based-authentication-flow) for configuration and implementation details.\n\nExamples of digital editions employing this frontend app include:\n\n- [Zacharias Topelius Skrifter][topelius]\n- [Historiska recept][historiskarecept]\n- [Leo Mechelin – Pro lege][mechelin]\n\nThe app is built on [Angular][angular] and uses [Ionic][ionic] web components.\n\n\u003cp\u003e\n  \u003ca href=\"https://github.com/angular/angular\"\u003e\u003cimg alt=\"Angular version badge\" src=\"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fslsfi%2Fdigital-edition-frontend-ng%2Fmain%2Fpackage-lock.json\u0026query=%24%5B'packages'%5D%5B'node_modules%2F%40angular%2Fcore'%5D%5B'version'%5D\u0026prefix=v\u0026logo=angular\u0026logoColor=%23fff\u0026label=Angular%20Core\u0026color=%23dd0031\"\u003e\u003c/a\u003e\n  \u0026nbsp;\n  \u003ca href=\"https://github.com/ionic-team/ionic-framework\"\u003e\u003cimg alt=\"Ionic version badge\" src=\"https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fraw.githubusercontent.com%2Fslsfi%2Fdigital-edition-frontend-ng%2Fmain%2Fpackage-lock.json\u0026query=%24%5B'packages'%5D%5B'node_modules%2F%40ionic%2Fcore'%5D%5B'version'%5D\u0026prefix=v\u0026logo=ionic\u0026logoColor=%23fff\u0026label=Ionic\u0026color=%23176bff\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr\u003e\n\n## Changelog\n\n[Learn about the latest improvements][changelog].\n\n\n## Setting Up a Project\n\n1. Create a fork of [`digital-edition-frontend-ng`][digital-edition-frontend-ng]. Only include the `main` branch.\n\n2. Rename the default branch of the forked repository `base`, `shared` or something similar.\n\n3. Create a new branch in the forked repository and name it `production`, `prod` or something similar.\n\n4. Configure your project app by editing `/src/assets/config/config.ts`. Documentation on the configuration options is forthcoming.\n\nThe `base` branch of the forked repository must **never** be manually modified. It must be kept as a clone of the original ”upstream” `main` branch in [`digital-edition-frontend-ng`][digital-edition-frontend-ng]. When the upstream `main` branch is updated, you can sync the updates to the `base` branch in your forked repository. You can then merge the `base` branch into your `production` branch.\n\nThis workflow enables updates to the app in the original, upstream repository to be easily distributed to forked project repositories.\n\nBy default, the app has Swedish and Finnish language versions enabled. See the documentation (forthcoming) on how to configure internationalization, customize your app, build it for production and deploy it.\n\n\n## Documentation\n\n- [Updating, building and deployment](docs/DEPLOYMENT.md).\n- [Development notes](docs/DEVELOPMENT.md).\n\n\n## Development Setup\n\n### Prerequisites\n\n1. Install [Node.js][node.js] which includes [npm][npm]. The app is compatible with Node `^20.19.0`, `^22.12.0` and `^24.0.0`. The app is currently configured to run on Node `22`. Check your Node version with:\n\n```\nnode --version\n```\n\n2. Install project dependencies:\n\n```\nnpm install\n```\n\nThe local Angular CLI from `node_modules` is used by the npm scripts.\n\n3. [Clone][clone_repository] the repository locally and `cd` into the folder. On Windows you can use [GitHub Desktop][github_desktop] or [Git Bash][git_bash] (see [tutorial on Git Bash][gith_bash_tutorial]).\n\n### Running locally\n\n#### Development Server\n\nTo build and serve the application on a development server as a client-side app only, run:\n\n```\nnpm run start\n```\n\nOpen your browser on http://localhost:4200/. The app will automatically rebuild and reload if you change any of the source files.\n\n#### Server-Side Rendered App\n\nTo build the server-side rendered application, run:\n\n```\nnpm run build:ssr\n```\n\nThen, to serve the app, run:\n\n```\nnpm run serve:ssr\n```\n\nOpen your browser on http://localhost:4201/. You need to manually run the build and serve commands again for changes in the source files to take effect.\n\n\n## Earlier version\n\n[`digital-edition-frontend-ng`][digital-edition-frontend-ng] is an updated version of [`digital_edition_web`][digital_edition_web], which is an outdated Ionic 3 / Angular 5 frontend app.\n\n\n## About the SLS Digital Edition Platform\n\nThe platform consists of an [Angular frontend app][digital-edition-frontend-ng], a [Flask-driven REST API][digital_edition_api], a [backend search app][digital_edition_search] run by the Elastic (ELK) Stack, a [template for a backend files repository][digital_edition_required_files_template] and a [database template][digital_edition_db]. There is also a [tool for creating commentaries][digital_edition_commentary] to texts in [TEI-XML][TEI] format.\n\n\n[angular]: https://angular.dev/\n[angular_cli]: https://angular.dev/cli\n[changelog]: CHANGELOG.md\n[clone_repository]: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository\n[digital-edition-frontend-ng]: https://github.com/slsfi/digital-edition-frontend-ng\n[digital_edition_api]: https://github.com/slsfi/digital_edition_api\n[digital_edition_commentary]: https://github.com/slsfi/digital_edition_commentary\n[digital_edition_db]: https://github.com/slsfi/digital_edition_db\n[digital_edition_required_files_template]: https://github.com/slsfi/digital_edition_required_files_template\n[digital_edition_search]: https://github.com/slsfi/digital_edition_search\n[digital_edition_web]: https://github.com/slsfi/digital_edition_web\n[git_bash]: https://gitforwindows.org/\n[gith_bash_tutorial]: https://www.atlassian.com/git/tutorials/git-bash\n[github_desktop]: https://desktop.github.com/\n[historiskarecept]: https://historiskarecept.sls.fi/\n[ionic]: https://ionicframework.com/\n[mechelin]: https://leomechelin.fi/\n[node.js]: https://nodejs.org/\n[npm]: https://www.npmjs.com/get-npm\n[SLS]: https://www.sls.fi/en\n[TEI]: https://tei-c.org/\n[topelius]: https://topelius.sls.fi/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslsfi%2Fdigital-edition-frontend-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslsfi%2Fdigital-edition-frontend-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslsfi%2Fdigital-edition-frontend-ng/lists"}