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 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
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![Jekyll](https://img.shields.io/badge/Jekyll-%3E%3D%204.3-blue.svg)](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!