rawfeed 0.3.1 → 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 +4 -4
- data/.editorconfig +25 -0
- data/.gitignore +19 -0
- data/.gitlab/ci/gitlab-pages.yml +51 -0
- data/.hidden +6 -0
- data/404.html +6 -0
- data/Gemfile +51 -0
- data/README.md +102 -26
- data/_config.yml +77 -0
- data/_data/generic.yml +29 -0
- data/_data/screen/blog.yml +46 -0
- data/_data/screen/contact.yml +31 -0
- data/_data/screen/donate.yml +45 -0
- data/_data/screen/footer.yml +17 -0
- data/_data/screen/head.yml +49 -0
- data/_data/screen/home.yml +24 -0
- data/_data/screen/maintenance.yml +8 -0
- data/_data/screen/navbar.yml +41 -0
- data/_data/screen/page.yml +12 -0
- data/_data/screen/pixels.yml +7 -0
- data/_data/screen/pub.yml +4 -0
- data/_data/{resume.yml → screen/resume.yml} +8 -8
- data/_data/screen/socials.yml +20 -0
- data/_includes/assigned +36 -0
- data/_includes/layout/blog_search.html +22 -15
- data/_includes/layout/disqus.html +7 -8
- data/_includes/layout/footer.html +43 -28
- data/_includes/layout/giscus.html +15 -19
- data/_includes/layout/head.html +97 -75
- data/_includes/layout/maintenance.html +14 -11
- data/_includes/layout/navbar.html +253 -0
- data/_includes/layout/paginator.html +12 -13
- data/_includes/{alert → markdown/alert} +2 -2
- data/_includes/{chart → markdown/chart} +3 -3
- data/_includes/{image → markdown/image} +4 -4
- data/_includes/{socials → markdown/socials} +5 -5
- data/_includes/{video → markdown/video} +2 -2
- data/_layouts/blog/index.html +53 -0
- data/_layouts/{post.html → blog/post.html} +50 -36
- data/_layouts/blog/posts_by_tag.html +27 -0
- data/_layouts/blog/tags.html +32 -0
- data/_layouts/contact.html +156 -114
- data/_layouts/default.html +53 -48
- data/_layouts/donate.html +112 -0
- data/_layouts/error.html +9 -7
- data/_layouts/home.html +22 -19
- data/_layouts/licenses.html +2 -2
- data/_layouts/page.html +18 -17
- data/_layouts/pixels/index.html +75 -0
- data/_layouts/{pixel.html → pixels/post.html} +5 -5
- data/_layouts/pub.html +50 -44
- data/_layouts/resume.html +308 -265
- data/_pages/any-page.md +336 -0
- data/_pages/contact.md +16 -0
- data/_pages/donate.md +16 -0
- data/_pages/licenses.md +17 -0
- data/_pages/resume.md +14 -0
- data/_pixels/2025-10-15-first-my-pixel.md +34 -0
- data/_posts/2025-09-20-welcome-to-jekyll.md +36 -0
- data/_posts/2025-09-25-this-post-demonstrates-post-codeblocks.md +141 -0
- data/_posts/2025-09-25-this-post-demonstrates-post-content-styles.md +133 -0
- data/_posts/2025-10-04-content-styles-and-codeblocks.md +330 -0
- data/_sass/components/_markdown.scss +2 -2
- data/_sass/includes/_index.scss +2 -2
- data/_sass/includes/{_header.scss → _navbar.scss} +2 -6
- data/_sass/includes/_toc.scss +146 -0
- data/_sass/layouts/_blog.scss +1 -1
- data/_sass/layouts/_index.scss +2 -2
- data/_sass/layouts/_page.scss +0 -5
- data/_sass/layouts/_post.scss +8 -138
- data/_sass/layouts/{_tag-posts.scss → _posts_by_tag.scss} +3 -3
- data/_sass/layouts/_resume.scss +1 -1
- data/_sass/layouts/{_tag.scss → _tags.scss} +10 -6
- data/_sass/main.scss +2 -2
- data/_sass/theme/_dark.scss +2 -2
- data/_sass/theme/_light.scss +1 -1
- data/assets/js/blog.js +52 -18
- data/assets/js/contact.js +21 -20
- data/assets/js/default.js +67 -50
- data/assets/js/discus.js +2 -2
- data/assets/js/{donation.js → donate.js} +10 -9
- data/assets/js/home.js +18 -16
- data/assets/js/page.js +50 -172
- data/assets/js/toc.js +133 -0
- data/assets/json/blog_search.json +5 -7
- data/assets/vendors/fuse.min.js +9 -0
- data/blog/index.md +14 -0
- data/blog/tags/index.md +12 -0
- data/exe/rawfeed +29 -0
- data/index.md +15 -0
- data/lib/rawfeed/build/cleaner.rb +60 -0
- data/lib/rawfeed/build/image_minifier.rb +163 -0
- data/lib/rawfeed/build/minifier.rb +89 -0
- data/lib/rawfeed/build.rb +9 -0
- data/lib/rawfeed/command/backup.rb +124 -0
- data/lib/rawfeed/command/cli.rb +118 -0
- data/lib/rawfeed/command/installer.rb +156 -0
- data/lib/rawfeed/command/tools.rb +138 -0
- data/lib/rawfeed/{author.rb → content/author.rb} +7 -7
- data/lib/rawfeed/content/contact.rb +51 -0
- data/lib/rawfeed/content/donate.rb +48 -0
- data/lib/rawfeed/{draft.rb → content/draft.rb} +5 -3
- data/lib/rawfeed/content/licenses.rb +46 -0
- data/lib/rawfeed/{page.rb → content/page.rb} +4 -3
- data/lib/rawfeed/{pixel.rb → content/pixel.rb} +7 -4
- data/lib/rawfeed/content/post.rb +107 -0
- data/lib/rawfeed/{resume.rb → content/resume.rb} +23 -19
- data/lib/rawfeed/{layout.rb → core/layout.rb} +1 -1
- data/lib/rawfeed/core/utils.rb +103 -0
- data/lib/rawfeed/{version.rb → core/version.rb} +1 -1
- data/lib/rawfeed/{datelang.rb → plugin/datelang.rb} +5 -6
- data/lib/rawfeed/{pub.rb → plugin/pub.rb} +33 -31
- data/lib/rawfeed/{reading_time.rb → plugin/reading_time.rb} +5 -4
- data/lib/rawfeed/root.rb +3 -0
- data/lib/rawfeed.rb +36 -14
- data/pixels/index.md +11 -0
- data/robots.txt +26 -0
- metadata +153 -195
- data/_data/options.yml +0 -329
- data/_includes/layout/data.liquid +0 -31
- data/_includes/layout/header.html +0 -173
- data/_layouts/blog.html +0 -52
- data/_layouts/donation.html +0 -113
- data/_layouts/pixels.html +0 -71
- data/_layouts/tag.html +0 -33
- data/_layouts/tag_posts.html +0 -28
- data/assets/vendor/simple-jekyll-search.js +0 -433
- data/assets/vendor/simple-jekyll-search.min.js +0 -6
- data/lib/rawfeed/installer.rb +0 -37
- data/lib/rawfeed/post.rb +0 -60
- data/lib/rawfeed/utils.rb +0 -75
- /data/_includes/{details → markdown/details} +0 -0
- /data/_includes/{enddetails → markdown/enddetails} +0 -0
- /data/_includes/{endtabs → markdown/endtabs} +0 -0
- /data/_includes/{tabs → markdown/tabs} +0 -0
- /data/assets/images/{avatar_back.png → avatars/back.png} +0 -0
- /data/assets/images/{avatar_dark.png → avatars/dark.png} +0 -0
- /data/assets/images/{avatar_light.png → avatars/light.png} +0 -0
- /data/assets/images/{icons → donate}/bitcoin.svg +0 -0
- /data/assets/images/{icons → donate}/card.svg +0 -0
- /data/assets/images/{icons → donate}/donation.svg +0 -0
- /data/assets/images/{icons → donate}/lightning_network.svg +0 -0
- /data/assets/images/{icons → donate}/paypal.svg +0 -0
- /data/assets/images/{icons → donate}/pix.svg +0 -0
- /data/assets/images/{qrcode_btc_binance.jpg → donate/qrcode_btc_binance.jpg} +0 -0
- /data/assets/images/{qrcode_inter.jpg → donate/qrcode_inter.jpg} +0 -0
- /data/assets/images/{qrcode_wos.jpg → donate/qrcode_wos.jpg} +0 -0
- /data/assets/images/{icons → donate}/wos.png +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.min.css +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.min.css.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.js +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.js.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.min.js +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.min.js.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.js +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.js.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.min.js +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.min.js.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.js +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.js.map +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.min.js +0 -0
- /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.min.js.map +0 -0
- /data/lib/rawfeed/{csp_filters.rb → plugin/csp_filters.rb} +0 -0
- /data/lib/rawfeed/{typescript_liquid.rb → plugin/typescript_liquid.rb} +0 -0
- /data/lib/rawfeed/{with_class.rb → plugin/with_class.rb} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7bc7fabfbbdda6f7e13515d95b93709380ba33843e15d0e8d2ffc97ccdcde0bf
|
|
4
|
+
data.tar.gz: 65458a1de15baca3179cb73cadd8f843183e1327032e6630add6562a130beaa2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c304baba91ec1b737d0a83a9f43561408078d463815bffec9643f671d53c272bcadd1663bdf5593e1d23a1b4e68b9a1563c6c6358dfebe2a45b91f241056d9f8
|
|
7
|
+
data.tar.gz: b05efb524b14043537d04cc2022924c4228706a0b21742c5ca3f9a27c474ee32fe00aea62d00595c0d19468131610b2910537f1da5e68e07924d0d21db23bfce
|
data/.editorconfig
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# EditorConfig is awesome: https://EditorConfig.org
|
|
2
|
+
|
|
3
|
+
# top-most EditorConfig file
|
|
4
|
+
root = true
|
|
5
|
+
|
|
6
|
+
[*]
|
|
7
|
+
charset = utf-8
|
|
8
|
+
end_of_line = lf
|
|
9
|
+
indent_size = 2
|
|
10
|
+
indent_style = space
|
|
11
|
+
insert_final_newline = true
|
|
12
|
+
trim_trailing_whitespace = true
|
|
13
|
+
max_line_length = 80
|
|
14
|
+
|
|
15
|
+
[*.{md,markdown}]
|
|
16
|
+
max_line_length = 100
|
|
17
|
+
insert_final_newline = false
|
|
18
|
+
|
|
19
|
+
[Makefile]
|
|
20
|
+
indent_style = tab
|
|
21
|
+
max_line_length = 100
|
|
22
|
+
|
|
23
|
+
[LICENSE]
|
|
24
|
+
indent_style = tab
|
|
25
|
+
indent_size = 4
|
data/.gitignore
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# --------------------------------Note-----------------------------------------
|
|
2
|
+
|
|
3
|
+
# 1. This action will be copied to the end-user (production) project. It has no purpose for
|
|
4
|
+
# development.
|
|
5
|
+
|
|
6
|
+
# 2. Usage:
|
|
7
|
+
# To enable this CI, create the .gitlab-ci.yml file in the project root and add the following content:
|
|
8
|
+
|
|
9
|
+
# include:
|
|
10
|
+
# - local: .gitlab/ci/gitlab-pages.yml
|
|
11
|
+
|
|
12
|
+
# ------------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
### --- Dear user, uncomment this block if you want to publish the site on GitLab Pages.
|
|
15
|
+
|
|
16
|
+
# image: node:20-alpine
|
|
17
|
+
|
|
18
|
+
# cache:
|
|
19
|
+
# paths:
|
|
20
|
+
# - .bundle-cache/
|
|
21
|
+
|
|
22
|
+
# stages:
|
|
23
|
+
# - build
|
|
24
|
+
# - deploy
|
|
25
|
+
|
|
26
|
+
# # A job that installs dependencies and compiles the website
|
|
27
|
+
# build_job:
|
|
28
|
+
# stage: build
|
|
29
|
+
# script:
|
|
30
|
+
# - apk add --no-cache ruby ruby-dev
|
|
31
|
+
# - gem install bundler
|
|
32
|
+
# # - bundle config set --local path '.bundle-cache'
|
|
33
|
+
# - bundle install
|
|
34
|
+
# artifacts:
|
|
35
|
+
# paths:
|
|
36
|
+
# - _site/
|
|
37
|
+
# only:
|
|
38
|
+
# - main
|
|
39
|
+
|
|
40
|
+
# # A job that deploys compiled files to GitLab Pages
|
|
41
|
+
# pages:
|
|
42
|
+
# stage: deploy
|
|
43
|
+
# script:
|
|
44
|
+
# - mv _site/ public/
|
|
45
|
+
# artifacts:
|
|
46
|
+
# paths:
|
|
47
|
+
# - public
|
|
48
|
+
# only:
|
|
49
|
+
# - main
|
|
50
|
+
|
|
51
|
+
### --- Dear user, uncomment this block if you want to publish the site on GitLab Pages.
|
data/.hidden
ADDED
data/404.html
ADDED
data/Gemfile
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
## [ rawfeed ] Do not modify this block unless you know what you are doing.
|
|
6
|
+
if ENV["RAWFEED_DEV_PATH"] && File.directory?(ENV["RAWFEED_DEV_PATH"])
|
|
7
|
+
gem "rawfeed", path: ENV["RAWFEED_DEV_PATH"]
|
|
8
|
+
else
|
|
9
|
+
## --- To update rawfeed-jekyll, simply update the version here ---
|
|
10
|
+
gem "rawfeed", "~> 1.0.0"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Core
|
|
14
|
+
gem "jekyll", ">= 4.0", "< 5.0"
|
|
15
|
+
gem "rake", "~> 13.0"
|
|
16
|
+
|
|
17
|
+
# Jekyll plugins
|
|
18
|
+
group :jekyll_plugins do
|
|
19
|
+
gem "jekyll-sitemap", "~> 1.4"
|
|
20
|
+
gem "jekyll-feed", "~> 0.17.0"
|
|
21
|
+
gem "jekyll-archives", "~> 2.3.0"
|
|
22
|
+
gem "jekyll-paginate-v2", "~> 3.0.0"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Utilities
|
|
26
|
+
gem "colorize", "~> 1.1.0"
|
|
27
|
+
gem "logger", "~> 1.4"
|
|
28
|
+
gem "rubyzip", "~> 2.3"
|
|
29
|
+
|
|
30
|
+
# Build and minification
|
|
31
|
+
gem "uglifier", "~> 4.2.0"
|
|
32
|
+
|
|
33
|
+
# Windows and JRuby
|
|
34
|
+
platforms :windows, :jruby do
|
|
35
|
+
gem "tzinfo", "~> 1.2"
|
|
36
|
+
gem "tzinfo-data"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Windows file watcher
|
|
40
|
+
gem "wdm", "~> 0.1.1", platforms: [:windows]
|
|
41
|
+
|
|
42
|
+
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
|
|
43
|
+
# do not have a Java counterpart.
|
|
44
|
+
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
|
|
45
|
+
|
|
46
|
+
# Development dependencies
|
|
47
|
+
group :development, :test do
|
|
48
|
+
gem "rspec", "~> 3.12"
|
|
49
|
+
gem "github_changelog_generator", "~> 1.8"
|
|
50
|
+
gem "faraday-retry", "~> 1.0"
|
|
51
|
+
end
|
data/README.md
CHANGED
|
@@ -1,65 +1,141 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<img src=".github/logo.png" alt="Rawfeed" width="150">
|
|
3
3
|
<br>
|
|
4
|
-
<small>rawfeed-jekyll — A
|
|
5
|
-
<br>
|
|
6
|
-
<a href="https://badge.fury.io/rb/rawfeed" target="_blank"><img src="https://badge.fury.io/rb/rawfeed.svg" alt="Gem Version"
|
|
4
|
+
<small>rawfeed-jekyll — A batteries-included Jekyll framework and CLI</small>
|
|
5
|
+
<br><br>
|
|
6
|
+
<a href="https://badge.fury.io/rb/rawfeed" target="_blank"><img src="https://badge.fury.io/rb/rawfeed.svg" alt="Gem Version"></a>
|
|
7
|
+
<a href="https://github.com/rawfeed/rawfeed-jekyll/actions/workflows/ci.yml" target="_blank"><img src="https://github.com/rawfeed/rawfeed-jekyll/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
8
|
+
<a href="https://rubygems.org/gems/rawfeed" target="_blank"><img src="https://img.shields.io/gem/dt/rawfeed?label=downloads" alt="RubyGems Downloads"></a>
|
|
9
|
+
<a href="https://rubygems.org/gems/rawfeed" target="_blank"><img src="https://img.shields.io/badge/ruby-%3E%3D%203.0-ruby" alt="Ruby >= 3.0"></a>
|
|
10
|
+
<a href="LICENSE" target="_blank"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License MIT"></a>
|
|
7
11
|
<br>
|
|
12
|
+
<a href="https://github.com/rawfeed/rawfeed-jekyll/issues" target="_blank"><img src="https://img.shields.io/github/issues/rawfeed/rawfeed-jekyll" alt="GitHub Issues"></a>
|
|
13
|
+
<a href="https://github.com/rawfeed/rawfeed-jekyll/pulls" target="_blank"><img src="https://img.shields.io/github/issues-pr/rawfeed/rawfeed-jekyll" alt="GitHub Pull Requests"></a>
|
|
14
|
+
<a href="https://www.rubydoc.info/gems/rawfeed" target="_blank"><img src="https://img.shields.io/badge/docs-rubydoc-blue" alt="RubyDoc"></a>
|
|
15
|
+
<br><br>
|
|
8
16
|
<a href="https://rawfeed.github.io/rawfeed-jekyll" target="_blank">Documentation</a>
|
|
9
17
|
</p>
|
|
10
18
|
|
|
11
|
-
#
|
|
19
|
+
# rawfeed-jekyll
|
|
20
|
+
|
|
21
|
+
**rawfeed-jekyll** is a batteries-included Jekyll framework and CLI for Ruby 3.x. It provides a modern workflow for site creation, theme distribution, content management, and gem-based package delivery.
|
|
22
|
+
|
|
23
|
+
## Project resources
|
|
24
|
+
|
|
25
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md)
|
|
26
|
+
- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)
|
|
27
|
+
- [CHANGELOG.md](CHANGELOG.md)
|
|
28
|
+
- [RELEASE_CHECKLIST.md](RELEASE_CHECKLIST.md)
|
|
29
|
+
- `.github/ISSUE_TEMPLATE/`
|
|
30
|
+
- `.github/pull_request_template.md`
|
|
31
|
+
- `.github/release_template.md`
|
|
12
32
|
|
|
13
33
|
## Requirements
|
|
14
34
|
|
|
15
35
|
| Required | Version | How to verify | How to install |
|
|
16
36
|
| -------- | ------- | ------------- | --------------------------------- |
|
|
17
|
-
| Git | >= 2 | `git -v` | [Git](http://git-scm.com/) |
|
|
18
37
|
| Ruby | >= 3.0 | `ruby -v` | [Ruby](https://www.ruby-lang.org) |
|
|
19
|
-
| Gem | >= 3.0 | `gem -v` |
|
|
38
|
+
| Gem | >= 3.0 | `gem -v` | Bundled with Ruby |
|
|
20
39
|
| Bundler | >= 2.0 | `bundler -v` | `gem install bundler` |
|
|
21
|
-
| NodeJs | >= 20 | `node -v` | [NodeJS](https://nodejs.org) |
|
|
22
|
-
| Npm | >= 9 | `npm -v` | **NodeJS** contains **Npm** |
|
|
23
40
|
|
|
41
|
+
## Install
|
|
42
|
+
|
|
43
|
+
See the full documentation at [https://rawfeed.github.io/rawfeed-jekyll/](https://rawfeed.github.io/rawfeed-jekyll/).
|
|
24
44
|
|
|
25
|
-
##
|
|
45
|
+
## Developer setup
|
|
26
46
|
|
|
27
47
|
```shell
|
|
28
|
-
git clone https://github.com/rawfeed/rawfeed-jekyll.git
|
|
48
|
+
git clone https://github.com/rawfeed/rawfeed-jekyll.git
|
|
49
|
+
cd rawfeed-jekyll
|
|
50
|
+
export RAWFEED_DEV_PATH="$PWD"
|
|
51
|
+
bundle install
|
|
52
|
+
bundle exec rawfeed serve
|
|
29
53
|
```
|
|
30
54
|
|
|
31
|
-
|
|
55
|
+
> [!TIP]
|
|
56
|
+
>
|
|
57
|
+
> ### Using direnv
|
|
58
|
+
>
|
|
59
|
+
> ```bash
|
|
60
|
+
> echo "export RAWFEED_DEV_PATH=\"\$PWD\"" > .envrc
|
|
61
|
+
> direnv allow
|
|
62
|
+
> ```
|
|
63
|
+
|
|
64
|
+
## Contribution workflow
|
|
65
|
+
|
|
66
|
+
This repository includes GitHub templates for issues and pull requests.
|
|
67
|
+
|
|
68
|
+
- Bug reports: `.github/ISSUE_TEMPLATE/bug_report.md`
|
|
69
|
+
- Feature requests: `.github/ISSUE_TEMPLATE/feature_request.md`
|
|
70
|
+
- Pull requests: `.github/pull_request_template.md`
|
|
71
|
+
|
|
72
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the complete contributor workflow, release process, and code guidelines.
|
|
73
|
+
|
|
74
|
+
## Release process
|
|
75
|
+
|
|
76
|
+
The release workflow is documented in [RELEASE_CHECKLIST.md](RELEASE_CHECKLIST.md) and [CHANGELOG.md](CHANGELOG.md).
|
|
77
|
+
|
|
78
|
+
- Version is defined in `lib/rawfeed/core/version.rb`
|
|
79
|
+
- Package metadata is in `rawfeed.gemspec`
|
|
80
|
+
- CI is configured in `.github/workflows/ci.yml`
|
|
81
|
+
- Release notes are captured by `.github/release_template.md`
|
|
82
|
+
- Release branches should follow `release/<version>` and use `RELEASE_CHECKLIST.md` as the release branch base
|
|
83
|
+
- Changelog automation can be done with `github_changelog_generator` in development
|
|
32
84
|
|
|
33
|
-
|
|
85
|
+
## Continuous integration
|
|
86
|
+
|
|
87
|
+
This repository uses GitHub Actions to run the complete release workflow on pull requests to `main` and on pushes to `main` or `release/**` branches.
|
|
88
|
+
|
|
89
|
+
The CI job performs:
|
|
90
|
+
|
|
91
|
+
- `bundle install` with Bundler cache
|
|
92
|
+
- library loading validation via `bundle exec ruby -Ilib -e 'require "rawfeed"'
|
|
93
|
+
- `bundle exec rspec` for test coverage
|
|
94
|
+
- `bundle exec rawfeed build --destination .site_build` to ensure the theme builds cleanly
|
|
95
|
+
- `gem build rawfeed.gemspec` to verify package creation
|
|
96
|
+
|
|
97
|
+
## Changelog generation
|
|
98
|
+
|
|
99
|
+
This repository includes a development tool to help generate changelogs from GitHub issues and tags.
|
|
100
|
+
The project is configured in `.github_changelog_generator`, which uses `key=value` pairs (one per line) — **not** the CLI `--flag value` format.
|
|
101
|
+
By default, the tool generates or updates `CHANGELOG.md` in the repository root.
|
|
102
|
+
|
|
103
|
+
Use the following command after installing development dependencies:
|
|
34
104
|
|
|
35
105
|
```shell
|
|
36
|
-
|
|
106
|
+
bundle exec github_changelog_generator
|
|
37
107
|
```
|
|
38
108
|
|
|
39
|
-
|
|
109
|
+
If you prefer a manual approach, keep editing `CHANGELOG.md` by hand.
|
|
110
|
+
|
|
111
|
+
## Build and publish
|
|
112
|
+
|
|
113
|
+
Build the gem package:
|
|
40
114
|
|
|
41
115
|
```shell
|
|
42
|
-
|
|
116
|
+
bundle exec rake build
|
|
43
117
|
```
|
|
44
118
|
|
|
45
|
-
|
|
119
|
+
Publish the gem to RubyGems:
|
|
120
|
+
|
|
121
|
+
```shell
|
|
122
|
+
gem push rawfeed-<VERSION>.gem
|
|
123
|
+
```
|
|
46
124
|
|
|
47
|
-
|
|
125
|
+
## Changelog
|
|
48
126
|
|
|
49
|
-
|
|
127
|
+
The project changelog is maintained in [CHANGELOG.md](CHANGELOG.md).
|
|
50
128
|
|
|
51
|
-
|
|
129
|
+
## License
|
|
52
130
|
|
|
53
|
-
|
|
131
|
+
This project is released under the terms of [this license](https://rawfeed.github.io/rawfeed-jekyll/license/).
|
|
54
132
|
|
|
55
|
-
|
|
133
|
+
## Donate
|
|
56
134
|
|
|
57
|
-
|
|
135
|
+
If you appreciate this project, consider supporting development.
|
|
58
136
|
|
|
59
|
-
<div class="
|
|
137
|
+
<div class="donate">
|
|
60
138
|
<a href="https://williamcanin.github.io/donate/" target="_blank">
|
|
61
|
-
<img width="160" height="100" src="assets/images/icons/
|
|
139
|
+
<img width="160" height="100" src="https://williamcanin.github.io/assets/images/icons/donate.svg" alt="Donate"/>
|
|
62
140
|
</a>
|
|
63
141
|
</div>
|
|
64
|
-
|
|
65
|
-
> It is very important that you make a donation to motivate further development of rawfeed-jekyll. :)
|
data/_config.yml
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# [ important!!! ] the base hostname & protocol for your site, e.g. http://example.com
|
|
2
|
+
url: ""
|
|
3
|
+
|
|
4
|
+
# the subpath of your site, e.g. /blog
|
|
5
|
+
baseurl: ""
|
|
6
|
+
|
|
7
|
+
# ---------- CAUTION!!! DO NOT move from here unless you REALLY know what you are doing. -----------
|
|
8
|
+
|
|
9
|
+
theme: rawfeed
|
|
10
|
+
plugins:
|
|
11
|
+
- jekyll-feed
|
|
12
|
+
- jekyll-sitemap
|
|
13
|
+
- jekyll-archives
|
|
14
|
+
- jekyll-paginate-v2
|
|
15
|
+
- rawfeed
|
|
16
|
+
collections:
|
|
17
|
+
pixels:
|
|
18
|
+
output: true
|
|
19
|
+
permalink: /pixels/:title/
|
|
20
|
+
pagination:
|
|
21
|
+
enabled: true
|
|
22
|
+
debug: false
|
|
23
|
+
collection: "posts"
|
|
24
|
+
sort_field: "date"
|
|
25
|
+
sort_reverse: true
|
|
26
|
+
per_page: 50
|
|
27
|
+
permalink: "/page/:num/"
|
|
28
|
+
locale: ""
|
|
29
|
+
title: ":title - Page :num"
|
|
30
|
+
limit: 0
|
|
31
|
+
feed:
|
|
32
|
+
path: /feed.xml
|
|
33
|
+
defaults:
|
|
34
|
+
- scope:
|
|
35
|
+
path: "_posts"
|
|
36
|
+
type: "posts"
|
|
37
|
+
values:
|
|
38
|
+
published: true
|
|
39
|
+
- scope:
|
|
40
|
+
path: "_pixels"
|
|
41
|
+
type: "pixels"
|
|
42
|
+
values:
|
|
43
|
+
published: true
|
|
44
|
+
jekyll-archives:
|
|
45
|
+
enabled:
|
|
46
|
+
- tags
|
|
47
|
+
layouts:
|
|
48
|
+
tag: blog/posts_by_tag
|
|
49
|
+
permalinks:
|
|
50
|
+
tag: "/blog/tags/:name/"
|
|
51
|
+
include: ["_pages"]
|
|
52
|
+
permalink: "/blog/:title/"
|
|
53
|
+
markdown: kramdown
|
|
54
|
+
kramdown:
|
|
55
|
+
input: GFM
|
|
56
|
+
syntax_highlighter: rouge
|
|
57
|
+
# syntax_highlighter_opts:
|
|
58
|
+
# line_numbers: true
|
|
59
|
+
sass:
|
|
60
|
+
sass_dir: _sass
|
|
61
|
+
style: compressed
|
|
62
|
+
exclude:
|
|
63
|
+
- .bundle-cache
|
|
64
|
+
- Gemfile
|
|
65
|
+
- Gemfile.lock
|
|
66
|
+
- README.md
|
|
67
|
+
|
|
68
|
+
# files below: developer mode
|
|
69
|
+
- node_modules
|
|
70
|
+
- docs
|
|
71
|
+
- exe
|
|
72
|
+
- rawfeed.gemspec
|
|
73
|
+
- CODE_OF_CONDUCT.md
|
|
74
|
+
- LICENSE
|
|
75
|
+
- tmp
|
|
76
|
+
- lib
|
|
77
|
+
- pkg
|
data/_data/generic.yml
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Rawfeed - Technical Configuration
|
|
2
|
+
# This file contains core technical settings for the Jekyll theme
|
|
3
|
+
|
|
4
|
+
title: rawfeed
|
|
5
|
+
author: "William C. Canin"
|
|
6
|
+
|
|
7
|
+
# Here you change the language of the months of the date
|
|
8
|
+
datelang:
|
|
9
|
+
format: "%b %d, %Y"
|
|
10
|
+
lang: "en_US" # en_US | pt_PT | jp_JP | ch_CH | es_ES | fr_FR | it_IT | de_DE | ru_RU
|
|
11
|
+
|
|
12
|
+
default:
|
|
13
|
+
lang: en-US
|
|
14
|
+
# Some compatible separators: ⨟∫⦁;⬨⬖︙︰𐄛🢝
|
|
15
|
+
separator: ⨟
|
|
16
|
+
width: 860 # default: 860
|
|
17
|
+
background_focus: true
|
|
18
|
+
rounding: false
|
|
19
|
+
user_select: none # none | text
|
|
20
|
+
font:
|
|
21
|
+
# Fonts Style Options: [default: monospace]
|
|
22
|
+
# "'Ubuntu', sans-serif"
|
|
23
|
+
# "'Inconsolata', monospace"
|
|
24
|
+
# "'JetBrains Mono', monospace"
|
|
25
|
+
# "'Roboto Mono', monospace"
|
|
26
|
+
# "'Open Sans', sans-serif"
|
|
27
|
+
style: monospace
|
|
28
|
+
size: 16.34px
|
|
29
|
+
spacing: -0.05em
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Rawfeed - Blog Page Content & Texts
|
|
2
|
+
|
|
3
|
+
# section: [blog]
|
|
4
|
+
blog:
|
|
5
|
+
subtitle: "posts"
|
|
6
|
+
search:
|
|
7
|
+
enable: true
|
|
8
|
+
placeholder: "type here to search for a post or Esc to exit"
|
|
9
|
+
button_clean:
|
|
10
|
+
text: "clean"
|
|
11
|
+
results: "results"
|
|
12
|
+
no_results: "No results found"
|
|
13
|
+
pagination:
|
|
14
|
+
newer_text: "newer posts"
|
|
15
|
+
counter: ["page", "of"]
|
|
16
|
+
older_text: "older posts"
|
|
17
|
+
post:
|
|
18
|
+
reading_time:
|
|
19
|
+
enable: true
|
|
20
|
+
words_per_minute: 180
|
|
21
|
+
message:
|
|
22
|
+
["Read this post in approximately", "Read this post in less than"]
|
|
23
|
+
minutes_label: ["minute", "minutes"]
|
|
24
|
+
author: "Posted by"
|
|
25
|
+
related_posts:
|
|
26
|
+
enable: true
|
|
27
|
+
title: "related posts"
|
|
28
|
+
updated_on: "Post updated on"
|
|
29
|
+
comments:
|
|
30
|
+
title: "comments"
|
|
31
|
+
provider: "giscus" # choose between. options: giscus | disqus.
|
|
32
|
+
giscus:
|
|
33
|
+
repo: "" # your repository, e.g: username/repo-name
|
|
34
|
+
repo_id: "" # copied from giscus.app, e.g: R_kgD...
|
|
35
|
+
repo_category: "" # copied category name GitHub
|
|
36
|
+
category_id: "" # copied from giscus.app, e.g: DIC_kwD...
|
|
37
|
+
mapping: "pathname"
|
|
38
|
+
reactions_enabled: 1
|
|
39
|
+
theme: "light" # initial theme. default: light
|
|
40
|
+
theme_light: "noborder_light" # light theme. default: noborder_light
|
|
41
|
+
theme_dark: "noborder_gray" # dark theme. default: noborder_gray
|
|
42
|
+
lang: "en" # en,pt,..
|
|
43
|
+
disqus:
|
|
44
|
+
shortname: "" # your shortname disqus
|
|
45
|
+
posts_by_tags:
|
|
46
|
+
title: "posts by tag"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Rawfeed - Contact Page Content & Texts
|
|
2
|
+
|
|
3
|
+
# section: [contact]
|
|
4
|
+
contact:
|
|
5
|
+
name:
|
|
6
|
+
placeholder: "first and last name"
|
|
7
|
+
email:
|
|
8
|
+
placeholder: "your best email address"
|
|
9
|
+
help: "we'll never share your email with anyone else."
|
|
10
|
+
message:
|
|
11
|
+
placeholder: "write your message here"
|
|
12
|
+
status: "sending...wait"
|
|
13
|
+
characters:
|
|
14
|
+
min: 50
|
|
15
|
+
warning:
|
|
16
|
+
title: "Warning"
|
|
17
|
+
content: "the message must have at least 50 characters."
|
|
18
|
+
success:
|
|
19
|
+
title: "Message sent"
|
|
20
|
+
content: "your message has been sent successfully!"
|
|
21
|
+
error:
|
|
22
|
+
title: "Error"
|
|
23
|
+
content: "something went wrong while sending your message."
|
|
24
|
+
button:
|
|
25
|
+
text: "send!"
|
|
26
|
+
recaptcha:
|
|
27
|
+
warning:
|
|
28
|
+
title: Warning
|
|
29
|
+
content: "Please tick the 'I'm not a robot' box."
|
|
30
|
+
fail: "Verification failed. Please reload the page and try again."
|
|
31
|
+
error: "An error occurred while sending the message. Please try again."
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# section: [donate]
|
|
2
|
+
# Tip: use svg images for better quality (https://www.iconpacks.net)
|
|
3
|
+
donate:
|
|
4
|
+
title: "Support the Project"
|
|
5
|
+
description: "If this project helps you, consider supporting it"
|
|
6
|
+
input:
|
|
7
|
+
label:
|
|
8
|
+
key: Chave
|
|
9
|
+
address: Address
|
|
10
|
+
copy_button:
|
|
11
|
+
text: Copy
|
|
12
|
+
clicked: Copied!
|
|
13
|
+
services:
|
|
14
|
+
- name: pix
|
|
15
|
+
logo: "/assets/images/donate/pix.svg"
|
|
16
|
+
description: |
|
|
17
|
+
Faça sua doação usando PIX. Use a chave abaixo.
|
|
18
|
+
address: "00b53f61-b009-4f05-8c43-444cce86af1d"
|
|
19
|
+
qrcode: "/assets/images/donate/qrcode_inter.jpg"
|
|
20
|
+
|
|
21
|
+
- name: card
|
|
22
|
+
logo: "/assets/images/donate/card.svg"
|
|
23
|
+
description: |
|
|
24
|
+
Donation using card through the service `Buy Me a Coffee`.
|
|
25
|
+
address: "https://buymeacoffee.com"
|
|
26
|
+
|
|
27
|
+
- name: paypal
|
|
28
|
+
logo: "/assets/images/donate/paypal.svg"
|
|
29
|
+
description: |
|
|
30
|
+
Donate quickly and securely using your PayPal balance or linked card.
|
|
31
|
+
address: "https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=YBK2HEEYG8V5W&source=&ssrt=1775261628264"
|
|
32
|
+
|
|
33
|
+
- name: bitcoin (lightning network)
|
|
34
|
+
logo: "/assets/images/donate/lightning_network.svg"
|
|
35
|
+
description: |
|
|
36
|
+
Make an anonymous Bitcoin donation using a Lightning Address.
|
|
37
|
+
address: "williamcanin@walletofsatoshi.com"
|
|
38
|
+
qrcode: "/assets/images/donate/qrcode_wos.jpg"
|
|
39
|
+
|
|
40
|
+
- name: bitcoin (on-chain)
|
|
41
|
+
logo: "/assets/images/donate/bitcoin.svg"
|
|
42
|
+
description: |
|
|
43
|
+
Make an anonymous Bitcoin donation using a On-Chain address (Binance).
|
|
44
|
+
address: "bc1qluh2mrchmtrwedspwhtta8ccgzsl9jqdr47f2p"
|
|
45
|
+
qrcode: "/assets/images/donate/qrcode_btc_binance.jpg"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Rawfeed - Footer & Donation Content & Texts
|
|
2
|
+
|
|
3
|
+
# section: [footer]
|
|
4
|
+
footer:
|
|
5
|
+
top_button:
|
|
6
|
+
# Some compatible icons: ↑ ⇡ ▴ 🢙
|
|
7
|
+
icon: ⇡
|
|
8
|
+
enable: true
|
|
9
|
+
copyright:
|
|
10
|
+
title: "rawfeed-jekyll"
|
|
11
|
+
since: 2025
|
|
12
|
+
message:
|
|
13
|
+
licenses:
|
|
14
|
+
title: "Licenses"
|
|
15
|
+
page_url: "/licenses/"
|
|
16
|
+
message: |
|
|
17
|
+
Your impactful phrase!
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# section: [head]
|
|
2
|
+
# (CSP - Content-Security-Policy)
|
|
3
|
+
# IMPORTANT!!! If you use any external script from any website in your posts that is not on this
|
|
4
|
+
# list, you must put it here.
|
|
5
|
+
# --- If you don't use it, don't remove what's already there. ---
|
|
6
|
+
head:
|
|
7
|
+
csp:
|
|
8
|
+
frame-src:
|
|
9
|
+
- https://www.google.com
|
|
10
|
+
- https://www.youtube.com
|
|
11
|
+
- https://giscus.app
|
|
12
|
+
- https://disqus.com
|
|
13
|
+
connect-src:
|
|
14
|
+
- https://www.google.com
|
|
15
|
+
- https://api.github.com
|
|
16
|
+
- https://script.google.com
|
|
17
|
+
- https://script.googleusercontent.com
|
|
18
|
+
img-src:
|
|
19
|
+
- https://www.google.com
|
|
20
|
+
- https://media0.giphy.com
|
|
21
|
+
- https://media4.giphy.com
|
|
22
|
+
- https://media.giphy.com
|
|
23
|
+
- https://github.githubassets.com
|
|
24
|
+
script-src:
|
|
25
|
+
- https://www.google.com
|
|
26
|
+
- https://www.gstatic.com
|
|
27
|
+
- https://script.google.com
|
|
28
|
+
- https://cdn.jsdelivr.net
|
|
29
|
+
- https://cdnjs.cloudflare.com
|
|
30
|
+
- https://giscus.app
|
|
31
|
+
- https://disqus.com
|
|
32
|
+
style-src:
|
|
33
|
+
- https://cdnjs.cloudflare.com
|
|
34
|
+
- https://fonts.googleapis.com
|
|
35
|
+
- https://cdn.jsdelivr.net
|
|
36
|
+
- https://giscus.app
|
|
37
|
+
- https://disqus.com
|
|
38
|
+
font-src:
|
|
39
|
+
- https://fonts.gstatic.com
|
|
40
|
+
- https://cdnjs.cloudflare.com
|
|
41
|
+
google:
|
|
42
|
+
site_verification: ""
|
|
43
|
+
analytics:
|
|
44
|
+
enable: false
|
|
45
|
+
id: "" # tracking id, e.g. "UA-200341029-1"
|
|
46
|
+
apps_script:
|
|
47
|
+
url:
|
|
48
|
+
recaptcha:
|
|
49
|
+
pubkey:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Rawfeed - Home Page Content & Texts
|
|
2
|
+
|
|
3
|
+
# section: [home]
|
|
4
|
+
home:
|
|
5
|
+
terminal:
|
|
6
|
+
enable: true
|
|
7
|
+
user: "rawfeed"
|
|
8
|
+
hostname: "linux"
|
|
9
|
+
signal: "#"
|
|
10
|
+
welcome: " type 'help'"
|
|
11
|
+
error: ": command not found."
|
|
12
|
+
no_socials: "No socials found"
|
|
13
|
+
help:
|
|
14
|
+
description: |
|
|
15
|
+
Use the commands below:
|
|
16
|
+
commands:
|
|
17
|
+
title: "Commands:"
|
|
18
|
+
description: "Description:"
|
|
19
|
+
menu: |
|
|
20
|
+
about ------------- A brief summary about 'rawfeed'
|
|
21
|
+
socials ----------- Links to my active social networks
|
|
22
|
+
clear ------------- Clear the terminal screen (or press Esc)
|
|
23
|
+
date -------------- Print the system date and time
|
|
24
|
+
help -------------- Print this menu
|