Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
f0c506a
Install vue and pinia.
ciembor Dec 21, 2024
59214c0
Add vite and less.
ciembor Dec 21, 2024
d366fcf
Create src, move less style.
ciembor Dec 21, 2024
9bad631
Remove google closure library.
ciembor Dec 21, 2024
274adf7
Rewrite page with header and footer to vue js.
ciembor Dec 27, 2024
f70841c
Small corrections in layout, move images to public, install eslint wi…
ciembor Dec 30, 2024
df2d749
Add terminal display.
ciembor Dec 31, 2024
e8e2dbd
Add scheme store, use it in terminal display and create dynamic style…
ciembor Jan 2, 2025
90c7ab6
Add hue slider.
ciembor Jan 4, 2025
e2a1cd6
Add saturation slider.
ciembor Jan 4, 2025
4b66c6b
Add lightness sliders.
ciembor Jan 6, 2025
7f4de85
Small refactor (extraction of logic from stores to services).
ciembor Jan 8, 2025
8efa7b3
Refactor get scheme dialog to Vue
ciembor Apr 21, 2026
cef12d9
Refactor advanced controls to Vue
ciembor Apr 22, 2026
0abbe6d
Port master changes into Vue app
ciembor Apr 22, 2026
d37ee60
Remove legacy assets and entrypoints
ciembor Apr 22, 2026
2f2e468
Unify Vue slider wrappers
ciembor Apr 22, 2026
5bef5cb
Replace dynamic style injection with CSS variables
ciembor Apr 22, 2026
be44628
Scope component layout styles
ciembor Apr 22, 2026
78b9ff6
Add SEO metadata and crawler files
ciembor Apr 22, 2026
c232b16
Update developer setup notes in README
ciembor Apr 22, 2026
3bbb4b4
Update author links
ciembor Apr 22, 2026
2a41ced
Add project changelog
ciembor Apr 22, 2026
ce77c46
Fix GitHub Pages sitemap deployment
ciembor Apr 22, 2026
0a962ce
Add tests and Pages CI deployment
ciembor Apr 22, 2026
2453502
Fix Pages workflow action versions
ciembor Apr 22, 2026
061014f
Upgrade project to Node 24
ciembor Apr 22, 2026
18c96bb
Add advanced hue-set controls
ciembor Apr 23, 2026
c64a559
Add shareable scheme URLs and hue-set presets
ciembor Apr 23, 2026
8eefa6e
Persist last used scheme across visits
ciembor Apr 23, 2026
476be46
Add defaults reset button
ciembor Apr 23, 2026
0047e87
Adjust hue ranges by hue set
ciembor Apr 23, 2026
1a0dbd0
Refine color mode labels and URL formatting
ciembor Apr 24, 2026
13f348e
Omit redundant preset degrees from URLs
ciembor Apr 24, 2026
9fff2c2
refactor: reorganize the app around DDD layers
ciembor Apr 24, 2026
eedbd52
docs: document how to add a terminal export
ciembor Apr 24, 2026
0d05251
feat: add linkedin and facebook sharing buttons
ciembor Apr 24, 2026
e0e26a1
style: refine social share button hover states
ciembor Apr 24, 2026
df3f961
test: reach full coverage and remove dead query branches
ciembor Apr 24, 2026
eb55f7d
Add basic e2e tests.
ciembor Apr 24, 2026
3f49cd4
feat: add compact scheme sharing URLs
ciembor May 10, 2026
c3ae633
Add SEO about page
ciembor May 11, 2026
6bc6a7e
Improve about page image SEO
ciembor May 11, 2026
a7932ef
Add image license metadata
ciembor May 11, 2026
f123e8c
Style about feature cards as terminals
ciembor May 11, 2026
4e0b9da
Add Windows Terminal export
ciembor May 13, 2026
962f4f9
Update GNOME Terminal export
ciembor May 13, 2026
cf4b266
Add Termite export
ciembor May 13, 2026
20022f8
Add ConEmu export
ciembor May 13, 2026
4f60f3c
Stabilize ConEmu snapshot date
ciembor May 13, 2026
c52c75e
Add KiTTY export
ciembor May 13, 2026
4741e2d
Add macOS Terminal export
ciembor May 13, 2026
6252e1c
Migrate terminal preview to xterm.js
ciembor May 14, 2026
6c8441e
Add interactive terminal preview commands
ciembor May 14, 2026
c275c58
Fix terminal view dimensions while loading page.
ciembor May 14, 2026
e6a56d0
Organize terminal preview modules
ciembor May 14, 2026
0e213bc
Add terminal usability command
ciembor May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Pages

