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.
[](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.
[](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",