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.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +25 -0
  3. data/.gitignore +19 -0
  4. data/.gitlab/ci/gitlab-pages.yml +51 -0
  5. data/.hidden +6 -0
  6. data/404.html +6 -0
  7. data/Gemfile +51 -0
  8. data/README.md +102 -26
  9. data/_config.yml +77 -0
  10. data/_data/generic.yml +29 -0
  11. data/_data/screen/blog.yml +46 -0
  12. data/_data/screen/contact.yml +31 -0
  13. data/_data/screen/donate.yml +45 -0
  14. data/_data/screen/footer.yml +17 -0
  15. data/_data/screen/head.yml +49 -0
  16. data/_data/screen/home.yml +24 -0
  17. data/_data/screen/maintenance.yml +8 -0
  18. data/_data/screen/navbar.yml +41 -0
  19. data/_data/screen/page.yml +12 -0
  20. data/_data/screen/pixels.yml +7 -0
  21. data/_data/screen/pub.yml +4 -0
  22. data/_data/{resume.yml → screen/resume.yml} +8 -8
  23. data/_data/screen/socials.yml +20 -0
  24. data/_includes/assigned +36 -0
  25. data/_includes/layout/blog_search.html +22 -15
  26. data/_includes/layout/disqus.html +7 -8
  27. data/_includes/layout/footer.html +43 -28
  28. data/_includes/layout/giscus.html +15 -19
  29. data/_includes/layout/head.html +97 -75
  30. data/_includes/layout/maintenance.html +14 -11
  31. data/_includes/layout/navbar.html +253 -0
  32. data/_includes/layout/paginator.html +12 -13
  33. data/_includes/{alert → markdown/alert} +2 -2
  34. data/_includes/{chart → markdown/chart} +3 -3
  35. data/_includes/{image → markdown/image} +4 -4
  36. data/_includes/{socials → markdown/socials} +5 -5
  37. data/_includes/{video → markdown/video} +2 -2
  38. data/_layouts/blog/index.html +53 -0
  39. data/_layouts/{post.html → blog/post.html} +50 -36
  40. data/_layouts/blog/posts_by_tag.html +27 -0
  41. data/_layouts/blog/tags.html +32 -0
  42. data/_layouts/contact.html +156 -114
  43. data/_layouts/default.html +53 -48
  44. data/_layouts/donate.html +112 -0
  45. data/_layouts/error.html +9 -7
  46. data/_layouts/home.html +22 -19
  47. data/_layouts/licenses.html +2 -2
  48. data/_layouts/page.html +18 -17
  49. data/_layouts/pixels/index.html +75 -0
  50. data/_layouts/{pixel.html → pixels/post.html} +5 -5
  51. data/_layouts/pub.html +50 -44
  52. data/_layouts/resume.html +308 -265
  53. data/_pages/any-page.md +336 -0
  54. data/_pages/contact.md +16 -0
  55. data/_pages/donate.md +16 -0
  56. data/_pages/licenses.md +17 -0
  57. data/_pages/resume.md +14 -0
  58. data/_pixels/2025-10-15-first-my-pixel.md +34 -0
  59. data/_posts/2025-09-20-welcome-to-jekyll.md +36 -0
  60. data/_posts/2025-09-25-this-post-demonstrates-post-codeblocks.md +141 -0
  61. data/_posts/2025-09-25-this-post-demonstrates-post-content-styles.md +133 -0
  62. data/_posts/2025-10-04-content-styles-and-codeblocks.md +330 -0
  63. data/_sass/components/_markdown.scss +2 -2
  64. data/_sass/includes/_index.scss +2 -2
  65. data/_sass/includes/{_header.scss → _navbar.scss} +2 -6
  66. data/_sass/includes/_toc.scss +146 -0
  67. data/_sass/layouts/_blog.scss +1 -1
  68. data/_sass/layouts/_index.scss +2 -2
  69. data/_sass/layouts/_page.scss +0 -5
  70. data/_sass/layouts/_post.scss +8 -138
  71. data/_sass/layouts/{_tag-posts.scss → _posts_by_tag.scss} +3 -3
  72. data/_sass/layouts/_resume.scss +1 -1
  73. data/_sass/layouts/{_tag.scss → _tags.scss} +10 -6
  74. data/_sass/main.scss +2 -2
  75. data/_sass/theme/_dark.scss +2 -2
  76. data/_sass/theme/_light.scss +1 -1
  77. data/assets/js/blog.js +52 -18
  78. data/assets/js/contact.js +21 -20
  79. data/assets/js/default.js +67 -50
  80. data/assets/js/discus.js +2 -2
  81. data/assets/js/{donation.js → donate.js} +10 -9
  82. data/assets/js/home.js +18 -16
  83. data/assets/js/page.js +50 -172
  84. data/assets/js/toc.js +133 -0
  85. data/assets/json/blog_search.json +5 -7
  86. data/assets/vendors/fuse.min.js +9 -0
  87. data/blog/index.md +14 -0
  88. data/blog/tags/index.md +12 -0
  89. data/exe/rawfeed +29 -0
  90. data/index.md +15 -0
  91. data/lib/rawfeed/build/cleaner.rb +60 -0
  92. data/lib/rawfeed/build/image_minifier.rb +163 -0
  93. data/lib/rawfeed/build/minifier.rb +89 -0
  94. data/lib/rawfeed/build.rb +9 -0
  95. data/lib/rawfeed/command/backup.rb +124 -0
  96. data/lib/rawfeed/command/cli.rb +118 -0
  97. data/lib/rawfeed/command/installer.rb +156 -0
  98. data/lib/rawfeed/command/tools.rb +138 -0
  99. data/lib/rawfeed/{author.rb → content/author.rb} +7 -7
  100. data/lib/rawfeed/content/contact.rb +51 -0
  101. data/lib/rawfeed/content/donate.rb +48 -0
  102. data/lib/rawfeed/{draft.rb → content/draft.rb} +5 -3
  103. data/lib/rawfeed/content/licenses.rb +46 -0
  104. data/lib/rawfeed/{page.rb → content/page.rb} +4 -3
  105. data/lib/rawfeed/{pixel.rb → content/pixel.rb} +7 -4
  106. data/lib/rawfeed/content/post.rb +107 -0
  107. data/lib/rawfeed/{resume.rb → content/resume.rb} +23 -19
  108. data/lib/rawfeed/{layout.rb → core/layout.rb} +1 -1
  109. data/lib/rawfeed/core/utils.rb +103 -0
  110. data/lib/rawfeed/{version.rb → core/version.rb} +1 -1
  111. data/lib/rawfeed/{datelang.rb → plugin/datelang.rb} +5 -6
  112. data/lib/rawfeed/{pub.rb → plugin/pub.rb} +33 -31
  113. data/lib/rawfeed/{reading_time.rb → plugin/reading_time.rb} +5 -4
  114. data/lib/rawfeed/root.rb +3 -0
  115. data/lib/rawfeed.rb +36 -14
  116. data/pixels/index.md +11 -0
  117. data/robots.txt +26 -0
  118. metadata +153 -195
  119. data/_data/options.yml +0 -329
  120. data/_includes/layout/data.liquid +0 -31
  121. data/_includes/layout/header.html +0 -173
  122. data/_layouts/blog.html +0 -52
  123. data/_layouts/donation.html +0 -113
  124. data/_layouts/pixels.html +0 -71
  125. data/_layouts/tag.html +0 -33
  126. data/_layouts/tag_posts.html +0 -28
  127. data/assets/vendor/simple-jekyll-search.js +0 -433
  128. data/assets/vendor/simple-jekyll-search.min.js +0 -6
  129. data/lib/rawfeed/installer.rb +0 -37
  130. data/lib/rawfeed/post.rb +0 -60
  131. data/lib/rawfeed/utils.rb +0 -75
  132. /data/_includes/{details → markdown/details} +0 -0
  133. /data/_includes/{enddetails → markdown/enddetails} +0 -0
  134. /data/_includes/{endtabs → markdown/endtabs} +0 -0
  135. /data/_includes/{tabs → markdown/tabs} +0 -0
  136. /data/assets/images/{avatar_back.png → avatars/back.png} +0 -0
  137. /data/assets/images/{avatar_dark.png → avatars/dark.png} +0 -0
  138. /data/assets/images/{avatar_light.png → avatars/light.png} +0 -0
  139. /data/assets/images/{icons → donate}/bitcoin.svg +0 -0
  140. /data/assets/images/{icons → donate}/card.svg +0 -0
  141. /data/assets/images/{icons → donate}/donation.svg +0 -0
  142. /data/assets/images/{icons → donate}/lightning_network.svg +0 -0
  143. /data/assets/images/{icons → donate}/paypal.svg +0 -0
  144. /data/assets/images/{icons → donate}/pix.svg +0 -0
  145. /data/assets/images/{qrcode_btc_binance.jpg → donate/qrcode_btc_binance.jpg} +0 -0
  146. /data/assets/images/{qrcode_inter.jpg → donate/qrcode_inter.jpg} +0 -0
  147. /data/assets/images/{qrcode_wos.jpg → donate/qrcode_wos.jpg} +0 -0
  148. /data/assets/images/{icons → donate}/wos.png +0 -0
  149. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.css +0 -0
  150. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.css.map +0 -0
  151. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.min.css +0 -0
  152. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.min.css.map +0 -0
  153. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.css +0 -0
  154. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.css.map +0 -0
  155. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.min.css +0 -0
  156. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-grid.rtl.min.css.map +0 -0
  157. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.css +0 -0
  158. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.css.map +0 -0
  159. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.min.css +0 -0
  160. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.min.css.map +0 -0
  161. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.css +0 -0
  162. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.css.map +0 -0
  163. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.min.css +0 -0
  164. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-reboot.rtl.min.css.map +0 -0
  165. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.css +0 -0
  166. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.css.map +0 -0
  167. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.min.css +0 -0
  168. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.min.css.map +0 -0
  169. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.css +0 -0
  170. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.css.map +0 -0
  171. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.min.css +0 -0
  172. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap-utilities.rtl.min.css.map +0 -0
  173. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.css +0 -0
  174. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.css.map +0 -0
  175. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.min.css +0 -0
  176. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.min.css.map +0 -0
  177. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.css +0 -0
  178. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.css.map +0 -0
  179. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.min.css +0 -0
  180. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/css/bootstrap.rtl.min.css.map +0 -0
  181. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.js +0 -0
  182. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.js.map +0 -0
  183. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.min.js +0 -0
  184. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.bundle.min.js.map +0 -0
  185. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.js +0 -0
  186. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.js.map +0 -0
  187. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.min.js +0 -0
  188. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.esm.min.js.map +0 -0
  189. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.js +0 -0
  190. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.js.map +0 -0
  191. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.min.js +0 -0
  192. /data/assets/{vendor/bootstrap → vendors/bootstrap-5.2.3}/js/bootstrap.min.js.map +0 -0
  193. /data/lib/rawfeed/{csp_filters.rb → plugin/csp_filters.rb} +0 -0
  194. /data/lib/rawfeed/{typescript_liquid.rb → plugin/typescript_liquid.rb} +0 -0
  195. /data/lib/rawfeed/{with_class.rb → plugin/with_class.rb} +0 -0
