mirror of
https://github.com/lordmathis/lemma.git
synced 2025-12-22 09:34:22 +00:00
053c64245652d3064f385c1b5ea146618f04fa8d
Bumps the minor-and-patch group in /app with 14 updates: | Package | From | To | | --- | --- | --- | | [@codemirror/view](https://github.com/codemirror/view) | `6.38.8` | `6.39.4` | | [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core) | `8.3.9` | `8.3.10` | | [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks) | `8.3.9` | `8.3.10` | | [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals) | `8.3.9` | `8.3.10` | | [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications) | `8.3.9` | `8.3.10` | | [@tabler/icons-react](https://github.com/tabler/tabler-icons/tree/HEAD/packages/icons-react) | `3.35.0` | `3.36.0` | | [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.1` | `19.2.3` | | [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.1` | `19.2.3` | | [@testing-library/react](https://github.com/testing-library/react-testing-library) | `16.3.0` | `16.3.1` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.1` | `8.49.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.48.1` | `8.49.0` | | [eslint](https://github.com/eslint/eslint) | `9.39.1` | `9.39.2` | | [sass](https://github.com/sass/dart-sass) | `1.94.2` | `1.96.0` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `7.2.7` | `7.3.0` | Updates `@codemirror/view` from 6.38.8 to 6.39.4 - [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md) - [Commits](https://github.com/codemirror/view/compare/6.38.8...6.39.4) Updates `@mantine/core` from 8.3.9 to 8.3.10 - [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.10/packages/@mantine/core) Updates `@mantine/hooks` from 8.3.9 to 8.3.10 - [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.10/packages/@mantine/hooks) Updates `@mantine/modals` from 8.3.9 to 8.3.10 - [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.10/packages/@mantine/modals) Updates `@mantine/notifications` from 8.3.9 to 8.3.10 - [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.10/packages/@mantine/notifications) Updates `@tabler/icons-react` from 3.35.0 to 3.36.0 - [Release notes](https://github.com/tabler/tabler-icons/releases) - [Commits](https://github.com/tabler/tabler-icons/commits/v3.36.0/packages/icons-react) Updates `react` from 19.2.1 to 19.2.3 - [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.3/packages/react) Updates `react-dom` from 19.2.1 to 19.2.3 - [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.3/packages/react-dom) Updates `@testing-library/react` from 16.3.0 to 16.3.1 - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v16.3.0...v16.3.1) Updates `@typescript-eslint/eslint-plugin` from 8.48.1 to 8.49.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.49.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.48.1 to 8.49.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.49.0/packages/parser) Updates `eslint` from 9.39.1 to 9.39.2 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.1...v9.39.2) Updates `sass` from 1.94.2 to 1.96.0 - [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.2...1.96.0) Updates `vite` from 7.2.7 to 7.3.0 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v7.3.0/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v7.3.0/packages/vite) --- updated-dependencies: - dependency-name: "@codemirror/view" dependency-version: 6.39.4 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@mantine/core" dependency-version: 8.3.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/hooks" dependency-version: 8.3.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/modals" dependency-version: 8.3.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@mantine/notifications" dependency-version: 8.3.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@tabler/icons-react" dependency-version: 3.36.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: react dependency-version: 19.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: react-dom dependency-version: 19.2.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@testing-library/react" dependency-version: 16.3.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.49.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: "@typescript-eslint/parser" dependency-version: 8.49.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: eslint dependency-version: 9.39.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: sass dependency-version: 1.96.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: vite dependency-version: 7.3.0 dependency-type: direct:development update-type: version-update:semver-minor 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%