on:
pull_request:
push:
branches:
- master

permissions:
contents: read

concurrency:
group: pages
cancel-in-progress: true

jobs:
verify:
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v6

- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: npm

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm test

- name: Build site
run: npm run build

- name: Upload Pages artifact
if: github.event_name == 'push'
uses: actions/upload-pages-artifact@v5
with:
path: ./dist

deploy:
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
needs: verify
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@v5
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
*.swp
node_modules
dist
coverage
playwright-report
test-results
TODO.md
js/compiled.js
css/_compiled_main.css
css/merged.css
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24.15.0
12 changes: 0 additions & 12 deletions .project

This file was deleted.

Binary file added 4bit-terminal-color-scheme-designer.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
237 changes: 237 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,237 @@
# Changelog

This changelog summarizes the full project history reconstructed from the repository commits since the project started on August 20, 2012.

Early history is grouped by day to keep the file readable while still covering the full timeline.

## 2026

### 2026-05-15

- Reorganized the xterm.js terminal preview modules around terminal-view naming to avoid confusion with the xterm export format.
- Split terminal preview command builders into a dedicated commands area.
- Added a live `usability` command that reports WCAG-based text contrast for the current terminal palette.
- Updated terminal help output with grouped tools and example commands, including colored command names and short descriptions.

### 2026-05-14

- Migrated the terminal preview window to xterm.js while preserving the classic 4bit terminal proportions and font behavior.
- Added an interactive terminal preview prompt with commands for color matrix, `git diff`, `git status`, `ls`, `ls -al`, `clear`, and help output.
- Kept terminal preview content stable during slider changes by updating the theme without restoring the boot transcript.
- Fixed terminal view dimensions while the page and font are loading.

### 2026-05-13

- Added export support for Windows Terminal, Termite, ConEmu, KiTTY, and macOS Terminal.
- Updated GNOME Terminal export support for the newer format without keeping the old fallback.
- Stabilized the ConEmu snapshot date used in generated output.

### 2026-05-12

- Restyled About page feature cards to resemble terminal previews.

### 2026-05-11

- Added a dedicated SEO-focused About page for 4bit with project history, supported terminal links, source references, and an explanation of the color-generation model.
- Reworked the page header navigation so the About page links back to the editor while the editor keeps the download workflow.
- Shared the page shell, header, footer, button, theme, asset, and store code between the editor and About page.
- Reorganized presentation code into `about-page`, `editor-page`, and `shared` areas to reduce coupling between page-specific UI and shared layout.
- Decoupled browser URL synchronization from Pinia by passing the scheme store into the infrastructure adapter.

### 2026-05-10

- Added compact `s` query-string serialization for complete scheme settings while keeping backward compatibility with legacy shared URLs.
- Added mintty drag-and-drop URL payload support so generated palettes can be dropped into mintty from shared links.
- Updated social sharing and browser URL synchronization to use the compressed scheme settings and mintty drag payload.
- Extended unit and browser smoke coverage for compressed settings, legacy URL hydration, sharing URLs, and mintty drag serialization.

### 2026-04-22

- Completed the Vue migration of the remaining UI pieces.
- Refactored `Advanced` controls to Vue components while keeping the legacy jQuery color wheel wrapped inside Vue.
- Ported newer legacy `master` changes into the Vue app, including exporter updates and newer defaults.
- Removed leftover legacy entrypoints and duplicated assets that were no longer used by the Vite app.
- Unified slider wrappers and added proper jQuery UI cleanup on unmount.
- Replaced runtime `<style>` injection with CSS variables driven by the calculated scheme store.
- Scoped component layout styles and moved more styling closer to Vue components.
- Added SEO metadata, JSON-LD, `robots.txt`, `sitemap.xml`, and a dedicated social preview image.
- Configured the Vite production base path for GitHub Pages project-site deploys.
- Simplified the XML sitemap, added a text sitemap fallback, and disabled Jekyll processing for GitHub Pages.
- Added unit tests for palette calculation and export generation.
- Added a GitHub Actions workflow that runs tests and deploys GitHub Pages from `master`.
- Upgraded the project runtime target to Node 24 and refreshed the dependency stack, including jQuery 4 and Color 5.
- Added an Advanced `Hue Set` tab for choosing Monochrome, Duotone, Tricolor, or Hexachrome chromatic presets with adjustable hue, saturation, and lightness ranges, including neutral defaults that preserve the legacy standard palette.
- Added query-string persistence for the full scheme state so generated palettes can be shared as links, with backward-compatible hue-set aliases for older URLs and automatic restoration of the last used scheme when returning without query parameters.
- Added a `defaults` button next to `Global Properties` that resets the full scheme back to the built-in defaults.
- Updated `Hue Set` so `duotone` uses complementary hues and the main Hue slider adapts its range to the active preset while staying stable when switching modes.
- Updated the X share button to use the current scheme URL and prefill share text while keeping the original widget styling.
- Updated developer setup notes in the README.
- Updated author links in the README and footer.

