jekyll-calculus-theme 0.2.1 β†’ 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e8a7fb6009eb0087ec50c456f62ea6ac26f3e435c8c6888aefe528031eefc7e4
4
- data.tar.gz: 7ea6b5d5b8f88fb233c28ce4c8516d1d286ee008719768f4e3363be413593460
3
+ metadata.gz: 03abad96a2b6511814322653af2581004d4c1546afca3a3bb8d8c1b524d3d038
4
+ data.tar.gz: 0554f9f8c281ff7b3fc2ac8234117ccd105325767b7bfa72234350cf614fcaa1
5
5
  SHA512:
6
- metadata.gz: aa7bfac3e47c90cda7c5790c7700e2273a7d325dd99f721673bb497811f36e3cfed89085c8649a6695017baa2b05db9bdba936957732f5dfc82f60bf1475e87b
7
- data.tar.gz: 5266f459d489d36c5bd4e6b8307260f5cb4cd0bd9bb27972118e47c40a294163a2fc7460a15b408863824a3fdd806f8725653b7548b4b88aa7abc38180cff077
6
+ metadata.gz: db605308e3ebdb1fefb619c722a68be4582b8b48e9c3a404f46f175ef20ac033f6f619423466b174d5b0bb290b2cb814068cdf371dc0a7be94c943db148d64ed
7
+ data.tar.gz: f6c523d9b42803013fc1738311f387b6679cdf5033e6d340e56c8135abf75709dbed9164351e055a4b206218b0c477b4c3b738bae44dcd6710dcff6f0f69eecb
data/CHANGELOG.md ADDED
@@ -0,0 +1,59 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.3.0] - 2025-12-09
9
+
10
+ ### Added
11
+ - Jekyll SEO Tag plugin integration for better SEO
12
+ - Jekyll Feed plugin for RSS/Atom feeds
13
+ - Jekyll Sitemap plugin for automatic sitemap generation
14
+ - GitHub Actions CI workflow for automated testing across Ruby versions
15
+ - Dependabot configuration for automated dependency updates
16
+ - Example `_config.yml` file with comprehensive settings
17
+ - Modern metadata URIs in gemspec (bug tracker, changelog, documentation, etc.)
18
+ - Support for Ruby 3.0+ testing in CI
19
+ - Enhanced README with features list and detailed usage instructions
20
+ - CONTRIBUTING.md with contribution guidelines
21
+ - CODE_OF_CONDUCT.md following Contributor Covenant 2.1
22
+ - SECURITY.md with security policy and vulnerability reporting
23
+ - Rakefile with common development tasks
24
+ - .ruby-version file specifying Ruby 3.3.0
25
+ - GitHub issue templates (bug report and feature request)
26
+ - Pull request template for consistent PR submissions
27
+ - Required Ruby version constraint (>= 3.0.0) in gemspec
28
+
29
+ ### Changed
30
+ - Upgraded Jekyll dependency from ~> 4.2 to ~> 4.3
31
+ - Updated webrick dependency from ~> 1.7 to ~> 1.8
32
+ - Upgraded Font Awesome from 4.7.0 to 6.5.1
33
+ - Modernized `head.html` with jekyll-seo-tag and feed_meta
34
+ - Added X-UA-Compatible meta tag for better IE support
35
+ - Improved security with integrity checks and CORS policies for external resources
36
+ - Version bumped to 0.3.0
37
+ - Enhanced .gitignore with more comprehensive exclusions
38
+ - Updated gemspec file patterns to include CHANGELOG and example config
39
+ - Reverted to @import syntax for inline SCSS compilation compatibility
40
+ - Used pre-calculated color values instead of Sass functions for better compatibility
41
+ - Added logger gem dependency for Ruby 3.5+ compatibility
42
+
43
+ ### Improved
44
+ - Better SEO optimization out of the box
45
+ - Enhanced security with SRI (Subresource Integrity) checks
46
+ - More comprehensive documentation
47
+ - Better development workflow with CI/CD
48
+ - Automated dependency management with Dependabot
49
+ - Better community contribution experience
50
+ - More robust testing across multiple Ruby versions
51
+
52
+ ## [0.2.1] - Previous Release
53
+
54
+ ### Initial Features
55
+ - Minimalistic design for personal blogs
56
+ - Malayalam font support (Gayathri)
57
+ - Dark mode support
58
+ - Responsive design
59
+ - Multiple layout options
data/README.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  This is a minimalistic theme for personal blogs, with support for Malayalam font (Gayathri). It is built on top of [Gesko](https://github.com/P0WEX/Gesko) theme.
4
4
 
5
+ ## Features
6
+
7
+ - 🎨 Minimal and clean design
8
+ - πŸŒ“ Dark mode support
9
+ - πŸ“± Fully responsive
10
+ - πŸ” SEO optimized with jekyll-seo-tag
11
+ - πŸ“‘ RSS feed with jekyll-feed
12
+ - πŸ—ΊοΈ Automatic sitemap generation
13
+ - πŸ”€ Malayalam font support (Gayathri)
14
+ - ⚑ Fast and lightweight
5
15
 
6
16
  ## Installation
7
17
 
@@ -15,11 +25,16 @@ And add this line to your Jekyll site's `_config.yml`:
15
25
 
16
26
  ```yaml
17
27
  theme: jekyll-calculus-theme
28
+
29
+ plugins:
30
+ - jekyll-feed
31
+ - jekyll-seo-tag
32
+ - jekyll-sitemap
18
33
  ```
19
34
 
20
35
  And then execute:
21
36
 
22
- $ bundle
37
+ $ bundle install
23
38
 
24
39
  Or install it yourself as:
25
40
 
@@ -27,11 +42,83 @@ Or install it yourself as:
27
42
 
28
43
  ## Usage
29
44
 
30
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
45
+ ### Configuration
46
+
47
+ Add these settings to your `_config.yml`:
48
+
49
+ ```yaml
50
+ title: Your Blog Title
51
+ description: Your blog description
52
+ author: Your Name
53
+ email: your.email@example.com
54
+ url: https://yourdomain.com
55
+ baseurl: "" # subpath of your site, e.g. /blog
56
+
57
+ # Build settings
58
+ theme: jekyll-calculus-theme
59
+
60
+ # Plugins
61
+ plugins:
62
+ - jekyll-feed
63
+ - jekyll-seo-tag
64
+ - jekyll-sitemap
65
+
66
+ # Theme settings
67
+ show_excerpts: true
68
+ ```
69
+
70
+ ### Layouts
71
+
72
+ The theme includes the following layouts:
73
+
74
+ - `default` - Base layout with theme toggle
75
+ - `home` - Homepage layout
76
+ - `page` - Page layout
77
+ - `post` - Blog post layout
78
+ - `about` - About page layout
79
+ - `tag` - Tag archive layout
80
+
81
+ ### Creating Posts
82
+
83
+ Create posts in the `_posts` directory with the following format:
84
+
85
+ ```markdown
86
+ ---
87
+ layout: post
88
+ title: "Your Post Title"
89
+ date: 2025-12-09
90
+ tags: [tag1, tag2]
91
+ ---
92
+
93
+ Your post content here...
94
+ ```
95
+
96
+ ## Troubleshooting
97
+
98
+ ### Native Extension Build Errors
99
+
100
+ If you encounter errors building native extensions (bigdecimal, json, etc.), you need to install Ruby development headers:
101
+
102
+ **Fedora/RHEL:**
103
+ ```bash
104
+ sudo dnf install ruby-devel gcc make
105
+ ```
106
+
107
+ **Ubuntu/Debian:**
108
+ ```bash
109
+ sudo apt-get install ruby-dev build-essential
110
+ ```
111
+
112
+ **macOS:**
113
+ ```bash
114
+ xcode-select --install
115
+ ```
116
+
117
+ After installing the development tools, run `bundle install` again.
31
118
 
32
119
  ## Contributing
33
120
 
34
- Bug reports and pull requests are welcome on GitHub at https://github.com/jainbasil/calculus. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
121
+ Bug reports and pull requests are welcome on GitHub at https://github.com/jainbasil/calculus. Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.
35
122
 
36
123
  ## Development
37
124
 
@@ -0,0 +1,75 @@
1
+ # Example _config.yml for jekyll-calculus-theme
2
+ # Copy this to your Jekyll site and customize
3
+
4
+ title: Your Blog Title
5
+ description: Your blog description
6
+ author: Your Name
7
+ email: your.email@example.com
8
+ url: https://yourdomain.com
9
+ baseurl: "" # subpath of your site, e.g. /blog
10
+
11
+ # Build settings
12
+ theme: jekyll-calculus-theme
13
+ markdown: kramdown
14
+ highlighter: rouge
15
+
16
+ # Plugins
17
+ plugins:
18
+ - jekyll-feed
19
+ - jekyll-seo-tag
20
+ - jekyll-sitemap
21
+
22
+ # Theme settings
23
+ show_excerpts: true
24
+
25
+ # Pagination (optional)
26
+ # paginate: 10
27
+ # paginate_path: "/page:num/"
28
+
29
+ # Exclude from processing
30
+ exclude:
31
+ - Gemfile
32
+ - Gemfile.lock
33
+ - node_modules
34
+ - vendor/bundle/
35
+ - vendor/cache/
36
+ - vendor/gems/
37
+ - vendor/ruby/
38
+ - .sass-cache/
39
+ - .jekyll-cache/
40
+ - gemfiles/
41
+
42
+ # Collections (optional)
43
+ # collections:
44
+ # posts:
45
+ # output: true
46
+ # permalink: /:year/:month/:day/:title/
47
+
48
+ # Defaults
49
+ defaults:
50
+ - scope:
51
+ path: ""
52
+ type: "posts"
53
+ values:
54
+ layout: "post"
55
+ comments: true
56
+ - scope:
57
+ path: ""
58
+ type: "pages"
59
+ values:
60
+ layout: "page"
61
+
62
+ # Social links (optional)
63
+ # github_username: yourusername
64
+ # twitter_username: yourusername
65
+
66
+ # SEO settings
67
+ twitter:
68
+ username: yourusername
69
+ card: summary
70
+
71
+ social:
72
+ name: Your Name
73
+ links:
74
+ - https://twitter.com/yourusername
75
+ - https://github.com/yourusername
data/_includes/head.html CHANGED
@@ -1,36 +1,16 @@
1
1
  <head>
2
2
  <meta charset="UTF-8">
3
3
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
4
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
+
6
+ {% seo %}
4
7
 
5
8
  <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/syntax.css">
6
9
  <link rel="preconnect" href="https://cdnjs.cloudflare.com">
7
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
8
-
9
- <title>
10
- {% if page.tag or page.title %}
11
- {% if page.tag %}
12
- {{ page.tag | escape }}
13
- {% else %}
14
- {{ page.title | escape }}
15
- {% endif %}
16
- -
17
- {% endif %}
18
- {% if paginator and paginator.page and paginator.total_pages > 1 and paginator.page > 1 %}
19
- Page {{ paginator.page }} of {{ paginator.total_pages }} -
20
- {% endif %}
21
- {{ site.title | escape }}
22
- {% unless page.tag or page.title %}
23
- - {{ site.description | escape }}
24
- {% endunless %}
25
- </title>
26
-
27
-
28
-
10
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer">
29
11
 
30
12
  <link rel="shortcut icon" href="{{ site.baseurl }}/favicon.png">
31
- <link rel="alternate" type="application/atom+xml" title="{{ site.title }}" href="{{ site.baseurl }}/atom.xml">
32
- <link rel="alternate" type="application/json" title="{{ site.title }}" href="{{ "/feed.json" | prepend: site.baseurl | prepend: site.url }}" />
33
- <link rel="sitemap" type="application/xml" title="sitemap" href="{{ site.baseurl }}/sitemap.xml" />
13
+ {% feed_meta %}
34
14
 
35
15
  <link rel="preconnect" href="https://fonts.googleapis.com">
36
16
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
data/_sass/_main.scss CHANGED
@@ -361,7 +361,7 @@ main {
361
361
  color: #a9a9a9;
362
362
 
363
363
  &:hover {
364
- color: darken(#a9a9a9, 25%);
364
+ color: #6a6a6a;
365
365
  transition: color 0.3s ease-in;
366
366
  }
367
367
  }
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-calculus-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jain Basil Aliyas
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-01-29 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: jekyll
@@ -16,24 +15,109 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '4.2'
18
+ version: '4.3'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '4.2'
27
- description:
25
+ version: '4.3'
26
+ - !ruby/object:Gem::Dependency
27
+ name: jekyll-feed
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '0.17'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.17'
40
+ - !ruby/object:Gem::Dependency
41
+ name: jekyll-seo-tag
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.8'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.8'
54
+ - !ruby/object:Gem::Dependency
55
+ name: jekyll-sitemap
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.4'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.4'
68
+ - !ruby/object:Gem::Dependency
69
+ name: logger
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.6'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.6'
82
+ - !ruby/object:Gem::Dependency
83
+ name: bundler
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rake
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '13.0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '13.0'
28
110
  email:
29
111
  - jainbasil@gmail.com
30
112
  executables: []
31
113
  extensions: []
32
114
  extra_rdoc_files: []
33
115
  files:
116
+ - CHANGELOG.md
34
117
  - LICENSE
35
118
  - LICENSE.txt
36
119
  - README.md
120
+ - _config.example.yml
37
121
  - _includes/anchor_headings.html
38
122
  - _includes/head.html
39
123
  - _includes/inline.scss
@@ -50,8 +134,13 @@ files:
50
134
  homepage: https://jainbasil.in
51
135
  licenses:
52
136
  - MIT
53
- metadata: {}
54
- post_install_message:
137
+ metadata:
138
+ bug_tracker_uri: https://github.com/jainbasil/calculus/issues
139
+ changelog_uri: https://github.com/jainbasil/calculus/blob/main/CHANGELOG.md
140
+ documentation_uri: https://github.com/jainbasil/calculus/blob/main/README.md
141
+ homepage_uri: https://jainbasil.in
142
+ source_code_uri: https://github.com/jainbasil/calculus
143
+ wiki_uri: https://github.com/jainbasil/calculus/wiki
55
144
  rdoc_options: []
56
145
  require_paths:
57
146
  - lib
@@ -59,15 +148,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
148
  requirements:
60
149
  - - ">="
61
150
  - !ruby/object:Gem::Version
62
- version: '0'
151
+ version: 3.0.0
63
152
  required_rubygems_version: !ruby/object:Gem::Requirement
64
153
  requirements:
65
154
  - - ">="
66
155
  - !ruby/object:Gem::Version
67
156
  version: '0'
68
157
  requirements: []
69
- rubygems_version: 3.3.3
70
- signing_key:
158
+ rubygems_version: 3.6.9
71
159
  specification_version: 4
72
160
  summary: Minimalistic theme for personal blogs with Gayathri font support (Malayalam)
73
161
  test_files: []