spectrum-er 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.htaccess +34 -0
- data/LICENSE.txt +21 -0
- data/README.md +330 -0
- data/_config.yml +340 -0
- data/_data/navigation.yml +38 -0
- data/_includes/content-card.html +30 -0
- data/_includes/gallery-track.html +97 -0
- data/_includes/photo-card.html +23 -0
- data/_includes/section-header.html +12 -0
- data/_includes/site-navigation.html +33 -0
- data/_includes/structured-data.html +22 -0
- data/_includes/tech-bite-card.html +52 -0
- data/_layouts/about.html +63 -0
- data/_layouts/default.html +210 -0
- data/_layouts/films-list.html +27 -0
- data/_layouts/tech-bite-list.html +105 -0
- data/_layouts/tech-bite.html +60 -0
- data/_sass/_base.scss +298 -0
- data/_sass/_color-variables.scss +262 -0
- data/_sass/_components.scss +519 -0
- data/_sass/_layouts.scss +820 -0
- data/_sass/_sections.scss +163 -0
- data/_sass/_utilities.scss +301 -0
- data/assets/css/main.scss +21 -0
- data/assets/images/films/IMG_2112.JPG +0 -0
- data/assets/images/films/IMG_8987.jpg +0 -0
- data/assets/images/films/IMG_8998.jpg +0 -0
- data/assets/images/films/IMG_9270.jpg +0 -0
- data/assets/images/films/IMG_9504.jpg +0 -0
- data/assets/images/films/IMG_9570.jpg +0 -0
- data/assets/js/theme-manager.js +271 -0
- metadata +150 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1d905a3dd72b19ccea52beeccdb7107a66480a69aa081869a498d301120b4693
|
4
|
+
data.tar.gz: c9dc643776f80ece508b2789daac0af36965d0fd01784665c94dc63665f74f2b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4b23054e9e587a114b563be927e48317920331d3b13ee03879875a5cd293a477f73dc91b2274c9dba624befd55ab845b1ed5d302c4ed5339c04e223e8d491148
|
7
|
+
data.tar.gz: 9569930f023b0021aee8c56a5e5702f7fa7305db30c7ca66600ef65b365b22064954e684661fb4389e79408ab725045ff25ca0f28ed0f0410e280d6b1947c998
|
data/.htaccess
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# Performance Optimizations
|
2
|
+
# ========================
|
3
|
+
|
4
|
+
# Enable compression
|
5
|
+
<IfModule mod_deflate.c>
|
6
|
+
AddOutputFilterByType DEFLATE text/plain
|
7
|
+
AddOutputFilterByType DEFLATE text/html
|
8
|
+
AddOutputFilterByType DEFLATE text/xml
|
9
|
+
AddOutputFilterByType DEFLATE text/css
|
10
|
+
AddOutputFilterByType DEFLATE application/xml
|
11
|
+
AddOutputFilterByType DEFLATE application/xhtml+xml
|
12
|
+
AddOutputFilterByType DEFLATE application/rss+xml
|
13
|
+
AddOutputFilterByType DEFLATE application/javascript
|
14
|
+
AddOutputFilterByType DEFLATE application/x-javascript
|
15
|
+
</IfModule>
|
16
|
+
|
17
|
+
# Browser caching
|
18
|
+
<IfModule mod_expires.c>
|
19
|
+
ExpiresActive on
|
20
|
+
ExpiresByType text/css "access plus 1 year"
|
21
|
+
ExpiresByType application/javascript "access plus 1 year"
|
22
|
+
ExpiresByType image/png "access plus 1 year"
|
23
|
+
ExpiresByType image/jpg "access plus 1 year"
|
24
|
+
ExpiresByType image/jpeg "access plus 1 year"
|
25
|
+
ExpiresByType image/gif "access plus 1 year"
|
26
|
+
ExpiresByType image/svg+xml "access plus 1 year"
|
27
|
+
</IfModule>
|
28
|
+
|
29
|
+
# Security headers
|
30
|
+
<IfModule mod_headers.c>
|
31
|
+
Header always set X-Content-Type-Options nosniff
|
32
|
+
Header always set X-Frame-Options DENY
|
33
|
+
Header always set X-XSS-Protection "1; mode=block"
|
34
|
+
</IfModule>
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2025 Duhyeon Kim
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,330 @@
|
|
1
|
+
# Spectrum-er Jekyll Theme
|
2
|
+
|
3
|
+
[](https://opensource.org/licenses/MIT)
|
4
|
+
[](https://jekyllrb.com/)
|
5
|
+
|
6
|
+
A clean, minimal Jekyll theme designed for developers and tech enthusiasts. Perfect for personal websites, tech blogs, and portfolios with a focus on readability and performance.
|
7
|
+
|
8
|
+
> **✅ Gem Support**: This theme is now available as a Jekyll gem! You can install it via Bundler or use the traditional Git clone method.
|
9
|
+
|
10
|
+
## ✨ Features
|
11
|
+
|
12
|
+
- **🎨 Minimal Design**: Clean, academic-style layout with focus on content
|
13
|
+
- **📱 Fully Responsive**: Mobile-first design that works on all devices
|
14
|
+
- **🌙 Dark Mode**: Built-in dark/light theme toggle with system preference detection
|
15
|
+
- **⚡ Fast Performance**: Optimized CSS and minimal JavaScript for quick loading
|
16
|
+
- **📝 Tech Bites**: Dedicated section for tech insights and bite-sized content
|
17
|
+
- **🔍 SEO Optimized**: Built-in SEO tags and structured data
|
18
|
+
- **♿ Accessible**: WCAG compliant with proper focus indicators and semantic HTML
|
19
|
+
- **🎯 Photography Gallery**: Beautiful image showcase with smooth animations
|
20
|
+
|
21
|
+
## 🚀 Quick Start
|
22
|
+
|
23
|
+
### Prerequisites
|
24
|
+
- Ruby 2.7+
|
25
|
+
- Bundler
|
26
|
+
- Jekyll 4.3+
|
27
|
+
|
28
|
+
### Installation
|
29
|
+
|
30
|
+
#### Method 1: Jekyll Gem (Recommended)
|
31
|
+
|
32
|
+
1. **Add to your Gemfile**
|
33
|
+
```ruby
|
34
|
+
gem "spectrum-er"
|
35
|
+
```
|
36
|
+
|
37
|
+
2. **Install and setup**
|
38
|
+
```bash
|
39
|
+
bundle install
|
40
|
+
bundle exec jekyll new my-site --blank
|
41
|
+
cd my-site
|
42
|
+
```
|
43
|
+
|
44
|
+
3. **Configure your site** by editing `_config.yml`:
|
45
|
+
```yaml
|
46
|
+
theme: spectrum-er
|
47
|
+
```
|
48
|
+
|
49
|
+
#### Method 2: Git Clone (For Development)
|
50
|
+
|
51
|
+
1. **Clone and setup**
|
52
|
+
```bash
|
53
|
+
git clone https://github.com/dudududukim/spectrum.git
|
54
|
+
cd spectrum
|
55
|
+
bundle install
|
56
|
+
```
|
57
|
+
|
58
|
+
2. **Configure your site** by editing `_config.yml`:
|
59
|
+
```
|
60
|
+
title: "Your Name"
|
61
|
+
description: "Your website description"
|
62
|
+
url: "https://yoursite.com"
|
63
|
+
author: "Your Name"
|
64
|
+
|
65
|
+
personal:
|
66
|
+
name: "Your Display Name"
|
67
|
+
bio: "Developer passionate about technology, design, and continuous learning"
|
68
|
+
location: "Your Location"
|
69
|
+
|
70
|
+
social:
|
71
|
+
enabled: true
|
72
|
+
platforms:
|
73
|
+
github:
|
74
|
+
enabled: true
|
75
|
+
url: "https://github.com/username"
|
76
|
+
linkedin:
|
77
|
+
enabled: true
|
78
|
+
url: "https://linkedin.com/in/username"
|
79
|
+
email:
|
80
|
+
enabled: true
|
81
|
+
url: "your@email.com"
|
82
|
+
```
|
83
|
+
|
84
|
+
3. **Run your site locally**:
|
85
|
+
```
|
86
|
+
bundle exec jekyll serve
|
87
|
+
```
|
88
|
+
|
89
|
+
4. **Visit** `http://localhost:4000` to see your site!
|
90
|
+
|
91
|
+
### 🔮 Future: Gem Installation (Coming Soon)
|
92
|
+
|
93
|
+
We're working on distributing this theme as a gem for easier installation and updates:
|
94
|
+
|
95
|
+
```
|
96
|
+
# This will be available soon
|
97
|
+
gem "spectrum"
|
98
|
+
```
|
99
|
+
|
100
|
+
```
|
101
|
+
# _config.yml
|
102
|
+
theme: spectrum
|
103
|
+
```
|
104
|
+
|
105
|
+
## 📖 Usage
|
106
|
+
|
107
|
+
### Using as a Jekyll Gem
|
108
|
+
|
109
|
+
When using the gem version, you can override theme files by creating files with the same name in your site directory:
|
110
|
+
|
111
|
+
```bash
|
112
|
+
# Override theme layouts
|
113
|
+
mkdir -p _layouts
|
114
|
+
cp _site/_layouts/default.html _layouts/
|
115
|
+
|
116
|
+
# Override theme includes
|
117
|
+
mkdir -p _includes
|
118
|
+
cp _site/_includes/site-navigation.html _includes/
|
119
|
+
|
120
|
+
# Override theme styles
|
121
|
+
mkdir -p _sass
|
122
|
+
cp _site/_sass/_color-variables.scss _sass/
|
123
|
+
```
|
124
|
+
|
125
|
+
### Configuration
|
126
|
+
|
127
|
+
The theme supports extensive configuration through `_config.yml`:
|
128
|
+
|
129
|
+
### Creating Tech Bites
|
130
|
+
|
131
|
+
Create files in `_tech-bites/` directory:
|
132
|
+
|
133
|
+
```
|
134
|
+
***
|
135
|
+
title: "Your Tech Insight Title"
|
136
|
+
date: 2024-01-15
|
137
|
+
categories: ["JavaScript", "Web Dev"]
|
138
|
+
description: "Brief description of your tech insight"
|
139
|
+
reading_time: 3
|
140
|
+
***
|
141
|
+
|
142
|
+
Your content here using Markdown...
|
143
|
+
```
|
144
|
+
|
145
|
+
### Adding Photos
|
146
|
+
|
147
|
+
Place images in `assets/images/films/` directory. The theme will automatically generate a photo gallery with smooth animations.
|
148
|
+
|
149
|
+
### Customization
|
150
|
+
|
151
|
+
#### Colors & Theme
|
152
|
+
|
153
|
+
The theme uses CSS custom properties for easy customization:
|
154
|
+
|
155
|
+
```
|
156
|
+
:root {
|
157
|
+
--primary-color: #3498db;
|
158
|
+
--secondary-color: #2c3e50;
|
159
|
+
--accent-color: #e74c3c;
|
160
|
+
--bg-color: #ffffff;
|
161
|
+
--text-color: #2c3e50;
|
162
|
+
}
|
163
|
+
```
|
164
|
+
|
165
|
+
#### Typography
|
166
|
+
|
167
|
+
Modify typography by overriding the default Sass variables:
|
168
|
+
|
169
|
+
```
|
170
|
+
$font-family: 'Your-Font', Lato, sans-serif;
|
171
|
+
$base-font-size: 1rem;
|
172
|
+
$line-height: 1.6;
|
173
|
+
```
|
174
|
+
|
175
|
+
## 🏗️ File Structure
|
176
|
+
|
177
|
+
```
|
178
|
+
├── _includes/ # Theme components
|
179
|
+
│ ├── site-navigation.html
|
180
|
+
│ ├── tech-bite-card.html
|
181
|
+
│ └── gallery-track.html
|
182
|
+
├── _layouts/ # Page templates
|
183
|
+
│ ├── default.html
|
184
|
+
│ ├── about.html
|
185
|
+
│ ├── tech-bite-list.html
|
186
|
+
│ └── tech-bite.html
|
187
|
+
├── _sass/ # Theme stylesheets
|
188
|
+
│ ├── base.scss
|
189
|
+
│ ├── components.scss
|
190
|
+
│ ├── layouts.scss
|
191
|
+
│ └── utilities.scss
|
192
|
+
├── _tech-bites/ # Your tech content goes here
|
193
|
+
├── assets/
|
194
|
+
│ ├── css/
|
195
|
+
│ └── images/
|
196
|
+
└── _config.yml # Main configuration
|
197
|
+
```
|
198
|
+
|
199
|
+
## 🎨 Customization Guide
|
200
|
+
|
201
|
+
### Homepage Sections
|
202
|
+
|
203
|
+
Control which sections appear on your homepage:
|
204
|
+
|
205
|
+
```
|
206
|
+
homepage_sections:
|
207
|
+
tech_bites_preview:
|
208
|
+
enabled: true
|
209
|
+
show_count: 5
|
210
|
+
custom_title: "Recent Tech Insights"
|
211
|
+
|
212
|
+
films_preview:
|
213
|
+
enabled: true
|
214
|
+
show_count: 6
|
215
|
+
animation_duration: 60
|
216
|
+
```
|
217
|
+
|
218
|
+
### Navigation
|
219
|
+
|
220
|
+
Customize your site navigation in `_data/navigation.yml`:
|
221
|
+
|
222
|
+
```
|
223
|
+
primary:
|
224
|
+
- title: "Home"
|
225
|
+
url: "/"
|
226
|
+
- title: "Tech Bites"
|
227
|
+
url: "/tech-bites/"
|
228
|
+
- title: "About"
|
229
|
+
url: "/about/"
|
230
|
+
```
|
231
|
+
|
232
|
+
## 🚢 Deployment
|
233
|
+
|
234
|
+
### GitHub Pages
|
235
|
+
|
236
|
+
1. Fork this repository to your GitHub account
|
237
|
+
2. Rename it to `username.github.io` (replace `username` with your GitHub username)
|
238
|
+
3. Edit `_config.yml` with your information
|
239
|
+
4. Go to **Settings** > **Pages**
|
240
|
+
5. Select **Deploy from a branch** > **main**
|
241
|
+
6. Your site will be available at `https://username.github.io`
|
242
|
+
|
243
|
+
### Netlify
|
244
|
+
|
245
|
+
1. Fork this repository
|
246
|
+
2. Connect your forked repository to Netlify
|
247
|
+
3. Set build command: `bundle exec jekyll build`
|
248
|
+
4. Set publish directory: `_site`
|
249
|
+
5. Deploy!
|
250
|
+
|
251
|
+
### Vercel
|
252
|
+
|
253
|
+
1. Fork this repository
|
254
|
+
2. Import your forked repository to Vercel
|
255
|
+
3. Framework: **Jekyll**
|
256
|
+
4. Build command: `bundle exec jekyll build`
|
257
|
+
5. Output directory: `_site`
|
258
|
+
|
259
|
+
## 📋 Development Roadmap
|
260
|
+
|
261
|
+
- [x] Core theme functionality
|
262
|
+
- [x] Responsive design
|
263
|
+
- [x] Dark mode support
|
264
|
+
- [x] Tech Bites system
|
265
|
+
- [x] Photo gallery
|
266
|
+
- [x] **Gem distribution** ✅
|
267
|
+
- [ ] Theme customization UI
|
268
|
+
- [ ] Additional layout options
|
269
|
+
- [ ] Plugin ecosystem
|
270
|
+
|
271
|
+
## 📦 Gem Distribution
|
272
|
+
|
273
|
+
This theme is distributed as a Ruby gem and can be installed via:
|
274
|
+
|
275
|
+
```bash
|
276
|
+
# Install from RubyGems (when published)
|
277
|
+
gem install spectrum-er
|
278
|
+
|
279
|
+
# Or add to your Gemfile
|
280
|
+
gem "spectrum-er"
|
281
|
+
```
|
282
|
+
|
283
|
+
### Publishing to RubyGems
|
284
|
+
|
285
|
+
To publish updates to RubyGems:
|
286
|
+
|
287
|
+
```bash
|
288
|
+
# Build the gem
|
289
|
+
gem build spectrum-er.gemspec
|
290
|
+
|
291
|
+
# Push to RubyGems (requires authentication)
|
292
|
+
gem push spectrum-er-1.0.0.gem
|
293
|
+
```
|
294
|
+
|
295
|
+
## 🤝 Contributing
|
296
|
+
|
297
|
+
Bug reports and pull requests are welcome on GitHub at [https://github.com/dudududukim/spectrum](https://github.com/dudududukim/spectrum). This project is intended to be a safe, welcoming space for collaboration.
|
298
|
+
|
299
|
+
### Development Setup
|
300
|
+
|
301
|
+
1. Fork the repository
|
302
|
+
2. Clone your fork: `git clone https://github.com/your-username/spectrum.git`
|
303
|
+
3. Create a feature branch: `git checkout -b feature-name`
|
304
|
+
4. Make your changes and test locally
|
305
|
+
5. Submit a pull request
|
306
|
+
|
307
|
+
## 📄 License
|
308
|
+
|
309
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
310
|
+
|
311
|
+
## 💖 Support
|
312
|
+
|
313
|
+
If you like this theme, please consider:
|
314
|
+
|
315
|
+
- ⭐ Starring the repository
|
316
|
+
- 🐛 Reporting bugs or suggesting features
|
317
|
+
- 🔗 Sharing it with others
|
318
|
+
- 💬 Joining discussions in Issues
|
319
|
+
|
320
|
+
## 👨💻 Author
|
321
|
+
|
322
|
+
**Duhyeon Kim**
|
323
|
+
- GitHub: [@dudududukim](https://github.com/dudududukim)
|
324
|
+
- LinkedIn: [Duhyeon Kim](https://www.linkedin.com/in/duhyeon-kim-6623082b1/)
|
325
|
+
|
326
|
+
---
|
327
|
+
|
328
|
+
Built with ❤️ using Jekyll and modern web technologies.
|
329
|
+
|
330
|
+
**Ready to get started?** Clone the repository and start building your awesome Jekyll site!
|