mirror of
https://github.com/lordmathis/lemma.git
synced 2025-12-22 17:44:25 +00:00
2a90e86f4aac5e343b3e567dd6b1bfc245c5e955
Bumps the minor-and-patch group in /app with 7 updates: | Package | From | To | | --- | --- | --- | | [@codemirror/commands](https://github.com/codemirror/commands) | `6.10.0` | `6.10.1` | | [@codemirror/state](https://github.com/codemirror/state) | `6.5.2` | `6.5.3` | | [@codemirror/view](https://github.com/codemirror/view) | `6.39.4` | `6.39.5` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.0.2` | `25.0.3` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.15` | `4.0.16` | | [sass](https://github.com/sass/dart-sass) | `1.96.0` | `1.97.1` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.15` | `4.0.16` | Updates `@codemirror/commands` from 6.10.0 to 6.10.1 - [Changelog](https://github.com/codemirror/commands/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/commands/compare/6.10.0...6.10.1) Updates `@codemirror/state` from 6.5.2 to 6.5.3 - [Changelog](https://github.com/codemirror/state/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/state/compare/6.5.2...6.5.3) Updates `@codemirror/view` from 6.39.4 to 6.39.5 - [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/view/compare/6.39.4...6.39.5) Updates `@types/node` from 25.0.2 to 25.0.3 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@vitest/coverage-v8` from 4.0.15 to 4.0.16 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/coverage-v8) Updates `sass` from 1.96.0 to 1.97.1 - [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.96.0...1.97.1) Updates `vitest` from 4.0.15 to 4.0.16 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.16/packages/vitest) --- updated-dependencies: - dependency-name: "@codemirror/commands" dependency-version: 6.10.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@codemirror/state" dependency-version: 6.5.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@codemirror/view" dependency-version: 6.39.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@types/node" dependency-version: 25.0.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@vitest/coverage-v8" dependency-version: 4.0.16 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: sass dependency-version: 1.97.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: vitest dependency-version: 4.0.16 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%