data/_data/options.yml DELETED
@@ -1,329 +0,0 @@
1
- title: rawfeed
2
- author: "William C. Canin"
3
-
4
- # section: [maintenance]
5
- maintenance:
6
- enable: false
7
- gif: "https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExczV3aGMxcnAzdnJ1eWp3cjk5OXdhdTYzdzB0dWVlMGFkbTd2ZDR0ZCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/jwKC0qlOoXmcLDB4vC/giphy.gif"
8
- title: "Under maintenance"
9
- subtitle: |
10
- We are undergoing maintenance, with no return date yet.
11
- Sorry for the inconvenience :/
12
-
13
- # section: [social network]
14
- # note: if you want more, just add more "title" and "url".
15
- socials:
16
- enable: true
17
- description:
18
- text: |
19
- These are my social networks:
20
- terminal:
21
- about:
22
- description: |
23
- If you want to know our other links, use the "socials" command.
24
- command:
25
- description: |
26
- Click on a link and go directly to my social network:
27
- links:
28
- - title: github
29
- url: https://github.com/rawfeed/rawfeed-jekyll
30
-
31
- - title: rubygems
32
- url: https://rubygems.org/gems/rawfeed
33
-
34
- # section: [Reading time]
35
- reading_time:
36
- enable: true
37
- words_per_minute: 180
38
- message: ["Read this post in approximately", "Read this post in less than"]
39
- minutes_label: ["minute", "minutes"]
40
-
41
- # section: [datelang]
42
- # Here you change the language of the months of the date
43
- datelang:
44
- format: "%b %d, %Y"
45
- lang: "en_US" # en_US | pt_PT | jp_JP | ch_CH | es_ES | fr_FR | it_IT | de_DE | ru_RU
46
-
47
- # section: [head]
48
- head:
49
- # (CSP - Content-Security-Policy)
50
- # IMPORTANT!!! If you use any external script from any website in your posts that is not on this
51
- # list, you must put it here.
52
- # --- If you don't use it, don't remove what's already there. ---
53
- csp:
54
- frame-src:
55
- - https://www.google.com
56
- - https://www.youtube.com
57
- - https://giscus.app
58
- - https://disqus.com
59
- connect-src:
60
- - https://www.google.com
61
- - https://api.github.com
62
- - https://script.google.com
63
- - https://script.googleusercontent.com
64
- img-src:
65
- - https://www.google.com
66
- - https://media0.giphy.com
67
- - https://media4.giphy.com
68
- - https://media.giphy.com
69
- - https://github.githubassets.com
70
- script-src:
71
- - https://www.google.com
72
- - https://www.gstatic.com
73
- - https://script.google.com
74
- - https://cdn.jsdelivr.net
75
- - https://cdnjs.cloudflare.com
76
- - https://giscus.app
77
- - https://disqus.com
78
- style-src:
79
- - https://cdnjs.cloudflare.com
80
- - https://fonts.googleapis.com
81
- - https://cdn.jsdelivr.net
82
- - https://giscus.app
83
- - https://disqus.com
84
- font-src:
85
- - https://fonts.gstatic.com
86
- - https://cdnjs.cloudflare.com
87
- google:
88
- site_verification: ""
89
- analytics:
90
- enable: false
91
- id: "" # tracking id, e.g. "UA-200341029-1"
92
- apps_script:
93
- url:
94
- recaptcha:
95
- pubkey:
96
-
97
- # section: [default]
98
- default:
99
- lang: en-US
100
- # Some compatible separators: ⨟∫⦁;⬨⬖︙︰𐄛🢝
101
- separator: ⨟
102
- width: 860 # default: 860
103
- background_focus: true
104
- rounding: false
105
- user_select: none # none | text
106
- font:
107
- # Fonts Style Options: [default: monospace]
108
- # "'Ubuntu', sans-serif"
109
- # "'Inconsolata', monospace"
110
- # "'JetBrains Mono', monospace"
111
- # "'Roboto Mono', monospace"
112
- # "'Open Sans', sans-serif"
113
- style: monospace
114
- size: 16.34px
115
- spacing: -0.05em
116
-
117
- # section: [header]
118
- header:
119
- title: hey, i'm rawfeed-jekyll!
120
- description: "A raw Jekyll theme for minimalists"
121
- width: 860 # default: 860
122
- # your website image or logo
123
- avatar:
124
- open: true
125
- flip: true
126
- # note: the image (.jpg|.png) will be searched in the directory: assets/images/
127
- image:
128
- front:
129
- light: avatar_light.png
130
- dark: avatar_dark.png
131
- back: avatar_back.png
132
- # menu: use emoji unicode 6.0, to have greater compatibility
133
- menu:
134
- title: "menu"
135
- # default: 🏠📝🔍🔖📰 legacy: ⌂✐⌕▮▤
136
- home:
137
- emoji: "🏠"
138
- title: "/home"
139
- blog:
140
- emoji: "📝"
141
- title: "weblog"
142
- subtitle: "posts"
143
- search:
144
- emoji: "🔍"
145
- title: "search"
146
- tags:
147
- emoji: "🔖"
148
- title: "tags"
149
- feed:
150
- emoji: "📰"
151
- title: "feed"
152
- pixels:
153
- emoji: "📷"
154
- title: "pixels"
155
- pub:
156
- emoji: "📂"
157
- title: "pub"
158
-
159
- # section: [home]
160
- home:
161
- terminal:
162
- enable: true
163
- user: "rawfeed"
164
- hostname: "linux"
165
- welcome: " type 'help'"
166
- error: ": command not found."
167
- no_socials: "No socials found"
168
- help:
169
- description: |
170
- Use the commands below:
171
- commands:
172
- title: "Commands:"
173
- description: "Description:"
174
- menu: |
175
- about ------------- A brief summary about 'rawfeed'
176
- socials ----------- Links to my active social networks
177
- clear ------------- Clear the terminal screen (or press Esc)
178
- date -------------- Print the system date and time
179
- help -------------- Print this menu
180
-
181
- # section: [blog]
182
- blog:
183
- subtitle: "posts"
184
- search:
185
- enable: true
186
- placeholder: "type here to search for a post or Esc to exit"
187
- button_clean:
188
- text: "clean"
189
- results: "results"
190
- no_results: "No results found"
191
- pagination:
192
- newer_text: "newer posts"
193
- counter: ["page", "of"]
194
- older_text: "older posts"
195
- post:
196
- author: "Posted by"
197
- related_posts:
198
- enable: true
199
- title: "related posts"
200
- updated_on: "Post updated on"
201
- comments:
202
- title: "comments"
203
- provider: "giscus" # choose between. options: giscus | disqus.
204
- giscus:
205
- repo: "" # your repository, e.g: username/repo-name
206
- repo_id: "" # copied from giscus.app, e.g: R_kgD...
207
- repo_category: "" # copied category name GitHub
208
- category_id: "" # copied from giscus.app, e.g: DIC_kwD...
209
- mapping: "pathname"
210
- reactions_enabled: 1
211
- theme: "light" # initial theme. default: light
212
- theme_light: "noborder_light" # light theme. default: noborder_light
213
- theme_dark: "noborder_gray" # dark theme. default: noborder_gray
214
- lang: "en" # en,pt,..
215
- disqus:
216
- shortname: "" # your shortname disqus
217
- tags_posts:
218
- title: "posts by tag"
219
-
220
- # section: [pixels]
221
- pixels:
222
- title: "pixels"
223
- layout:
224
- width: 860 # default: 860
225
-
226
- # section: [page]
227
- page:
228
- toc:
229
- title: "Table of Contents"
230
- updated_on: "Page updated on"
231
- error:
232
- image: https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExNXlxYzc5eXp1Nm01cmtldzM5bHhwdzJ2Njk2c2E4b2RkdTBkeGs5eCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/c20UV66B7zCWA/giphy.gif
233
- title: Error 404
234
- message: |
235
- It appears this content does not exist or has been removed by the author.
236
-
237
- # section: [contact]
238
- contact:
239
- name:
240
- placeholder: "first and last name"
241
- email:
242
- placeholder: "your best email address"
243
- help: "we'll never share your email with anyone else."
244
- message:
245
- placeholder: "write your message here"
246
- status: "sending...wait"
247
- caracters:
248
- min: 50
249
- warning:
250
- title: "Warning"
251
- content: "the message must have at least 50 characters."
252
- success:
253
- title: "Message sent"
254
- content: "your message has been sent successfully!"
255
- error:
256
- title: "Error"
257
- content: "something went wrong while sending your message."
258
- button:
259
- text: "send!"
260
- recaptcha:
261
- warning:
262
- title: Warning
263
- content: "Please tick the 'I'm not a robot' box."
264
- fail: "Verification failed. Please reload the page and try again."
265
- error: "An error occurred while sending the message. Please try again."
266
-
267
- # section: [pub]
268
- pub:
269
- path:
270
- title: "Index of"
271
-
272
- # section: [footer]
273
- footer:
274
- top_button:
275
- # Some compatible icons: ↑ ⇡ ▴ 🢙
276
- icon: ⇡
277
- enable: true
278
- copyright:
279
- title: "rawfeed-jekyll"
280
- since: 2025
281
- message:
282
- licenses:
283
- title: "Licenses"
284
- page_url: "/licenses/"
285
- message: |
286
- Your impactful phrase!
287
-
288
- # section: [donation]
289
- # Tip: use svg images for better quality (https://www.iconpacks.net)
290
- donation:
291
- title: "Support the Project"
292
- description: "If this project helps you, consider supporting it"
293
- copy_button:
294
- text: "Copy"
295
- clicked: "Copied!"
296
- services:
297
- - name: pix
298
- logo: "/assets/images/icons/pix.svg"
299
- description: |
300
- Make your donation using PIX from Brazil. Use the key below.
301
- address: "00b53f61-b009-4f05-8c43-444cce86af1d"
302
- qrcode: "/assets/images/qrcode_inter.jpg"
303
-
304
- - name: card
305
- logo: "/assets/images/icons/card.svg"
306
- description: |
307
- Donation using card through the service `Buy Me a Coffee`.
308
- address: "https://buymeacoffee.com/williamcanin"
309
-
310
- - name: paypal
311
- logo: "/assets/images/icons/paypal.svg"
312
- description: |
313
- Donate quickly and securely using your PayPal balance or linked card.
314
- address: "https://www.paypal.com/donate/?cmd=_s-xclick&hosted_button_id=YBK2HEEYG8V5W&source=&ssrt=1775261628264"
315
-
316
- - name: bitcoin (lightning network)
317
- logo: "/assets/images/icons/lightning_network.svg"
318
- description: |
319
- Make an anonymous Bitcoin donation using a Lightning Address.
320
- address: "williamcanin@walletofsatoshi.com"
321
- qrcode: "/assets/images/qrcode_wos.jpg"
322
-
323
- - name: bitcoin (on-chain)
324
- logo: "/assets/images/icons/bitcoin.svg"
325
- description: |
326
- Make an anonymous Bitcoin donation using a On-Chain address (Binance).
327
- address: "bc1qluh2mrchmtrwedspwhtta8ccgzsl9jqdr47f2p"
328
- qrcode: "/assets/images/qrcode_btc_binance.jpg"
329
-
@@ -1,31 +0,0 @@
1
- {%- assign theme_name = "rawfeed" -%}
2
- {%- assign project_url = "https://rawfeed.github.io/rawfeed-jekyll" -%}
3
- {%- assign home_url = "/" | relative_url -%}
4
- {%- assign blog_url = "/blog/" | relative_url -%}
5
- {%- assign pixels_url = "/pixels/" | relative_url -%}
6
- {%- assign search_url = "/blog/?search=open" | relative_url -%}
7
- {%- assign tags_url = "/blog/tags/" | relative_url -%}
8
- {%- assign pub_url = "/pub/" -%}
9
- {%- assign donate_url = "/donate/" -%}
10
- {%- assign feed_url = "/feed.xml" | relative_url -%}
11
- {%- assign head_ = site.data.options.head -%}
12
- {%- assign site_title = site.data.options.title -%}
13
- {%- assign author_ = site.data.options.author -%}
14
- {%- assign header_ = site.data.options.header -%}
15
- {%- assign blog_ = site.data.options.blog -%}
16
- {%- assign pixels_ = site.data.options.pixels -%}
17
- {%- assign home_ = site.data.options.home -%}
18
- {%- assign default_ = site.data.options.default -%}
19
- {%- assign page_ = site.data.options.page -%}
20
- {%- assign donation_ = site.data.options.donation -%}
21
- {%- assign contact_ = site.data.options.contact -%}
22
- {%- assign footer_ = site.data.options.footer -%}
23
- {%- assign socials_ = site.data.options.socials -%}
24
- {%- assign pub_ = site.data.options.pub -%}
25
- {%- assign datelang_ = site.data.options.datelang -%}
26
- {%- assign maintenance_ = site.data.options.maintenance -%}
27
- {%- assign reading_time_ = site.data.options.reading_time -%}
28
-
29
-
30
-
31
-
@@ -1,173 +0,0 @@
1
- {%- include layout/data.liquid -%}
2
-
3
- {%- assign index = site.pages | where: "path", "index.md" | first -%}
4
-
5
- {%- for item in site.defaults -%}
6
- {%- if item.scope.path == "_posts" -%}
7
- {%- assign blog_page = item.values.published -%}
8
- {%- endif -%}
9
- {%- if item.scope.path == "_pixels" -%}
10
- {%- assign pixels_page = item.values.published -%}
11
- {%- endif -%}
12
- {%- endfor -%}
13
-
14
- {%- assign menu_separator = default_.separator -%}
15
-
16
- <!-- modal avatar -->
17
- <div class="modal fade" id="avatarModal" tabindex="-1" aria-hidden="true">
18
- <div class="modal-dialog modal-dialog-centered">
19
- <div class="modal-content bg-transparent border-0 shadow-none">
20
- <div class="modal-body d-flex justify-content-center">
21
- <img id="modalAvatar" class="avatar-img{% if default_.rounding %} rounding{% endif %}" src="" alt="">
22
- </div>
23
- </div>
24
- </div>
25
- </div>
26
- <!-- modal avatar -->
27
-
28
- <header class="header" style="max-width: {{ header_.width | default: "860" }}px !important; font-family: {{ default_.font.style }} !important; font-size: {{ default_.font.size }} !important; letter-spacing:{{ default_.font.spacing }} !important;">
29
- <div class="row ">
30
-
31
- <!-- column home -->
32
- <div class="col-sm-3 d-flex flex-column justify-content-end header__column-home">
33
- {%- if index.layout == "blog" -%}
34
- <span>[{{ header_.menu.home.emoji | with_class: "spacer" }}<a class="{% if page.url == "/" or page.url == "/index.html" %}menu-active{% endif %}" href="{{home_url}}">{{ header_.menu.blog.title | default: "blog" | downcase }}</a>&nbsp;]</span>
35
- {%- else -%}
36
- <span>[{{ header_.menu.home.emoji | with_class: "spacer" }}<a class="{% if page.url == "/" or page.url == "/index.html" %}menu-active{% endif %}" href="{{home_url}}">{{ header_.menu.home.title | default: "home" | downcase }}</a>&nbsp;]</span>
37
- {%- endif -%}
38
- </div>
39
- <!-- column home -->
40
-
41
- <!-- column description -->
42
- <div class="col-sm-6 d-flex flex-column justify-content-end">
43
- <span class="title">{{ header_.title | default: theme_name }}</span>
44
- <small class="description">
45
- {{ header_.description | default: "A raw Jekyll theme for minimalists" }}
46
- </small>
47
- </div>
48
- <!-- column description -->
49
-
50
- <!-- column avatar -->
51
- <div class="col-sm-3 d-flex justify-content-end avatar">
52
- {%- assign images_ = site.static_files | map: "path" -%}
53
- {%- assign avatar_path_light = "/assets/images/" | append: header_.avatar.image.front.light -%}
54
- {%- assign avatar_path_dark = "/assets/images/" | append: header_.avatar.image.front.dark -%}
55
- {%- assign avatar_path_back = "/assets/images/" | append: header_.avatar.image.back -%}
56
-
57
- {%- if images_ contains avatar_path_light and images_ contains avatar_path_dark and images_ contains avatar_path_back -%}
58
- <div class="avatar-wrapper">
59
-
60
- <div class="avatar-flipper light-theme {% if header_.avatar.open %}avatar-flipper__open-true{% endif %}{% if header_.avatar.flip %} can-flip{% endif %}">
61
- <div class="avatar-card">
62
- <div class="avatar-front">
63
- <img id="avatarImgLight" class="avatar-img{% if default_.rounding %} rounding{% endif %}" src="{{ avatar_path_light | relative_url }}" alt="{{ site_title }}">
64
- </div>
65
- <div class="avatar-back">
66
- <img class="avatar-img{% if default_.rounding %} rounding{% endif %}" src="{{ avatar_path_back | relative_url }}" alt="{{ site_title }}">
67
- </div>
68
- </div>
69
- </div>
70
-
71
- <div class="avatar-flipper dark-theme {% if header_.avatar.open %} avatar-flipper__open-true{% endif %}{% if header_.avatar.flip %} can-flip{% endif %}">
72
- <div class="avatar-card">
73
- <div class="avatar-front">
74
- <img id="avatarImgDark" class="avatar-img{% if default_.rounding %} rounding{% endif %}" src="{{ avatar_path_dark | relative_url }}" alt="{{ site_title }}">
75
- </div>
76
- <div class="avatar-back">
77
- <img class="avatar-img{% if default_.rounding %} rounding{% endif %}" src="{{ avatar_path_back | relative_url }}" alt="{{ site_title }}">
78
- </div>
79
- </div>
80
- </div>
81
-
82
- </div>
83
- {%- endif -%}
84
- </div>
85
- <!-- column avatar -->
86
-
87
- </div>
88
-
89
- <!-- row separator -->
90
- <div class="row ">
91
- <div class="col-sm d-flex justify-content-center">
92
- <div class="line-separator"></div>
93
- </div>
94
- </div>
95
- <!-- row separator -->
96
-
97
- <!-- row menu -->
98
- <div class="row">
99
- <div class="col-sm d-flex justify-content-center menu">
100
- {%- if index.layout == "blog" -%}
101
- <div>
102
- {{ header_.menu.title }}&nbsp;»&nbsp;<div class="menu-wrap-link">{{ header_.menu.blog.search.emoji | with_class: "spacer" }}{%- if blog_.search.enable -%}<a id="blog-search__btn" href="{{search_url}}">{{ header_.menu.blog.search.title | default: "search" }}</a><strong class="separator">{{menu_separator}}</strong>{%- endif -%}</div><div class="menu-wrap-link">{{ header_.menu.blog.tags.emoji | with_class: "spacer" }}<a class="{% if page.url == "/blog/tags/" or page.url == "/blog/tags/index.html" %} menu-active{% endif %}" href="{{tags_url}}">{{ header_.menu.blog.tags.title | default: "tags" }}</a><strong class="separator">{{menu_separator}}</strong></div>
103
- {%- assign sorted_pages = site.pages | sort: 'order' -%}
104
- {%- for item in sorted_pages -%}
105
- {%- if item.path contains '_pages/' and item.published != false and item.in_menu -%}
106
- {%- unless item.url contains "/tags/" or item.url contains "404.html" -%}
107
- <div class="menu-wrap-link">{{ item.emoji | with_class: "spacer" }}<a class="{% if page.url == item.url %}menu-active{% endif %}" href="{{ item.url | relative_url }}">{{ item.title | downcase }}</a><strong class="separator">{{menu_separator}}</strong></div>
108
- {%- endunless -%}
109
- {%- endif -%}
110
- {%- endfor -%}
111
- <div class="menu-wrap-link">{{ header_.menu.blog.feed.emoji | with_class: "spacer" }}<a href="{{feed_url}}">{{ header_.menu.blog.feed.title | default: "feed" }}</a><strong class="separator">{{menu_separator}}</strong></div>
112
- </div>
113
- {%- else index.layout == "home" -%}
114
- {%- if page.url contains "/blog/" -%}
115
- <div>
116
- {{ header_.menu.blog.title | replace: "/", "" | replace: "ls ", "" }}&nbsp;»
117
- <div class="menu-wrap-link">{{ header_.menu.blog.emoji | with_class: "spacer" }}<a class="{% if page.url == "/blog/" or page.url == "/blog/index.html" or page.url contains "/blog/page/" %} menu-active{% endif %}" href="{{blog_url}}">{{ header_.menu.blog.subtitle }}</a><strong class="separator">{{menu_separator}}</strong></div>{%- if blog_.search.enable -%}<span style="display: inline-block;">{{ header_.menu.blog.search.emoji | with_class: "spacer" }}<a id="blog-search__btn" href="{{search_url}}">{{ header_.menu.blog.search.title | default: "search" }}</a><strong class="separator">{{menu_separator}}</strong></span>{%- endif -%}<div class="menu-wrap-link">{{ header_.menu.blog.tags.emoji | with_class: "spacer" }}<a class="{% if page.url == "/blog/tags/" or page.url == "/blog/tags/index.html" %} menu-active{% endif %}" href="{{tags_url}}">{{ header_.menu.blog.tags.title | default: "tags" }}</a><strong class="separator">{{menu_separator}}</strong></div><div class="menu-wrap-link">{{ header_.menu.blog.feed.emoji | with_class: "spacer" }}<a href="{{feed_url}}">{{ header_.menu.blog.feed.title | default: "feed" }}</a><strong class="separator">{{menu_separator}}</strong></div>
118
- </div>
119
- {%- else -%}
120
- <div>
121
- {%- assign published_pages = site.pages | where_exp:"p","p.path contains '_pages/' and p.published" -%}
122
- {%- if published_pages.size > 0 -%}
123
- <span>{{ header_.menu.title }}&nbsp;»</span>&nbsp;
124
- {%- endif -%}
125
- {%- if site.pagination.enabled == true -%}
126
- {%- if blog_page -%}
127
- <div class="menu-wrap-link">{{ header_.menu.blog.emoji | with_class: "spacer" }}<a href="{{blog_url}}">{{ header_.menu.blog.title | replace: "ls ", "" }}</a><strong class="separator">{{menu_separator}}</strong></div>
128
- {%- endif -%}
129
- {%- if pixels_page -%}
130
- <div class="menu-wrap-link">{{ header_.menu.pixels.emoji | with_class: "spacer" }}<a href="{{pixels_url}}">{{ header_.menu.pixels.title }}</a><strong class="separator">{{menu_separator}}</strong></div>
131
- {%- endif -%}{% assign sorted_pages = site.pages | sort: 'order' %}
132
- {%- for item in sorted_pages -%}
133
- {%- if item.path contains '_pages/' and item.in_menu -%}
134
- {%- unless item.url contains "blog" or item.url contains "404.html" -%}
135
- <div class="menu-wrap-link">{{ item.emoji | with_class: "spacer" }}<a class="{% if page.url == item.url %}menu-active{% endif %}" href="{{ item.url | relative_url }}">{{ item.title | downcase }}</a><strong class="separator">{{menu_separator}}</strong></div>
136
- {%- endunless -%}
137
- {%- endif -%}
138
- {%- endfor -%}
139
- {%- else -%}
140
- {%- if blog_page -%}
141
- <div class="menu-wrap-link">{{ header_.menu.blog.emoji | with_class: "spacer" }}<a href="{{blog_url}}">{{ header_.menu.blog.title | replace: "/", "" }}</a><strong class="separator">{{menu_separator}}</strong></div>
142
- {%- endif -%}
143
- {%- if pixels_page -%}
144
- <div class="menu-wrap-link">{{ header_.menu.pixels.emoji | with_class: "spacer" }}<a href="{{pixels_url}}">pixels</a><strong class="separator">{{menu_separator}}</strong></div>
145
- {%- endif -%}{% assign sorted_pages = site.pages | sort: 'order' %}
146
- {%- for item in sorted_pages -%}
147
- {%- if item.path contains '_pages/' and item.published != false and item.in_menu -%}
148
- {%- unless item.url contains "/tags/" or item.url contains "404.html" -%}
149
- <div class="menu-wrap-link">{{ item.emoji | with_class: "spacer" }}<a class="{% if page.url == item.url %}menu-active{% endif %}" href="{{ item.url | relative_url }}">{{ item.title | downcase }}</a><strong class="separator">{{menu_separator}}</strong></div>
150
- {%- endunless -%}
151
- {%- endif -%}
152
- {%- endfor -%}
153
- {%- endif -%}
154
- {%- assign files_in_pub = site.static_files | where_exp: "item", "item.path contains pub_url" -%}
155
- {%- if files_in_pub.size > 0 -%}
156
- <div class="menu-wrap-link">{{ header_.menu.pub.emoji | with_class: "spacer" }}<a href="{{ pub_url | relative_url }}">{{ header_.menu.pub.title }}</a></div>
157
- {%- endif -%}
158
- </div>
159
- {%- endif -%}
160
- {%- endif -%}
161
- </div>
162
- </div>
163
- <!-- row menu -->
164
-
165
- <!-- row button light/dark -->
166
- <div class="row justify-content-end">
167
- <div class="col-sm-2 d-flex justify-content-end">
168
- <span id="toggle-theme"><i class="fa-solid fa-moon"></i></span>
169
- </div>
170
- </div>
171
- <!-- row button light/dark -->
172
-
173
- </header>
data/_layouts/blog.html DELETED
@@ -1,52 +0,0 @@
1
- ---
2
- layout: default
3
- ---
4
-
5
- {%- include layout/data.liquid -%}
6
-
7
- {%- if page.pagination.enabled == true and site.pagination.enabled == true -%}
8
- {%- assign count_posts = paginator.total_posts -%}
9
- {%- else -%}
10
- {%- for _ in site.posts -%}
11
- {%- capture count_posts -%} {{ count_posts | plus: 1 }} {%- endcapture -%}
12
- {%- endfor -%}
13
- {%- endif -%}
14
-
15
- <div id="blog" class="blog{% if default_.background_focus %} background_focus{% endif %} {% if default_.rounding %} rounding{% endif %}">
16
- {%- include layout/blog_search.html -%}
17
-
18
- <div id="posts" class="row">
19
- {%- if page.description -%}
20
- <div class="blog-description"><span>»&nbsp;</span>{{ page.description | markdownify }}</div>
21
- {%- endif -%}
22
- {%- if page.title -%}
23
- <h2 class="blog-subtitle">[&nbsp;{{ blog_.subtitle | default: "posts" }}:&nbsp;&nbsp;{{ count_posts }}&nbsp;]</h2>
24
- {%- endif -%}
25
-
26
- {%- if site.posts.size > 0 -%}
27
- <ul class="row blog-list">
28
- {%- if page.pagination.enabled == true and site.pagination.enabled == true -%}
29
- {%- assign posts = paginator.posts -%}
30
- {%- else -%}
31
- {% assign posts = site.posts %}
32
- {%- endif -%}
33
-
34
- {%- for post in posts -%}
35
- <li class="blog-list__item">
36
- {%- if datelang_ -%}
37
- <span class="blog-list__meta">{% datelang post.date format:datelang_.format %}</span>&nbsp;»&nbsp;
38
- {%- else -%}
39
- <span class="blog-list__meta">{{ post.date | date: "%b %-d, %Y" }}</span>&nbsp;»&nbsp;
40
- {%- endif -%}
41
- <a class="blog-list__link" href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
42
- {%- if post.draft -%}
43
- <span class="draft-badge">[&nbsp;this is a draft&nbsp;]</span>
44
- {%- endif -%}
45
- </li>
46
- {%- endfor -%}
47
- </ul>
48
- {%- endif -%}
49
-
50
- {%- include layout/paginator.html -%}
51
- </div>
52
- </div>