mirror of
https://github.com/lordmathis/lemma.git
synced 2025-12-22 17:44:25 +00:00
52075d1756496d7713c518db22340cdd6d0ca724
Bumps the minor-and-patch group in /app with 12 updates: | Package | From | To | | --- | --- | --- | | [@codemirror/autocomplete](https://github.com/codemirror/autocomplete) | `6.19.1` | `6.20.0` | | [@codemirror/view](https://github.com/codemirror/view) | `6.38.6` | `6.38.8` | | [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core) | `8.3.7` | `8.3.9` | | [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks) | `8.3.7` | `8.3.9` | | [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals) | `8.3.7` | `8.3.9` | | [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications) | `8.3.7` | `8.3.9` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.5` | `19.2.7` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.46.4` | `8.48.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.46.4` | `8.48.0` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.8` | `4.0.13` | | [sass](https://github.com/sass/dart-sass) | `1.94.0` | `1.94.2` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.8` | `4.0.13` | Updates `@codemirror/autocomplete` from 6.19.1 to 6.20.0 - [Changelog](https://github.com/codemirror/autocomplete/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/autocomplete/compare/6.19.1...6.20.0) Updates `@codemirror/view` from 6.38.6 to 6.38.8 - [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/view/compare/6.38.6...6.38.8) Updates `@mantine/core` from 8.3.7 to 8.3.9 - [Release notes](https://github.com/mantinedev/mantine/releases) - [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md) - [Commits](https://github.com/mantinedev/mantine/commits/8.3.9/packages/@mantine/core) Updates `@mantine/hooks` from 8.3.7 to 8.3.9 - [Release notes](https://github.com/mantinedev/mantine/releases) - [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md) - [Commits](https://github.com/mantinedev/mantine/commits/8.3.9/packages/@mantine/hooks) Updates `@mantine/modals` from 8.3.7 to 8.3.9 - [Release notes](https://github.com/mantinedev/mantine/releases) - [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md) - [Commits](https://github.com/mantinedev/mantine/commits/8.3.9/packages/@mantine/modals) Updates `@mantine/notifications` from 8.3.7 to 8.3.9 - [Release notes](https://github.com/mantinedev/mantine/releases) - [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md) - [Commits](https://github.com/mantinedev/mantine/commits/8.3.9/packages/@mantine/notifications) Updates `@types/react` from 19.2.5 to 19.2.7 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Updates `@typescript-eslint/eslint-plugin` from 8.46.4 to 8.48.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.46.4 to 8.48.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.0/packages/parser) Updates `@vitest/coverage-v8` from 4.0.8 to 4.0.13 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.13/packages/coverage-v8) Updates `sass` from 1.94.0 to 1.94.2 - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.94.0...1.94.2) Updates `vitest` from 4.0.8 to 4.0.13 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.13/packages/vitest) --- updated-dependencies: - dependency-name: "@codemirror/autocomplete" dependency-version: 6.20.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@codemirror/view" dependency-version: 6.38.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/core" dependency-version: 8.3.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/hooks" dependency-version: 8.3.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/modals" dependency-version: 8.3.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/notifications" dependency-version: 8.3.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@types/react" dependency-version: 19.2.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.48.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@typescript-eslint/parser" dependency-version: 8.48.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@vitest/coverage-v8" dependency-version: 4.0.13 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: sass dependency-version: 1.94.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: vitest dependency-version: 4.0.13 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Lemma
Yet another markdown editor. Work in progress
Features
- Editing & Content
- Rich Markdown Editing - Full-featured editor with syntax highlighting and live preview
- Wikilinks Support - Create interconnected notes with
[[wikilink]]syntax and smart autocomplete - Math Equations - Render beautiful mathematical expressions with MathJax support
- Code Highlighting - Syntax highlighting for code blocks in multiple languages
- Organization & Workflow
- File Tree Navigation - Organized folder structure with intuitive file management
- Multi-Workspace - Manage multiple projects and note collections in one place
- Git Integration - Built-in version control to track changes and collaborate safely
- Customization
- Theme Flexibility - Switch between dark and light modes to match your preference
Prerequisites
- Go 1.23 or later
- Node.js 20 or later
- gcc (for go-sqlite3 package)
Configuration
Lemma is configured using environment variables.
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
LEMMA_ADMIN_EMAIL |
Yes | - | Email address for the admin account |
LEMMA_ADMIN_PASSWORD |
Yes | - | Password for the admin account |
LEMMA_ENV |
No | production | Set to "development" to enable development mode |
LEMMA_DB_URL |
No | sqlite://lemma.db |
Database connection string (supports sqlite://, sqlite3://, postgres://, postgresql:// prefixes) |
LEMMA_WORKDIR |
No | ./data |
Working directory for application data |
LEMMA_STATIC_PATH |
No | ../app/dist |
Path to static files |
LEMMA_PORT |
No | 8080 |
Port to run the server on |
LEMMA_DOMAIN |
No | - | Domain name for cookie authentication |
LEMMA_CORS_ORIGINS |
No | - | Comma-separated list of allowed CORS origins |
LEMMA_ENCRYPTION_KEY |
No | auto-generated | Base64-encoded 32-byte key for encrypting sensitive data |
LEMMA_JWT_SIGNING_KEY |
No | auto-generated | Key used for signing JWT tokens |
LEMMA_LOG_LEVEL |
No | DEBUG/INFO* | Logging level (*DEBUG in dev, INFO in production) |
LEMMA_RATE_LIMIT_REQUESTS |
No | 100 |
Number of allowed requests per window |
LEMMA_RATE_LIMIT_WINDOW |
No | 15m |
Duration of the rate limit window |
Security Keys
Security keys (LEMMA_ENCRYPTION_KEY and LEMMA_JWT_SIGNING_KEY) are automatically generated on first startup if not provided. Keys are stored in {LEMMA_WORKDIR}/secrets/.
Important: Back up the secrets directory!
Running the backend server
- Navigate to the
serverdirectory - Install dependecies:
go mod tidy - Ensure all environment variables are set
- Additionally set
CGO_ENABLED=1(needed for sqlite3) - Run the server:
go run cmd/server/main.go
Running the frontend app
- Navigate to the
appdirectory - Install dependencies:
npm install - Start the development server:
The frontend will be available at
npm starthttp://localhost:3000
Building for production
- Build the frontend app:
cd app npm run build - Build the backend:
cd server go build -o lemma ./cmd/server - Set the
LEMMA_STATIC_PATHenvironment variable to point to the frontend build directory - Run the
lemmaexecutable
Docker Support
A Dockerfile is provided for easy deployment. To build and run the Docker image:
- Build the image:
docker build -t lemma . - Run the container:
docker run -p 8080:8080 -v /path/to/data:/app/data lemma
Upgrading
Before first stable release (1.0.0) there is not upgrade path. You have to delete the database file and start over.
Description
Languages
TypeScript
64.5%
Go
35%
JavaScript
0.2%
SCSS
0.1%
Shell
0.1%
