Skip to content

ClementEXWiki/cristal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,891 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cristal

Wireframe of a Cristal 
Page

What's Cristal

  • A new 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 as its native UI
  • Ability to work offline, reconnect, and sync content.
Build Status TypeScript Prettier

Useful links

Project details

Project Setup

## Install and update the dependency ranges with the latest versions.
## This command can be run whenever the most up to date version of dependencies is needed.
pnpm update -r --no-save

Starting the project

Starting on default port 9000.

pnpm run start

Starting on an arbitrary port (e.g., 9001)

HTTP_PORT=9001 pnpm run start

Starting an electron instance

pnpm run start:electron

Compile and Minify for Production

pnpm run build

Run Unit Tests with Vitest

pnpm run test

Run Functional Tests with Playwright

## 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.
docker run -it --rm -v ./:/cristal -w /cristal xwiki/build-node pnpm run -filter ./web test:e2e

## Run the tests from the web module and update the screenshots
docker run -it --rm -v ./:/cristal -w /cristal xwiki/build-node pnpm run -filter ./web test:e2e:update-snapshots 

## Or, if port 9000 is already used
HTTP_PORT=9001 pnpm run --filter ./web test:e2e

Lint

pnpm lint

Check for API changes

pnpm run api-extractor:local
# Produces reports in the `etc/` folder of each package.
# The changes in the Markdown files reflects changes in the public APIs of the packages and must be discussed 
# collectively.
# The CI is configured to fail if the command produces unversioned changes.

About

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).

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 78.7%
  • Vue 17.2%
  • CSS 3.0%
  • JavaScript 1.1%