dependabot[bot] 52075d1756 Bump the minor-and-patch group in /app with 12 updates
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>
2025-11-24 18:38:05 +00:00
2025-11-12 21:31:27 +01:00
2025-10-11 21:27:54 +02:00
2025-11-11 21:56:18 +01:00
2024-09-25 11:50:06 +02:00
2025-11-12 18:46:43 +01:00

Lemma

Build Backend Tests Frontend Tests

Yet another markdown editor. Work in progress

App Screenshot

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

  1. Navigate to the server directory
  2. Install dependecies: go mod tidy
  3. Ensure all environment variables are set
  4. Additionally set CGO_ENABLED=1 (needed for sqlite3)
  5. Run the server:
    go run cmd/server/main.go
    

Running the frontend app

  1. Navigate to the app directory
  2. Install dependencies:
    npm install
    
  3. Start the development server:
    npm start
    
    The frontend will be available at http://localhost:3000

Building for production

  1. Build the frontend app:
    cd app
    npm run build
    
  2. Build the backend:
    cd server
    go build -o lemma ./cmd/server
    
  3. Set the LEMMA_STATIC_PATH environment variable to point to the frontend build directory
  4. Run the lemma executable

Docker Support

A Dockerfile is provided for easy deployment. To build and run the Docker image:

  1. Build the image:
    docker build -t lemma .
    
  2. 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
Yet another note-taking app
Readme Apache-2.0 5.2 MiB
Languages
TypeScript 64.5%
Go 35%
JavaScript 0.2%
SCSS 0.1%
Shell 0.1%