Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xwiki-contrib/cristal
Cristal is a new project to build a new modular wiki UI using modern web technologies, which will support multiple backends (including of course XWiki to store Wiki data).
https://github.com/xwiki-contrib/cristal
knowledge-base wiki
Last synced: about 18 hours ago
JSON representation
Cristal is a new project to build a new modular wiki UI using modern web technologies, which will support multiple backends (including of course XWiki to store Wiki data).
- Host: GitHub
- URL: https://github.com/xwiki-contrib/cristal
- Owner: xwiki-contrib
- License: lgpl-2.1
- Created: 2023-10-09T14:26:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-20T10:30:11.000Z (4 days ago)
- Last Synced: 2025-01-20T11:26:25.306Z (4 days ago)
- Topics: knowledge-base, wiki
- Language: TypeScript
- Homepage: https://cristal.xwiki.org/
- Size: 5.51 MB
- Stars: 21
- Watchers: 38
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Cristal
## What's Cristal
* A new [xwiki.org](xwiki.org) project to provide a modern knowledge base front-end
* A wiki UI to rule them all: Provide a UI that can be plugged onto various content backends (XWiki, local file system,
GitHub, etc.)
* Usable in various forms:
* From a URL in your browser
* Executable locally on your computer (Electron application).
* Embeddable in backends. For example, the intent on the long run is to have Cristal be used by [XWiki](xwiki.org) as
its native UI
* Ability to work offline, reconnect, and sync content.## Useful links
* [Roadmap](https://cristal.xwiki.org/xwiki/bin/view/Roadmaps/)
* [Architecture](https://cristal.xwiki.org/xwiki/bin/view/Architecture/)
* [Technological Choices](https://cristal.xwiki.org/xwiki/bin/view/TechnologicalChoices/)
* [Wireframes](https://cristal.xwiki.org/xwiki/bin/view/Wireframes/)
* [UI Components](https://cristal.xwiki.org/xwiki/bin/view/UIComponents/)
* [Backends](https://cristal.xwiki.org/xwiki/bin/view/Backends/)
* [GitHub repository](https://github.com/xwiki-contrib/cristal/)
* [Forum](https://forum.xwiki.org/c/cristal/)## Project details
* Project Lead: [Manuel Leduc](https://www.xwiki.org/xwiki/bin/view/XWiki/mleduc)
* Documentation: [Documentation](https://cristal.xwiki.org/)
* Downloads:
* `@xwiki/cristal-*` on https://www.npmjs.com/org/xwiki
* binary artifacts on https://github.com/xwiki-contrib/cristal/releases
* [Issue Tracker](https://jira.xwiki.org/projects/CRISTAL/summary)
* Communication: [Forum](https://forum.xwiki.org/c/cristal/18)
* [Development Practices](https://dev.xwiki.org)
* [Supported backends](https://cristal.xwiki.org/xwiki/bin/view/Backends/)
* License: LGPL 2.1
* Translations: all components of https://l10n.xwiki.org/projects/xwiki-contrib/cristal/
* Sonar Dashboard: N/A## Project Setup
```sh
pnpm install
```### Starting the project
Starting on default port 9000.
```sh
pnpm run start
```Starting on an arbitrary port (e.g., 9001)
```shell
HTTP_PORT=9001 pnpm run start
```### Starting an electron instance
```shell
pnpm run start:electron
```### Compile and Minify for Production
```sh
pnpm run build
```### Run Unit Tests with [Vitest](https://vitest.dev/)
```sh
pnpm run test
```## Run Functional Tests with [Playwright](https://playwright.dev/)
```sh
## Make sure to have the system dependencies and browsers up to date. By filtering
## on the web module we make sure the version of playwright that gets installed is
## the one specified in package.json
pnpm --filter ./web exec playwright install --with-deps## Run the tests from the web module.
pnpm run --filter ./web test:e2e## Or, if port 9000 is already used
HTTP_PORT=9001 pnpm run --filter ./web test:e2e
```### Lint
```sh
pnpm lint
```