mirror of
https://github.com/lordmathis/lemma.git
synced 2025-12-23 10:04:26 +00:00
e1ca9096de28b415d9cdb8e8b994f19bfeb0fd35
Bumps the minor-and-patch group in /app with 10 updates: | Package | From | To | | --- | --- | --- | | [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.0` | `19.2.1` | | [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.0` | `19.2.1` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.0` | `8.48.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.48.0` | `8.48.1` | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `5.1.1` | `5.1.2` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.14` | `4.0.15` | | [jsdom](https://github.com/jsdom/jsdom) | `27.2.0` | `27.3.0` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.2.6` | `7.2.7` | | [vite-plugin-compression2](https://github.com/nonzzz/vite-plugin-compression) | `2.3.1` | `2.4.0` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.14` | `4.0.15` | Updates `react` from 19.2.0 to 19.2.1 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.1/packages/react) Updates `react-dom` from 19.2.0 to 19.2.1 - [Release notes](https://github.com/facebook/react/releases) - [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/react/commits/v19.2.1/packages/react-dom) Updates `@typescript-eslint/eslint-plugin` from 8.48.0 to 8.48.1 - [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.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.48.0 to 8.48.1 - [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.1/packages/parser) Updates `@vitejs/plugin-react` from 5.1.1 to 5.1.2 - [Release notes](https://github.com/vitejs/vite-plugin-react/releases) - [Changelog](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-react/commits/plugin-react@5.1.2/packages/plugin-react) Updates `@vitest/coverage-v8` from 4.0.14 to 4.0.15 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/coverage-v8) Updates `jsdom` from 27.2.0 to 27.3.0 - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/main/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/27.2.0...27.3.0) Updates `vite` from 7.2.6 to 7.2.7 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v7.2.7/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.2.7/packages/vite) Updates `vite-plugin-compression2` from 2.3.1 to 2.4.0 - [Release notes](https://github.com/nonzzz/vite-plugin-compression/releases) - [Changelog](https://github.com/nonzzz/vite-plugin-compression/blob/master/CHANGELOG.md) - [Commits](https://github.com/nonzzz/vite-plugin-compression/compare/v2.3.1...v2.4.0) Updates `vitest` from 4.0.14 to 4.0.15 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest) --- updated-dependencies: - dependency-name: react dependency-version: 19.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: react-dom dependency-version: 19.2.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.48.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@typescript-eslint/parser" dependency-version: 8.48.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@vitejs/plugin-react" dependency-version: 5.1.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@vitest/coverage-v8" dependency-version: 4.0.15 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: jsdom dependency-version: 27.3.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: vite dependency-version: 7.2.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: vite-plugin-compression2 dependency-version: 2.4.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: vitest dependency-version: 4.0.15 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%
