39 Commits
v0.2.0 ... main

Author SHA1 Message Date
b24a35a560 fix: crust color being too dark 2024-09-13 11:50:25 -03:00
e21c842de4 fix: color overwrite priority 2024-09-13 00:07:53 -03:00
e22191cad9 feat: overwrite colors with new ones 2024-09-12 14:42:05 -03:00
2c122c63ed fix: defaultPackage and package on nix 2024-09-12 10:58:56 -03:00
af1a5f5ee4 fix: final files name 2024-09-12 10:53:11 -03:00
ec438a8b7d fix: flake package 2024-09-12 10:52:35 -03:00
1a47d8e837 feat: add nix derivation declaration 2024-09-12 10:34:25 -03:00
2b38b97964 chore: update license 2024-09-12 09:39:40 -03:00
a4e6003c0c revert(ci): remove deploy and release actions 2024-09-11 22:03:53 -03:00
a2daa573e6 fix(ci): use actions/upload-artifact fork 2024-09-11 21:58:21 -03:00
4563123770 fix(ci): install dependencies command prompt 2024-09-11 21:54:01 -03:00
440bd2f787 chore: flake.nix with devShell 2024-09-11 21:49:36 -03:00
4f2a41da98 style: format build.js with prettier 2024-09-11 21:49:25 -03:00
055fb574f4 chore(ci): move from node to deno 2024-09-11 21:48:12 -03:00
7c3b371f4c chore(ci): move to forgejo actions 2024-09-11 21:47:40 -03:00
Hammy
e40721d345 build(release-please): try to course correct (#35)
"Never trust your past success, only your past failures"
- Hammy 2024
2024-06-22 19:42:59 +01:00
sgoudham
5f4a334a09 chore: release 0.4.2
Release-As: 0.4.2
2024-06-22 19:31:45 +01:00
Hammy
8457e7bddb ci: allow manual trigger (#33) 2024-06-22 19:18:41 +01:00
nullishamy
783bd1abdd revert: "chore(main): release 0.4.2 (#29)" (#31) 2024-06-22 19:14:38 +01:00
github-actions[bot]
d65330b4f5 chore(main): release 0.4.2 (#29)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-22 18:57:16 +01:00
uncenter
66661f9eb5 fix: update to match userstyles style guide (#24) 2024-06-22 18:54:26 +01:00
Isabel
a749b47109 ci: add GitHub pages release step (#21) 2024-03-26 20:31:02 +00:00
Jens Gatzweiler
8093e4903d docs: update public assets path (#16) 2023-11-15 14:10:22 +01:00
winston
606b7fe54a ci(release): fix sample artifact name 2023-08-24 22:57:15 +02:00
github-actions[bot]
cecfa246aa chore(main): release 0.4.1 (#14)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-24 22:55:24 +02:00
winston
fe15a3ac01 fix(commits): signed commit background
Closes #13
2023-08-24 22:54:10 +02:00
winston
ae313516b5 ci(release): clone the repo 2023-08-23 18:20:17 +02:00
github-actions[bot]
e92449e106 chore(main): release 0.4.0 (#12)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-23 18:18:13 +02:00
winston
fbe4fcf3b2 ci(release): add pull-request permission 2023-08-23 18:15:43 +02:00
winston
11bd7b77ec feat: monaco editor styling 2023-08-23 18:13:05 +02:00
winston
c1c223fe50 fix: tag labels style 2023-08-23 18:12:40 +02:00
winston
7c0fe1b1f1 chore: add TODO note 2023-08-23 12:24:49 +02:00
winston
c5fd42c35a ci: use release-please 2023-08-23 12:24:46 +02:00
winston
6bae7a8fed feat: style monaco editor selection & cursorline
Closes #8
2023-08-22 15:01:12 +02:00
winston
fdd8b85780 feat: support gitea v1.20
Closes #9
2023-08-22 13:55:03 +02:00
winston
b00c20e7a7 build: use deno, auto-generate README conf snippet
Closes #10
2023-08-22 13:54:03 +02:00
winston
09859420a8 docs: Gitea 1.18 is the minimum supported version
Closes #7
2023-05-27 13:16:53 +02:00
winston
bfb437116d fix: wrong text color for user settings modals 2023-05-01 18:49:58 +02:00
winston
10b35011c8 fix: most recent signed commit hover color
Closes #6
2023-05-01 18:36:09 +02:00
16 changed files with 546 additions and 100 deletions

View File

@@ -0,0 +1,71 @@
name: Release and Deploy
on:
workflow_dispatch:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: apt-get update -y && apt-get install -y git unzip
- uses: https://code.forgejo.org/actions/checkout@v4
- uses: https://code.forgejo.org/actions/setup-node@v4
with:
deno-version: v22.x
- run: |
npm ci
npm run build
- name: Upload Pages Artifact
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
path: "dist/"
# release:
# needs: "build"
#
# runs-on: ubuntu-latest
#
# permissions:
# contents: write
# pull-requests: write
#
# steps:
# - name: "Release"
# id: "release"
# uses: "https://github.com/googleapis/release-please-action@v4"
#
# - name: Create tarball
# if: ${{ steps.release.outputs.release_created }}
# run: tar czf catppuccin-gitea.tar.gz --directory=./dist .
#
# - name: Upload Release Artifacts
# if: ${{ steps.release.outputs.release_created }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: gh release upload ${{ steps.release.outputs.tag_name }} ./catppuccin-gitea.tar.gz
#
#
# deploy:
# needs: "build"
#
# runs-on: "ubuntu-latest"
#
# permissions:
# pages: "write"
# id-token: "write"
#
# environment:
# name: "github-pages"
# url: "${{ steps.deployment.outputs.page_url }}"
#
# steps:
# - name: "Deploy to GitHub Pages"
# id: "deployment"
# uses: "actions/deploy-pages@v4"

View File

@@ -1,22 +0,0 @@
name: Release
on:
push:
tags:
- "v*"
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- run: npm ci
- run: npm run build
- name: Create tarball
run: tar czf catppuccin-gitea.tar.gz --directory=./dist .
- name: Add zips to release
uses: softprops/action-gh-release@v1
with:
files: ./catppuccin-gitea.tar.gz

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
node_modules/
/dist/
*.tar.gz
result

View File

@@ -0,0 +1,3 @@
{
".": "0.4.1"
}

20
CHANGELOG.md Normal file
View File

@@ -0,0 +1,20 @@
# Changelog
## [0.4.1](https://github.com/catppuccin/gitea/compare/v0.4.0...v0.4.1) (2023-08-24)
### Bug Fixes
* **commits:** signed commit background ([fe15a3a](https://github.com/catppuccin/gitea/commit/fe15a3ac012e0bcbfd57bcdb3e83382164c7e9f3)), closes [#13](https://github.com/catppuccin/gitea/issues/13)
## [0.4.0](https://github.com/catppuccin/gitea/compare/v0.3.1...v0.4.0) (2023-08-23)
### Features
* monaco editor styling ([11bd7b7](https://github.com/catppuccin/gitea/commit/11bd7b77ece1d761828ffeb87a053e78acc050a2))
### Bug Fixes
* tag labels style ([c1c223f](https://github.com/catppuccin/gitea/commit/c1c223fe50c7286bc023d2798761293f25cfc080))

View File

@@ -1,6 +1,8 @@
MIT License
Copyright (c) 2021 Catppuccin
Copyright (c) 2024 Capytal <contact@capytal.company>
Copyright (c) 2024 Gustavo "Guz" L de Mello <contact@guz.one>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -37,11 +37,29 @@
## Usage
1. Download the [latest release](https://github.com/catppuccin/gitea/releases/latest).
2. Place the CSS files in your `$GITEA_CUSTOM/public/css` directory.
3. Add the themes to your [`app.ini`](https://docs.gitea.io/en-us/customizing-gitea/#customizing-the-look-of-gitea).
2. Place the CSS files in `$GITEA_CUSTOM/public/assets/css` if using Gitea 1.21.0 or newer and `$GITEA_CUSTOM/public/css` otherwise.
3. Add the themes to your `app.ini`. See the [Gitea documentation](https://docs.gitea.io/en-us/customizing-gitea/#customizing-the-look-of-gitea).\
Here's a snippet if you want to offer all Flavor-Accent combinations:
<details>
<summary>app.ini</summary>
<!-- AUTOGEN:INI START -->
<!-- the following section is auto-generated, do not edit -->
```
[ui]
THEMES = catppuccin-latte-rosewater,catppuccin-latte-flamingo,catppuccin-latte-pink,catppuccin-latte-mauve,catppuccin-latte-red,catppuccin-latte-maroon,catppuccin-latte-peach,catppuccin-latte-yellow,catppuccin-latte-green,catppuccin-latte-teal,catppuccin-latte-sky,catppuccin-latte-sapphire,catppuccin-latte-blue,catppuccin-latte-lavender,catppuccin-frappe-rosewater,catppuccin-frappe-flamingo,catppuccin-frappe-pink,catppuccin-frappe-mauve,catppuccin-frappe-red,catppuccin-frappe-maroon,catppuccin-frappe-peach,catppuccin-frappe-yellow,catppuccin-frappe-green,catppuccin-frappe-teal,catppuccin-frappe-sky,catppuccin-frappe-sapphire,catppuccin-frappe-blue,catppuccin-frappe-lavender,catppuccin-macchiato-rosewater,catppuccin-macchiato-flamingo,catppuccin-macchiato-pink,catppuccin-macchiato-mauve,catppuccin-macchiato-red,catppuccin-macchiato-maroon,catppuccin-macchiato-peach,catppuccin-macchiato-yellow,catppuccin-macchiato-green,catppuccin-macchiato-teal,catppuccin-macchiato-sky,catppuccin-macchiato-sapphire,catppuccin-macchiato-blue,catppuccin-macchiato-lavender,catppuccin-mocha-rosewater,catppuccin-mocha-flamingo,catppuccin-mocha-pink,catppuccin-mocha-mauve,catppuccin-mocha-red,catppuccin-mocha-maroon,catppuccin-mocha-peach,catppuccin-mocha-yellow,catppuccin-mocha-green,catppuccin-mocha-teal,catppuccin-mocha-sky,catppuccin-mocha-sapphire,catppuccin-mocha-blue,catppuccin-mocha-lavender
```
<!-- AUTOGEN:INI END -->
</details>
4. Restart your Gitea instance.
5. Select the theme in Gitea > Account > Settings > Appearance.
> **Note**\
> Gitea >1.20 is required for this theme.
## 💝 Thanks to
- [winston](https://github.com/nekowinston)

73
build.js Normal file → Executable file
View File

@@ -1,15 +1,32 @@
const fs = require("fs");
const path = require("path");
const sass = require("sass");
const ctp = require("@catppuccin/palette");
#!/usr/bin/env -S deno run -A
import path from "node:path";
import fs from "node:fs";
import url from "node:url";
import * as sass from "sass";
import * as ctp from "@catppuccin/palette";
/** @type (flavor: string, accent: string) => string */
const builder = (flavor, accent) => `
@import "@catppuccin/palette/scss/${flavor}";
$accent: $${accent};
$isDark: ${flavor !== "latte"};
$overlay2: #202020;
$overlay1: #191919;
$overlay0: #181818;
$surface2: #141414;
$surface1: #131313;
$surface0: #121212;
$base: #111111;
$mantle: #101010;
$crust: #090909;
@import "theme";
`;
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
const accents = [
"rosewater",
"flamingo",
@@ -27,7 +44,12 @@ const accents = [
"lavender",
];
for (const flavor of Object.keys(ctp.variants)) {
if (!fs.existsSync(path.join(__dirname, "dist"))) {
fs.mkdirSync(path.join(__dirname, "dist"), { recursive: true });
}
const flavors = Object.keys(ctp.flavors);
for (const flavor of flavors) {
for (const accent of accents) {
const input = builder(flavor, accent);
const result = sass.compileString(input, {
@@ -37,10 +59,45 @@ for (const flavor of Object.keys(ctp.variants)) {
],
});
fs.mkdirSync(path.join(__dirname, "dist"), { recursive: true });
fs.writeFileSync(
path.join(__dirname, "dist", `theme-catppuccin-${flavor}-${accent}.css`),
result.css
path.join(__dirname, "dist", `theme-frappurccino-${flavor}-${accent}.css`),
result.css,
);
}
}
// TODO:
// refactor this part out to a common import, since ctp/ctp & ctp/userstyles
// are both using the same base function
/** @type ({readme: string, section: string, newContent: string}) => string */
const updateReadme = ({ readme, section, newContent }) => {
const preamble =
"<!-- the following section is auto-generated, do not edit -->";
const startMarker = `<!-- AUTOGEN:${section.toUpperCase()} START -->`;
const endMarker = `<!-- AUTOGEN:${section.toUpperCase()} END -->`;
const wrapped = `${startMarker}\n${preamble}\n${newContent}\n${endMarker}`;
if (!(readme.includes(startMarker) && readme.includes(endMarker))) {
throw new Error("Markers not found in README.md");
}
const pre = readme.split(startMarker)[0];
const end = readme.split(endMarker)[1];
return pre + wrapped + end;
};
const readme = fs.readFileSync(path.join(__dirname, "README.md")).toString();
const newcontent = updateReadme({
readme,
section: "ini",
newContent: `
\`\`\`
[ui]
THEMES = ${flavors
.map((f) => accents.map((a) => `catppuccin-${f}-${a}`).join(","))
.join(",")}
\`\`\`
`,
});
fs.writeFileSync(path.join(__dirname, "README.md"), newcontent);

48
flake.lock generated Normal file
View File

@@ -0,0 +1,48 @@
{
"nodes": {
"gitignore": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1725983898,
"narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"gitignore": "gitignore",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

69
flake.nix Normal file
View File

@@ -0,0 +1,69 @@
{
description = "My development environment";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
gitignore = {
url = "github:hercules-ci/gitignore.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
gitignore,
...
}: let
systems = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
forAllSystems = f:
nixpkgs.lib.genAttrs systems (system: let
pkgs = import nixpkgs {inherit system;};
in
f system pkgs);
app = pkgs:
pkgs.buildNpmPackage rec {
pname = "frappurccino-forgejo";
version = "0.1.0";
src = gitignore.lib.gitignoreSource ./.;
npmDepsHash = "sha256-4wArkv3O5rhuDlrUC05K1jIz2ZLdC8M48ILz+O+O7CU=";
npmPackFlags = ["--ignore-scripts"];
buildPhase = ''
runHook preBuild
npm run build
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r dist $out/css
runHook postInstall
'';
};
in {
packages = forAllSystems (system: pkgs: {
default = app pkgs;
});
defaultPackage = forAllSystems (system: pkgs: app pkgs);
devShells = forAllSystems (system: pkgs: {
default = pkgs.mkShell {
buildInputs = with pkgs; [
alejandra
nodejs_22
node2nix
nodePackages_latest.prettier
];
};
});
};
}

121
package-lock.json generated
View File

@@ -1,19 +1,21 @@
{
"name": "gitea",
"name": "fappurccino-forgejo",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"devDependencies": {
"@catppuccin/palette": "^0.1.7",
"sass": "^1.60.0"
"name": "fappurccino-forgejo",
"version": "0.1.0",
"dependencies": {
"@catppuccin/palette": "^1.3.0",
"sass": "^1.66.1"
}
},
"node_modules/@catppuccin/palette": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/@catppuccin/palette/-/palette-0.1.7.tgz",
"integrity": "sha512-tgYE1PQLEs4Nz/OA28/kD0WhJKQEvXcuL2BPVdyHYQr0zb9l03lAwRXt7ZAP5PPuczFq0BgemPPdAdG+T2FZug==",
"dev": true,
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@catppuccin/palette/-/palette-1.3.0.tgz",
"integrity": "sha512-HlgVmsTJbpGnIv7FWeypvmTUgiU8SimM3KzutZJ4x7FYk3L43H67me0hAZcBTPYp2uzaLY4Iv0CnDHt3KiGf8g==",
"funding": [
{
"type": "opencollective",
@@ -23,13 +25,14 @@
"type": "github",
"url": "https://github.com/sponsors/catppuccin"
}
]
],
"license": "MIT"
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dev": true,
"license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -39,37 +42,34 @@
}
},
"node_modules/binary-extensions": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"license": "MIT",
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"license": "MIT",
"dependencies": {
"fill-range": "^7.0.1"
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/chokidar": {
"version": "3.5.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
],
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -82,15 +82,18 @@
"engines": {
"node": ">= 8.10.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
}
},
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -99,11 +102,11 @@
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
@@ -116,7 +119,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -125,16 +128,16 @@
}
},
"node_modules/immutable": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
"integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
"dev": true
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
"license": "MIT"
},
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
"dev": true,
"license": "MIT",
"dependencies": {
"binary-extensions": "^2.0.0"
},
@@ -146,7 +149,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -155,7 +158,7 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -167,7 +170,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
@@ -176,7 +179,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -185,7 +188,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -197,7 +200,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
"dev": true,
"license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -206,10 +209,10 @@
}
},
"node_modules/sass": {
"version": "1.60.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz",
"integrity": "sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ==",
"dev": true,
"version": "1.66.1",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.66.1.tgz",
"integrity": "sha512-50c+zTsZOJVgFfTgwwEzkjA3/QACgdNsKueWPyAR0mRINIvLAStVQBbPg14iuqEQ74NPDbXzJARJ/O4SI1zftA==",
"license": "MIT",
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0",
@@ -219,14 +222,14 @@
"sass": "sass.js"
},
"engines": {
"node": ">=12.0.0"
"node": ">=14.0.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"dev": true,
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -235,7 +238,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},

View File

@@ -1,9 +1,12 @@
{
"devDependencies": {
"@catppuccin/palette": "^0.1.7",
"sass": "^1.60.0"
},
"name": "fappurccino-forgejo",
"version": "0.1.0",
"type": "module",
"scripts": {
"build": "node ./build.js"
},
"dependencies": {
"@catppuccin/palette": "^1.3.0",
"sass": "^1.66.1"
}
}

View File

@@ -0,0 +1,10 @@
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"last-release-sha": "cecfa246aa84e74e91e8bd8eb5add82734a35211",
"packages": {
".": {
"package-name": "",
"release-type": "simple"
}
}
}

138
src/_monaco.scss Normal file
View File

@@ -0,0 +1,138 @@
.monaco-editor {
// selected text
.selected-text {
background-color: $surface0 !important;
}
// line numbers
.margin-view-overlays .line-numbers {
color: $subtext0 !important;
}
.line-numbers.active-line-number {
color: $accent !important;
}
// current / cursor line
.view-overlays .current-line,
.margin-view-overlays .current-line-margin {
background-color: #{if(
$isDark,
color.mix($surface0, $base, 64%),
color.mix($mantle, $base, 70%)
)} !important;
}
// Note: all of the hotpink stuff is there so it's easily visible, since these editor scope mappings are a mess
// plaintext
.mtk1 {
color: $text !important;
}
.mtk2 {
color: #ff69b4 !important;
}
// decorators
.mtk3 {
color: $peach !important;
}
// shell arguments
.mtk4 {
color: $teal !important;
}
// css constants & pre-defineds
.mtk5 {
color: $text !important;
}
// keywords
.mtk6 {
color: $mauve !important;
}
// numbers
.mtk7 {
color: $peach !important;
}
// comments
.mtk8 {
color: $overlay2 !important;
}
// sometimes a keyword, apparently
.mtk9 {
color: $mauve !important;
}
// braces, brackets, parentheses
.mtk10 {
color: $subtext0 !important;
}
// arrow brackets & equal signs in HTML
.mtk11 {
color: $teal !important;
}
// @ sign in javascript ¯\_(ツ)_/¯
.mtk12 {
color: $teal !important;
}
.mtk13 {
color: #ff69b4 !important;
}
.mtk14 {
color: #ff69b4 !important;
}
// regex, css classnames, and HTML keywords (huh)
.mtk15 {
color: $mauve !important;
}
// shebangs
.mtk16 {
color: $overlay2 !important;
}
.mtk17 {
color: #ff69b4 !important;
}
.mtk18 {
color: #ff69b4 !important;
}
// glob operator i guess
.mtk19 {
color: $teal !important;
}
.mtk20 {
color: #ff69b4 !important;
}
// strings
.mtk21 {
color: $green !important;
}
.mtk22 {
color: #ff69b4 !important;
}
// functions
.mtk23 {
color: $blue !important;
}
// shell variables
.mtk24 {
color: $peach !important;
}
// weird variables
.mtk25 {
color: $pink !important;
}
.bracket-highlighting-0 {
color: color.mix($text, $red, 40%) !important;
}
.bracket-highlighting-1 {
color: color.mix($text, $peach, 40%) !important;
}
.bracket-highlighting-2 {
color: color.mix($text, $yellow, 40%) !important;
}
.bracket-highlighting-3 {
color: color.mix($text, $green, 40%) !important;
}
.bracket-highlighting-4 {
color: color.mix($text, $blue, 40%) !important;
}
.bracket-highlighting-5 {
color: color.mix($text, $mauve, 40%) !important;
}
}

View File

@@ -145,7 +145,7 @@ $lvl3: if($isDark, $base, $crust);
--color-red-badge-bg: #{$lvl1};
--color-red-badge-hover-bg: #{ctx_lighten($red, 5%)};
--color-green-badge: #{$green};
--color-green-badge-bg: #{$lvl1};
--color-green-badge-bg: #{$green};
--color-green-badge-hover-bg: #{ctx_lighten($green, 5%)};
--color-yellow-badge: #{$yellow};
--color-yellow-badge-bg: #{$lvl1};
@@ -173,6 +173,8 @@ $lvl3: if($isDark, $base, $crust);
--color-input-toggle-background: #{$surface0};
--color-input-border: #{$surface1};
--color-input-border-hover: #{$surface2};
--color-nav-bg: #{$lvl2};
--color-nav-hover-bg: #{$surface0};
--color-navbar: #{$lvl2};
--color-navbar-transparent: #{color.change($lvl1, $alpha: 0)};
--color-light: #{color.change($surface2, $alpha: 0.3)};
@@ -196,7 +198,7 @@ $lvl3: if($isDark, $base, $crust);
--color-secondary-bg: #{$surface0};
--color-text-focus: #{$text};
--color-expand-button: #{$surface2};
--color-placeholder-text: #{$surface2};
--color-placeholder-text: #{$subtext0};
--color-editor-line-highlight: var(--color-primary-light-5);
--color-project-board-bg: var(--color-secondary-light-2);
/* gitea source code: */
@@ -204,8 +206,12 @@ $lvl3: if($isDark, $base, $crust);
--color-caret: var(--color-text);
--color-reaction-bg: #{color.change($text, $alpha: 0.07)};
--color-reaction-active-bg: var(--color-primary-alpha-40);
--color-header-bar: #{$lvl2};
--color-label-active-bg: #{$surface2};
--color-header-wrapper: #{$lvl2};
--color-header-wrapper-transparent: #{color.change($lvl2, $alpha: 0)};
--color-label-text: #{$crust};
--color-label-bg: #{$accent};
--color-label-hover-bg: #{ctx_lighten($accent, 6%)};
--color-label-active-bg: #{ctx_lighten($accent, 3%)};
--color-accent: var(--color-primary-light-1);
--color-small-accent: var(--color-primary-light-5);
--color-active-line: #{$surface1};
@@ -259,9 +265,27 @@ $lvl3: if($isDark, $base, $crust);
color: $lvl1;
}
// most recent commit hover when signed
.ui.sha.isSigned.isVerified {
.shortsha {
color: $lvl1;
}
svg.gitea-lock {
fill: $lvl1;
}
}
// modal text color for the "Remove GPG Key" modal
.ui.basic.modal,
.ui.basic.modal > .header,
.ui.inverted.button {
color: $text !important;
}
::selection {
background: color.change($rosewater, $alpha: 0.3) !important;
background: color.change($accent, $alpha: 0.3) !important;
}
@import "chroma";
@import "codemirror";
@import "monaco";

1
version.txt Normal file
View File

@@ -0,0 +1 @@
0.4.1