From a76ccd6660d0949bacd82a3355489f60251d7a24 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Nov 2025 18:14:21 +0000 Subject: [PATCH 1/5] Initial plan From 962d7986caa217f35f26458a8cd7a6da0743f9bf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Nov 2025 18:20:34 +0000 Subject: [PATCH 2/5] Add SCSS build system with automated CSS minification Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/ci.yml | 12 ++++++++++++ .gitignore | 7 +++++++ README.md | 27 +++++++++++++++++++++++++++ css/main.css => _sass/main.scss | 0 index.html | 2 +- package.json | 17 +++++++++++++++++ 6 files changed, 64 insertions(+), 1 deletion(-) rename css/main.css => _sass/main.scss (100%) create mode 100644 package.json diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf1ac1e..f04f8f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,6 +17,18 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install Node dependencies + run: npm ci + + - name: Build CSS + run: npm run build:css + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.gitignore b/.gitignore index 048ca89..c436f51 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,13 @@ vendor/ .bundle/ Gemfile.lock +# Node.js +node_modules/ +package-lock.json + +# Generated CSS +css/ + # ========================= # Operating System Files # ========================= diff --git a/README.md b/README.md index ef04f36..77d7e16 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,30 @@ The cmder.net page. [![CI](https://github.com/cmderdev/cmderdev.github.io/actions/workflows/ci.yml/badge.svg)](https://github.com/cmderdev/cmderdev.github.io/actions/workflows/ci.yml) + +## Development + +### Building CSS + +This project uses SCSS for styling. The source files are in `_sass/` and the compiled CSS is generated in `css/`. + +To build the CSS: +```bash +npm install +npm run build:css +``` + +To watch for changes and rebuild automatically: +```bash +npm run watch:css +``` + +### Building the Site + +The site uses Jekyll for static site generation: +```bash +bundle install +bundle exec jekyll build +``` + +The built site will be in the `_site/` directory. diff --git a/css/main.css b/_sass/main.scss similarity index 100% rename from css/main.css rename to _sass/main.scss diff --git a/index.html b/index.html index 1dbee5a..cf30211 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@ - + diff --git a/package.json b/package.json new file mode 100644 index 0000000..8e30f04 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "cmderdev.github.io", + "version": "1.0.0", + "description": "The cmder.net page.", + "main": "index.js", + "scripts": { + "build:css": "sass _sass/main.scss css/main.min.css --style=compressed", + "watch:css": "sass _sass/main.scss css/main.min.css --watch --style=compressed", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "sass": "^1.94.0" + } +} From ce85a4e4efb03b5a78bee9a99e93da2f97061004 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Nov 2025 18:21:40 +0000 Subject: [PATCH 3/5] Rename _sass directory to scss Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- README.md | 2 +- package.json | 4 ++-- {_sass => scss}/main.scss | 0 3 files changed, 3 insertions(+), 3 deletions(-) rename {_sass => scss}/main.scss (100%) diff --git a/README.md b/README.md index 77d7e16..c8f29e7 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ The cmder.net page. ### Building CSS -This project uses SCSS for styling. The source files are in `_sass/` and the compiled CSS is generated in `css/`. +This project uses SCSS for styling. The source files are in `scss/` and the compiled CSS is generated in `css/`. To build the CSS: ```bash diff --git a/package.json b/package.json index 8e30f04..7923eda 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "description": "The cmder.net page.", "main": "index.js", "scripts": { - "build:css": "sass _sass/main.scss css/main.min.css --style=compressed", - "watch:css": "sass _sass/main.scss css/main.min.css --watch --style=compressed", + "build:css": "sass scss/main.scss css/main.min.css --style=compressed", + "watch:css": "sass scss/main.scss css/main.min.css --watch --style=compressed", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], diff --git a/_sass/main.scss b/scss/main.scss similarity index 100% rename from _sass/main.scss rename to scss/main.scss From cb827b51cdf3fb0cc4c4b771e17b6f7f91eba079 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Nov 2025 18:41:15 +0000 Subject: [PATCH 4/5] Include minified CSS in repository and add CI verification - Remove css/ from .gitignore to commit minified CSS for GitHub Pages - Ignore only CSS source maps (css/*.map) - Add CI step to verify committed CSS matches SCSS source - Ensures CSS is always kept up to date with SCSS changes Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .github/workflows/ci.yml | 15 +++++++++++++++ .gitignore | 4 ++-- css/main.min.css | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 css/main.min.css diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f04f8f0..823d0ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,21 @@ jobs: - name: Build CSS run: npm run build:css + - name: Verify CSS is up to date + run: | + # Check if the built CSS matches what's committed + if ! git diff --quiet css/main.min.css; then + echo "❌ Error: css/main.min.css is out of date!" + echo "The committed minified CSS doesn't match the SCSS source." + echo "" + echo "Please run 'npm run build:css' and commit the updated CSS file." + echo "" + echo "Differences found:" + git diff css/main.min.css + exit 1 + fi + echo "✅ CSS is up to date with SCSS source" + - name: Set up Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.gitignore b/.gitignore index c436f51..61966b6 100644 --- a/.gitignore +++ b/.gitignore @@ -20,8 +20,8 @@ Gemfile.lock node_modules/ package-lock.json -# Generated CSS -css/ +# Generated CSS source maps (keep the minified CSS for GitHub Pages) +css/*.map # ========================= # Operating System Files diff --git a/css/main.min.css b/css/main.min.css new file mode 100644 index 0000000..bed01ca --- /dev/null +++ b/css/main.min.css @@ -0,0 +1 @@ +html,body,button,input,select,textarea{color:#212529}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}body{background-color:#f5f5f5;font-size:.9em;font-family:"Lato",Candara,Calibri,Segoe,"Segoe UI",Optima,Arial,sans-serif;line-height:1.4}body>div.container,body>div.container-fluid{margin:2em auto;padding:0 0 2em 0;background-color:#fff;box-shadow:0 0 8px 3px #eee}main>section{margin:0 auto;widows:100%}@media(max-width: 768px){body>div.container,body>div.container-fluid{margin-top:0}}a{color:#1e90ff}h2{padding:.5em 1em;color:#444;text-align:center;font-weight:300;font-style:italic;font-size:1.2em}h2:before,h2:after{display:block;margin:.5em auto;width:50%;height:1px;background-color:#eee;content:""}h3{margin:2.3em 0 0 0;padding:8px;background-color:#eee;color:#222;text-indent:.2em;letter-spacing:.2em;font-weight:normal;font-size:1.3em}h4{margin:1em 0;color:#444;text-indent:8px;letter-spacing:.1em;font-size:1.1em;font-weight:700;text-rendering:optimizeLegibility}.btn{display:block;padding:12px 0;width:100%;border:1px solid #eee;border-radius:4px;background-color:#888;box-shadow:inset 0 0 3px rgba(0,0,0,.02) !important;color:#fff;text-shadow:0 0 1px rgba(0,0,0,.2);font-size:1.1em;outline:none;text-decoration:none;transition:background-color .3s}.btn:active:focus{outline:none;box-shadow:none}.btn.btn-secondary{border:1px solid #eee;background-color:#c4c4c4;color:#eee}.btn.btn-secondary:hover{border:1px solid #eee;background-color:#ccc;color:#eee}.btn.btn-secondary:active{border:1px solid #eee;background-color:#bbb;color:#eee}.btn.btn-primary{border:1px solid #eee;background-color:#3498db;color:#eee}.btn.btn-primary:hover{border:1px solid #eee;background-color:#5dade2;color:#eee}.btn.btn-primary:active{border:1px solid #eee !important;background-color:#1e90ff !important;color:#eee !important}header{position:relative;overflow:hidden;color:#fff;letter-spacing:.1em;font-weight:normal;font-size:1.6em;font-family:"Lato",Candara,Calibri,Segoe,"Segoe UI",Optima,Arial,sans-serif}#title_image{display:block;margin:0 auto;width:100%;height:auto}@media(max-width: 1000px){#title_image{margin-left:-10%;width:120%}}main{padding:0em 6%}#logo,#pitch{position:absolute;width:100%;text-align:center}#pitch{top:100px;color:#222;text-shadow:1px 1px 0 rgba(88,88,88,.5);font-style:italic;font-size:.6em}#logo{top:50px}#logo img{height:40px}.information img{width:100%}.information p{margin:0;padding:0 .5em;padding-bottom:3em;line-height:1.4em}.download{padding-top:1.2em;max-width:35em;text-align:center}.download>.github{margin-bottom:1.5em}#installation{text-align:left}.download small{display:inline-block;margin:.5em 0 0}footer{text-align:center;font-size:small;padding-bottom:2em}code{padding:1px 3px;border-radius:2px;color:#222;background-color:#eee;font-size:.9em;font-family:Consolas,monaco,monospace}ul{padding-left:8px;list-style:none}ul ol{margin:.5em 0;padding:0 0 0 30px;list-style:none}@media(prefers-color-scheme: dark){html,body,button,input,select,textarea{color:#e0e0e0}body{background-color:#1a1a1a}body>div.container,body>div.container-fluid{background-color:#2a2a2a;box-shadow:0 0 8px 3px #000}a{color:#5dade2}h2{color:#d0d0d0}h2:before,h2:after{background-color:#444}h3{background-color:#333;color:#e0e0e0}h4{color:#d0d0d0}#pitch{color:#e0e0e0;text-shadow:1px 1px 0 rgba(0,0,0,.8)}.btn{border:1px solid #444;background-color:#555;color:#e0e0e0}.btn.btn-secondary{border:1px solid #444;background-color:#4a4a4a;color:#e0e0e0}.btn.btn-secondary:hover{border:1px solid #555;background-color:#555;color:#e0e0e0}.btn.btn-secondary:active{border:1px solid #666;background-color:#606060;color:#e0e0e0}.btn.btn-primary{border:1px solid #2980b9;background-color:#2980b9;color:#e0e0e0}.btn.btn-primary:hover{border:1px solid #3498db;background-color:#3498db;color:#e0e0e0}.btn.btn-primary:active{border:1px solid #1e90ff !important;background-color:#1e90ff !important;color:#e0e0e0 !important}code{color:#e0e0e0;background-color:#3a3a3a}footer{color:#b0b0b0}}/*# sourceMappingURL=main.min.css.map */ From 31a9115ecbe471c580fe9916f79dbf9512c3a356 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 13 Nov 2025 18:43:02 +0000 Subject: [PATCH 5/5] Update domain references from cmder.net to cmder.app - Update README.md description - Update package.json description - Update .gitignore comment - Aligns with current domain in CNAME file Co-authored-by: DRSDavidSoft <4673812+DRSDavidSoft@users.noreply.github.com> --- .gitignore | 2 +- README.md | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 61966b6..ff61052 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # ========================= -# Cmder.net Home page +# Cmder.app Home page # ========================= # Reserved hidden directory diff --git a/README.md b/README.md index c8f29e7..e8f77dd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # cmderdev.github.io -The cmder.net page. +The cmder.app page. [![CI](https://github.com/cmderdev/cmderdev.github.io/actions/workflows/ci.yml/badge.svg)](https://github.com/cmderdev/cmderdev.github.io/actions/workflows/ci.yml) diff --git a/package.json b/package.json index 7923eda..8dc49bb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "cmderdev.github.io", "version": "1.0.0", - "description": "The cmder.net page.", + "description": "The cmder.app page.", "main": "index.js", "scripts": { "build:css": "sass scss/main.scss css/main.min.css --style=compressed",