### 2026-04-21

- Refactored the `Get Scheme` / download dialog from legacy code to a Vue component.

## 2025

### 2025-01-08

- Refactored color and scheme logic by extracting more behavior from stores into services.

### 2025-01-06

- Added chromatic, black, and white lightness sliders.

### 2025-01-04

- Added hue and saturation sliders.

### 2025-01-02

- Added the editable scheme store.
- Connected the terminal preview to live state.
- Added the dynamic style service used at that stage of the migration.

## 2024

### 2024-12-31

- Added the terminal preview component.

### 2024-12-30

- Applied layout corrections.
- Moved images into `public`.
- Added ESLint with Vue support.

### 2024-12-27

- Rewrote the page shell, header, and footer in Vue.

### 2024-12-21

- Started the modern frontend migration.
- Installed Vue and Pinia.
- Added Vite and Less.
- Created `src/` and moved styles there.
- Removed the legacy Google Closure Library dependency.

## 2023

### 2023-04-17

- Made the download dialog scroll when the terminal list gets long.
- Removed Google Plus and Facebook buttons from the page header/footer area.
- Updated links to the proper domain.
- Adjusted the social media wrapper sizing.
- Added a favicon.

### 2023-04-16

- Moved Closure Compiler into the project via npm and updated the build script.
- Performed cleanup and documentation updates.

### 2023-04-15

- Changed exported configuration formats to download as files instead of opening raw text in a new tab.

### 2023-04-14

- Added the deprecated Google Closure Library as a submodule as an intermediate maintenance step.
- Updated the README.

## 2016

### 2016-04-13

- Merged the Terminator homepage URL fix from PR #25.

### 2016-01-06

- Updated the Terminator homepage URL.

## 2014

### 2014-03-03

- Added Google Analytics.
- Updated `lessc` usage for a newer API and full-path execution.

## 2013

### 2013-02-02

- Merged Terminator support.
- Added Terminator documentation to the README.

### 2013-02-01

- Fixed the color order in the Terminator palette export.

### 2013-01-30

- Added Terminator support.

## 2012

### 2012-09-23

- Added Gnome Terminal support.
- Added PuTTY support.
- Updated the README with PuTTY and Gnome Terminal documentation.

### 2012-09-07

- Added mintty support.
- Revised the mintty exporter.
- Darkened the dialog overlay.

### 2012-09-01 to 2012-09-02

- Added Guake support and revised the generated output.
- Added iTerm2 `.itermcolors` export support.
- Corrected iTerm2 output values to use reals from `0` to `1`.
- Added iTerm2 instructions to the README.
- Cleaned trailing whitespace and other small formatting issues.

### 2012-08-30

- Updated the README.

### 2012-08-27

- Added XFCE4 Terminal support.
- Updated generated timestamps.
- Removed Aptana project config from the repository.

### 2012-08-26

- Improved development build speed.
- Expanded usage instructions and documentation.

### 2012-08-25

- Added the `Get Scheme` button with the dialog flow used by the classic app.
- Prepared KDE-related support for production.
- Updated contributor links, README content, `_blank` behavior, and CSS cache handling.

### 2012-08-24

- Added Konsole `.colorscheme` generation support.
- Merged the related contribution from Stefan Wienert.

### 2012-08-22

- Fixed inverted cyan and magenta colors.
- Bundled third-party libraries, fonts, and images into the repository to simplify contributions.
- Expanded information about supported terminals and project usage.

### 2012-08-21

- Cleaned the app directory.
- Applied early visual fixes.

### 2012-08-20

- Initial commit.
- First beta version of the project.
Loading