From 5f7a391fd1efff6fad4bc507acc38e82c90276b6 Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Sun, 17 Sep 2023 15:34:31 -0400 Subject: Added in auto-generation and ran for the first time. --- .github/workflows/workflow.yml | 34 +++++++++++++++++ README.md | 82 +++++++++++++++++++++-------------------- manifest.json | 3 ++ previews/ayu-dark.svg | 30 +++++++++++++++ previews/ayu-light.svg | 28 ++++++++++++++ previews/ayu-mirage.svg | 30 +++++++++++++++ previews/github-dark-dimmed.svg | 22 +++++------ scripts/make_preview_image.lua | 79 ++++++++++++++++++++------------------- 8 files changed, 217 insertions(+), 91 deletions(-) create mode 100644 .github/workflows/workflow.yml create mode 100644 previews/ayu-dark.svg create mode 100644 previews/ayu-light.svg create mode 100644 previews/ayu-mirage.svg diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..4117b73 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,34 @@ +name: Update README + +on: + push: + branches: [master] + +jobs: + reorganize: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Generate table with `lpm` + run: | + wget https://github.com/lite-xl/lite-xl-plugin-manager/releases/download/latest/lpm.x86_64-linux -O lpm && chmod +x lpm + # Unstub all stubs so we can make proper previews. + ./lpm --userdir . init . && ./lpm --userdir . color install "*" && ./lpm purge --userdir . + ./lpm exec scripts/make_preview_image.lua + perl -pi -e 'exit(0) if $_ =~ m/^\-\-\-/' README.md + echo "---" >> README.md + echo -e "\n## Dark\n" >> README.md + echo "| Theme | Preview" >> README.md + echo "| :------------------------------------------------------------ | :----------------------------------------------------" >> README.md + ./lpm table manifest.json --type color --tag "dark" | tail -n +3 | perl -pe '($w) = $_ =~ m/`([^`]+)`/; $_ =~ s/$/ \!\[$w\_preview\](previews\/$w.svg)/ if $w' >> README.md + echo -e "\n## Light\n" >> README.md + echo "| Theme | Preview" >> README.md + echo "| :------------------------------------------------------------ | :----------------------------------------------------" >> README.md + ./lpm table manifest.json --type color --tag "light" | tail -n +3 | perl -pe '($w) = $_ =~ m/`([^`]+)`/; $_ =~ s/$/ \!\[$w\_preview\](previews\/$w.svg)/ if $w' >> README.md + if ! git diff --exit-code -s README.md; then + git config --global user.name "Github Actions" && git config --global user.email "<>" + git add README.md previews + git commit -m '[CI] Updated README.md.' + git push + fi + diff --git a/README.md b/README.md index c394bec..ba47468 100644 --- a/README.md +++ b/README.md @@ -25,46 +25,48 @@ embedded in the table.* ## Dark -Theme | Preview -------|----------------------------------------- -[`betelgeuse`](colors/betelgeuse.lua?raw=1) | ![betelgeuse_preview](previews/betelgeuse.svg) -[`cold_lime`](colors/cold_lime.lua?raw=1) | ![cold_lime_preview](previews/cold_lime.svg) -[`c0mfy`](colors/c0mfy.lua?raw=1) | ![c0mfy_preview](previews/c0mfy.svg) -[`dracula`](colors/dracula.lua?raw=1) | ![dracula_preview](previews/dracula.svg) -[`duorand`](colors/duorand.lua?raw=1) | ![duorand_preview](previews/duorand.svg) -[`duotone`](colors/duotone.lua?raw=1) | ![duotone_preview](previews/duotone.svg) -[`everforest`](colors/everforest.lua?raw=1) | ![everforest_preview](previews/everforest.svg) -[`github_dark`](colors/github_dark.lua?raw=1) | ![github_dark_preview](previews/github_dark.svg) -[`github-dark-dimmed`](colors/github-dark-dimmed.lua?raw=1) | ![duotone_preview](previews/github-dark-dimmed.svg) -[`gruvbox_dark`](colors/gruvbox_dark.lua?raw=1) | ![gruvbox_dark_preview](previews/gruvbox_dark.svg) -[`jb-fleet`](colors/jb-fleet.lua?raw=1) | ![jb-fleet_preview](previews/jb-fleet.svg) -[`jellybeans`](colors/jellybeans.lua?raw=1) | ![jellybeans_preview](previews/jellybeans.svg) -[`liqube`](colors/liqube.lua?raw=1) | ![liqube_preview](previews/liqube.svg) -[`mariana`](colors/mariana.lua?raw=1) | ![mariana_preview](previews/mariana.svg) -[`monodark`](colors/monodark.lua?raw=1) | ![monodark_preview](previews/monodark.svg) -[`monokai`](colors/monokai.lua?raw=1) | ![monokai_preview](previews/monokai.svg) -[`monokai-pro-classic`](colors/monokai-pro-classic.lua?raw=1) | ![monokai-pro-classic_preview](previews/monokai-pro-classic.svg) -[`nord`](colors/nord.lua?raw=1) | ![nord_preview](previews/nord.svg) -[`onedark`](colors/onedark.lua?raw=1) | ![onedark_preview](previews/onedark.svg) -[`only_dark`](colors/only_dark.lua?raw=1) | ![only_dark_preview](previews/only_dark.svg) -[`plasma`](colors/plasma.lua?raw=1) | ![plasma_preview](previews/plasma.svg) -[`rose-pine-moon`](colors/rose-pine-moon.lua?raw=1)| ![rose_pine_review](previews/rose-pine-moon.svg) -[`rose-pine`](colors/rose-pine.lua?raw=1)| ![rose_pine_review](previews/rose-pine.svg) -[`solarized_dark`](colors/solarized_dark.lua?raw=1) | ![solarized_dark_preview](previews/solarized_dark.svg) -[`synthwave`](colors/synthwave.lua?raw=1) | ![synthwave_preview](previews/synthwave.svg) -[`tokyo-night`](colors/tokyo-night.lua?raw=1) | ![tokyo-night_preview](previews/tokyo-night.svg) -[`vscode-dark`](colors/vscode-dark.lua?raw=1) | ![vscode-dark_preview](previews/vscode-dark.svg) -[`winter`](colors/winter.lua?raw=1) | ![winter_preview](previews/winter.svg) -[`zenburn`](colors/zenburn.lua?raw=1) | ![zenburn_preview](previews/zenburn.svg) +| Theme | Preview +| :------------------------------------------------------------ | :---------------------------------------------------- +| [`abyss`](colors/abyss.lua?raw=1) | ![abyss_preview](previews/abyss.svg) +| [`ayu-dark`](https://github.com/juliardi/lite-xl-ayu-theme.git)\* | ![ayu-dark_preview](previews/ayu-dark.svg) +| [`ayu-mirage`](https://github.com/juliardi/lite-xl-ayu-theme.git)\* | ![ayu-mirage_preview](previews/ayu-mirage.svg) +| [`betelgeuse`](colors/betelgeuse.lua?raw=1) | ![betelgeuse_preview](previews/betelgeuse.svg) +| [`c0mfy`](colors/c0mfy.lua?raw=1) | ![c0mfy_preview](previews/c0mfy.svg) +| [`cold_lime`](colors/cold_lime.lua?raw=1) | ![cold_lime_preview](previews/cold_lime.svg) +| [`dracula`](colors/dracula.lua?raw=1) | ![dracula_preview](previews/dracula.svg) +| [`duorand`](colors/duorand.lua?raw=1) | ![duorand_preview](previews/duorand.svg) +| [`duotone`](colors/duotone.lua?raw=1) | ![duotone_preview](previews/duotone.svg) +| [`everforest`](colors/everforest.lua?raw=1) | ![everforest_preview](previews/everforest.svg) +| [`github-dark-dimmed`](colors/github-dark-dimmed.lua?raw=1) | ![github-dark-dimmed_preview](previews/github-dark-dimmed.svg) +| [`github_dark`](colors/github_dark.lua?raw=1) | ![github_dark_preview](previews/github_dark.svg) +| [`gruvbox_dark`](colors/gruvbox_dark.lua?raw=1) | ![gruvbox_dark_preview](previews/gruvbox_dark.svg) +| [`jb-fleet`](colors/jb-fleet.lua?raw=1) | ![jb-fleet_preview](previews/jb-fleet.svg) +| [`jellybeans`](colors/jellybeans.lua?raw=1) | ![jellybeans_preview](previews/jellybeans.svg) +| [`liqube`](colors/liqube.lua?raw=1) | ![liqube_preview](previews/liqube.svg) +| [`mariana`](colors/mariana.lua?raw=1) | ![mariana_preview](previews/mariana.svg) +| [`monodark`](colors/monodark.lua?raw=1) | ![monodark_preview](previews/monodark.svg) +| [`monokai`](colors/monokai.lua?raw=1) | ![monokai_preview](previews/monokai.svg) +| [`monokai-pro-classic`](colors/monokai-pro-classic.lua?raw=1) | ![monokai-pro-classic_preview](previews/monokai-pro-classic.svg) +| [`nord`](colors/nord.lua?raw=1) | ![nord_preview](previews/nord.svg) +| [`onedark`](colors/onedark.lua?raw=1) | ![onedark_preview](previews/onedark.svg) +| [`only_dark`](colors/only_dark.lua?raw=1) | ![only_dark_preview](previews/only_dark.svg) +| [`plasma`](colors/plasma.lua?raw=1) | ![plasma_preview](previews/plasma.svg) +| [`rose-pine`](colors/rose-pine.lua?raw=1) | ![rose-pine_preview](previews/rose-pine.svg) +| [`rose-pine-moon`](colors/rose-pine-moon.lua?raw=1) | ![rose-pine-moon_preview](previews/rose-pine-moon.svg) +| [`synthwave`](colors/synthwave.lua?raw=1) | ![synthwave_preview](previews/synthwave.svg) +| [`tokyo-night`](colors/tokyo-night.lua?raw=1) | ![tokyo-night_preview](previews/tokyo-night.svg) +| [`vscode-dark`](colors/vscode-dark.lua?raw=1) | ![vscode-dark_preview](previews/vscode-dark.svg) +| [`winter`](colors/winter.lua?raw=1) | ![winter_preview](previews/winter.svg) +| [`zenburn`](colors/zenburn.lua?raw=1) | ![zenburn_preview](previews/zenburn.svg) ## Light -Theme | Preview -------|----------------------------------------- -[`github`](colors/github.lua?raw=1) | ![github_preview](previews/github.svg) -[`gruvbox_light`](colors/gruvbox_light.lua?raw=1) | ![gruvbox_light_preview](previews/gruvbox_light.svg) -[`moe`](colors/moe.lua?raw=1) | ![moe_preview](previews/moe.svg) -[`rose-pine-dawn`](colors/rose-pine-dawn.lua?raw=1)| ![rose_pine_review](previews/rose-pine-dawn.svg) -[`solarized_light`](colors/solarized_light.lua?raw=1) | ![solarized_light_preview](previews/solarized_light.svg) -[`solarobj`](colors/solarobj.lua?raw=1) | ![solarobj_preview](previews/solarobj.svg) - +| Theme | Preview +| :------------------------------------------------------------ | :---------------------------------------------------- +| [`ayu-light`](https://github.com/juliardi/lite-xl-ayu-theme.git)\* | ![ayu-light_preview](previews/ayu-light.svg) +| [`github`](colors/github.lua?raw=1) | ![github_preview](previews/github.svg) +| [`gruvbox_light`](colors/gruvbox_light.lua?raw=1) | ![gruvbox_light_preview](previews/gruvbox_light.svg) +| [`moe`](colors/moe.lua?raw=1) | ![moe_preview](previews/moe.svg) +| [`rose-pine-dawn`](colors/rose-pine-dawn.lua?raw=1) | ![rose-pine-dawn_preview](previews/rose-pine-dawn.svg) +| [`solarized_light`](colors/solarized_light.lua?raw=1) | ![solarized_light_preview](previews/solarized_light.svg) +| [`solarobj`](colors/solarobj.lua?raw=1) | ![solarobj_preview](previews/solarobj.svg) diff --git a/manifest.json b/manifest.json index ff98624..bfb83c1 100644 --- a/manifest.json +++ b/manifest.json @@ -14,6 +14,7 @@ { "id": "ayu-dark", "remote": "https://github.com/juliardi/lite-xl-ayu-theme.git:33a514527d4870480554771c273e667eb6418873", + "type": "color", "tags": [ "dark" ] @@ -21,6 +22,7 @@ { "id": "ayu-light", "remote": "https://github.com/juliardi/lite-xl-ayu-theme.git:33a514527d4870480554771c273e667eb6418873", + "type": "color", "tags": [ "light" ] @@ -28,6 +30,7 @@ { "id": "ayu-mirage", "remote": "https://github.com/juliardi/lite-xl-ayu-theme.git:33a514527d4870480554771c273e667eb6418873", + "type": "color", "tags": [ "dark" ] diff --git a/previews/ayu-dark.svg b/previews/ayu-dark.svg new file mode 100644 index 0000000..b7b3895 --- /dev/null +++ b/previews/ayu-dark.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/previews/ayu-light.svg b/previews/ayu-light.svg new file mode 100644 index 0000000..eab30f0 --- /dev/null +++ b/previews/ayu-light.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/previews/ayu-mirage.svg b/previews/ayu-mirage.svg new file mode 100644 index 0000000..def7694 --- /dev/null +++ b/previews/ayu-mirage.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/previews/github-dark-dimmed.svg b/previews/github-dark-dimmed.svg index b68bb2c..8a689c0 100644 --- a/previews/github-dark-dimmed.svg +++ b/previews/github-dark-dimmed.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/scripts/make_preview_image.lua b/scripts/make_preview_image.lua index 6bcaac8..d1d48be 100755 --- a/scripts/make_preview_image.lua +++ b/scripts/make_preview_image.lua @@ -1,51 +1,50 @@ #!/usr/bin/lua -local filename = ... -local name = filename:match("([^\\/]+)%..*$") - - --- get colors -local text = io.open(filename):read("*a") -local colors = {} -for r, g, b in text:gmatch("#(%x%x)(%x%x)(%x%x)") do - r = tonumber(r, 16) - g = tonumber(g, 16) - b = tonumber(b, 16) - table.insert(colors, { r, g, b }) -end +for i, filename in ipairs({ ... }) do + local name = filename:match("([^\\/]+)%..*$") + + -- get colors + local text = io.open(filename):read("*a") + local colors = {} + for r, g, b in text:gmatch("#(%x%x)(%x%x)(%x%x)") do + r = tonumber(r, 16) + g = tonumber(g, 16) + b = tonumber(b, 16) + table.insert(colors, { r, g, b }) + end -table.sort(colors, function(a, b) - return a[1] + a[2] + a[3] < b[1] + b[2] + b[3] -end) + table.sort(colors, function(a, b) + return a[1] + a[2] + a[3] < b[1] + b[2] + b[3] + end) -local function eq(a, b) - return a[1] == b[1] and a[2] == b[2] and a[3] == b[3] -end - -local prev = {} -for i = #colors, 1, -1 do - if eq(colors[i], prev) then - table.remove(colors, i) - else - prev = colors[i] + local function eq(a, b) + return a[1] == b[1] and a[2] == b[2] and a[3] == b[3] end -end + local prev = {} + for i = #colors, 1, -1 do + if eq(colors[i], prev) then + table.remove(colors, i) + else + prev = colors[i] + end + end ---generate svg file -local w = 200 -local h = 16 -local fp = io.open("previews/" .. name .. ".svg", "wb") -fp:write(' \n') + --generate svg file + local w = 200 + local h = 16 + local fp = io.open("previews/" .. name .. ".svg", "wb") -for i = 1, #colors do - local width = w/#colors - local r, g, b = table.unpack(colors[i]) - local rect = ' \n' - fp:write(rect) -end + fp:write(' \n') -fp:write('') -fp:close() + for i = 1, #colors do + local width = w/#colors + local r, g, b = table.unpack(colors[i]) + local rect = ' \n' + fp:write(rect) + end + fp:write('') + fp:close() +end -- cgit v1.2.3