rawfeed 0.3.0 → 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
@@ -0,0 +1,336 @@
1
+ ---
2
+ layout: page
3
+ author: # "Your Name"
4
+ title: "Any Page"
5
+ order: 7
6
+ emoji: 😁
7
+ date: 2025-10-13 10:24:43 -0300
8
+ update_date: 2025-10-14 08:17:11 -0300
9
+ in_menu: true
10
+ published: true
11
+ toc:
12
+ enable: true
13
+ permalink: /any-page/
14
+ ---
15
+
16
+ > Note: This page create with command: `bundle exec rawfeed create:page`
17
+
18
+ # Theology (h1)
19
+
20
+ **_Lorem ipsum_** dolor sit amet, `consectetur` adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, ~~bibendum in velit~~.
21
+
22
+ ## Eschatology
23
+
24
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit.
25
+
26
+ > Curabitur dignissim accumsan rutrum.
27
+
28
+ # Animals (h1)
29
+
30
+ Proin convallis mi ac felis pharetra aliquam. Curabitur [dignissim accumsan](/){:target="\_blank"} rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu.
31
+
32
+ _Mauris lobortis nulla et felis ullamcorper bibendum._ Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.
33
+
34
+ ## Feline (h2)
35
+
36
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. **Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt.** Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit.
37
+
38
+ ### Cat (h3)
39
+
40
+ Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris lobortis nulla et felis ullamcorper bibendum.
41
+
42
+ Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc.
43
+
44
+ ### Tiger (h3)
45
+
46
+ Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.
47
+
48
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt.
49
+
50
+ # Lists
51
+
52
+ ## Ordered list
53
+
54
+ 1. First item, yo
55
+ 2. Second item, dawg
56
+ 3. Third item, what what?!
57
+ 4. Fourth item, fo sheezy my neezy
58
+ 5. Fifth item, nested!
59
+
60
+ 6. First item, yo
61
+ 7. Second item, dawg
62
+ 1. Second Subnivel item, dawg
63
+
64
+ ## List with subtitles
65
+
66
+ - First item, yo
67
+ - Second item, dawg
68
+ - Third item, what what?!
69
+ - Fourth item, fo sheezy my neezy
70
+ - Fifth item, nested!
71
+ - So la ti do
72
+ - Ba-da-bing!
73
+ - Ba-da-boom!
74
+
75
+ ## Whaaat, a checklist??
76
+
77
+ - [ ] Milk
78
+ - [x] Cookies
79
+ - [x] Classic Choco-chip
80
+ - [x] Sourdough Choco-chip
81
+ - [ ] Chee-ee-eeee-zzze!!!!
82
+
83
+ # Quotes
84
+
85
+ > normal citation
86
+
87
+ > > double quote
88
+
89
+ # Line separators
90
+
91
+ ---
92
+
93
+ ---
94
+
95
+ ---
96
+
97
+ # Escaping special characters
98
+
99
+ \*not in italics\*
100
+
101
+ # Table
102
+
103
+ | Title 1 | Title 2 | Title 3 | Title 4 |
104
+ | --------------------- | --------------------- | --------------------- | --------------------- |
105
+ | lorem | lorem ipsum | lorem ipsum dolor | lorem ipsum dolor sit |
106
+ | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit |
107
+ | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit |
108
+ | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit | lorem ipsum dolor sit |
109
+
110
+ # Images or Gifs example
111
+
112
+ {% include markdown/image
113
+ src= "https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExMXNqM21hNWtxeWtkMTh0ajIwc3prYmt3dmV0a3ptY2RyMDJrejlrYiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xT9IgG50Fb7Mi0prBC/giphy.gif"
114
+ title="Hello!"
115
+ caption="Example animated GIF — © Giphy"
116
+ width="300"
117
+ height="auto"
118
+ border-radius="2"
119
+ align="left"
120
+ border-color="#000" %}
121
+
122
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt.
123
+ _Mauris lobortis nulla et felis ullamcorper bibendum._ Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.
124
+
125
+ {% include markdown/image
126
+ src= "https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExMXNqM21hNWtxeWtkMTh0ajIwc3prYmt3dmV0a3ptY2RyMDJrejlrYiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xT9IgG50Fb7Mi0prBC/giphy.gif"
127
+ title="Hello!"
128
+ caption="Example animated GIF — © Giphy"
129
+ width="300"
130
+ height="auto"
131
+ border-radius="2"
132
+ align="right"
133
+ border-color="#000" %}
134
+
135
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt.
136
+ _Mauris lobortis nulla et felis ullamcorper bibendum._ Phasellus et hendrerit mauris. Proin eget nibh a massa vestibulum pretium. Suspendisse eu nisl a ante aliquet bibendum quis a nunc. Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.
137
+
138
+ {% include markdown/image
139
+ src= "https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExMXNqM21hNWtxeWtkMTh0ajIwc3prYmt3dmV0a3ptY2RyMDJrejlrYiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/xT9IgG50Fb7Mi0prBC/giphy.gif"
140
+ title="Hello!"
141
+ caption="Example animated GIF — © Giphy"
142
+ width="100%"
143
+ height="auto"
144
+ border-radius="2"
145
+ align="center"
146
+ border-color="#000" %}
147
+
148
+ Praesent varius interdum vehicula. Aenean risus libero, placerat at vestibulum eget, ultricies eu enim. Praesent nulla tortor, malesuada adipiscing adipiscing sollicitudin, adipiscing eget est.
149
+
150
+ # Video YouTube
151
+
152
+ > Note: You must copy the embed link
153
+
154
+ {% include markdown/video title="Video" url="https://www.youtube.com/embed/IcICF_YF_tI?si=2n30rpxhzdEpZH4Y" %}
155
+
156
+ # Tabs example
157
+
158
+ {% include markdown/tabs %}
159
+
160
+ tab1: Installation
161
+
162
+ Tab 1 content — can contain **markdown**, images, code, etc.
163
+
164
+ tab2: Settings
165
+
166
+ Tab 2 content — everything is set up normally.
167
+
168
+ {% include markdown/endtabs %}
169
+
170
+ # Details example
171
+
172
+ {% include markdown/details summary="How install" %}
173
+
174
+ Here's the **expanded** content — it may have Markdown, code, lists, etc.
175
+
176
+ {% include markdown/enddetails %}
177
+
178
+ # Alerts
179
+
180
+ ## Success
181
+
182
+ {% include markdown/alert type="success" content="
183
+ Congratulations! Your theme is working.
184
+ "%}
185
+
186
+ ## Danger
187
+
188
+ {% include markdown/alert type="danger" content="
189
+ Danger! Do not remove this example
190
+ "%}
191
+
192
+ ## Warning
193
+
194
+ {% include markdown/alert type="warning" content="
195
+ Warning! This is just an example
196
+ "%}
197
+
198
+ # Charts example
199
+
200
+ {% include markdown/chart
201
+ type="bar"
202
+ labels="January,February,March,April,May"
203
+ data="10,13,20,25,50"
204
+ label="Sales"
205
+ color="#00bfffff"
206
+ %}
207
+
208
+ # Socials networks links
209
+
210
+ {% include markdown/socials pos="center" %}
211
+
212
+ # Blockcodes
213
+
214
+ An article with various blocks of highlighted code snippets.
215
+
216
+ ## HTML code using crase ` ` `
217
+
218
+ ```html
219
+ <html>
220
+ <head> </head>
221
+ <body>
222
+ <p>Hello, World!</p>
223
+ </body>
224
+ </html>
225
+ ```
226
+
227
+ ## Ruby code using crase ` ` `
228
+
229
+ ```ruby
230
+ include Enumerable
231
+
232
+ module Foo
233
+ class Bar
234
+ LIPSUM = "lorem ipsum dolor sit"
235
+
236
+ attr_reader :layout
237
+
238
+ def initialize
239
+ @layout = Layout.new
240
+ end
241
+
242
+ # instance method
243
+ def profile
244
+ measure_time do
245
+ compile layout
246
+ layout.render_with Bar::LIPSUM
247
+ end
248
+ rescue ArgumentError
249
+ false
250
+ end
251
+ end
252
+ end
253
+
254
+ # Execute code
255
+ Foo::Bar.new.profile
256
+ ```
257
+
258
+ ## Sass code using crase ` ` `
259
+
260
+ ```sass
261
+ @import "base"
262
+
263
+ .card
264
+ display: inline-block
265
+ margin: 0
266
+ padding: 0
267
+
268
+ &:hover
269
+ color: #ab45ef;
270
+ ```
271
+
272
+ ## Block raw
273
+
274
+ {% raw %}
275
+
276
+ ```liquid
277
+ {%- assign foo = page.foo | bar: 'baz' -%}
278
+ {{ foo }}
279
+ ```
280
+
281
+ {% endraw %}
282
+
283
+ ## HTML using { % highlight % } with numbers
284
+
285
+ {% highlight html linenos %}
286
+
287
+ <html>
288
+ <head>
289
+ <meta charset="utf-8" />
290
+ <title>Hello World</title>
291
+ </head>
292
+ <body>
293
+ <p>Hello, World!</p>
294
+ </body>
295
+ </html>
296
+ {% endhighlight %}
297
+
298
+ ## Rust using { % highlight % } with numbers and marking lines
299
+
300
+ {% highlight rust linenos mark_lines="1 7 15 32" %}
301
+
302
+ // main.rs
303
+
304
+ use std::collections::HashMap;
305
+
306
+ fn main() {
307
+
308
+ let workflow: HashMap<&str, HashMap<&str, Vec<&str>>> = HashMap::from([
309
+ (
310
+ "My Main Tech Stack",
311
+ HashMap::from([
312
+ ("Languages", vec!["Rust", "Python", "Shell Script"]),
313
+ ("Frontend", vec!["HTML", "CSS", "SASS", "Bootstrap", "Jekyll"]),
314
+ ("Database", vec!["PostGreSQL", "MySQL"]),
315
+ ("Tools", vec!["VSCode", "Vim", "JetBrains IDEs", "Git"]),
316
+ ("OS", vec!["Linux", "Windows"]),
317
+ ]),
318
+ ),
319
+ ]);
320
+
321
+ let yt_link: &str = "https://www.youtube.com/c/williamcanin";
322
+
323
+ println!("Hello, World!");
324
+ println!("My name is William, and I am a programming and hacking enthusiast.");
325
+
326
+ for (key, value) in &workflow {
327
+ println!("{}:", key);
328
+ for (inner_key, inner_value) in value {
329
+ println!(" {}: {:?}", inner_key, inner_value);
330
+ }
331
+ }
332
+
333
+ println!("YouTube::> {}", yt_link);
334
+
335
+ }
336
+ {% endhighlight %}
data/_pages/contact.md ADDED
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: contact
3
+ author: # "Your Name"
4
+ title: "Contact"
5
+ order: 3
6
+ emoji: ✉️
7
+ in_menu: true
8
+ published: true
9
+ toc:
10
+ enable: false
11
+ permalink: /contact/
12
+ ---
13
+
14
+ {%- include markdown/details summary="Other forms of contact" -%}
15
+ **You** can contact me in other ways...
16
+ {%- include markdown/enddetails -%}
data/_pages/donate.md ADDED
@@ -0,0 +1,16 @@
1
+ ---
2
+ layout: donate
3
+ author: # "Your Name"
4
+ title: "Donate"
5
+ order: 8
6
+ emoji: ☕
7
+ in_menu: true
8
+ published: true
9
+ toc:
10
+ enable: false
11
+ permalink: /donate/
12
+ ---
13
+
14
+ > Note: This page create with command: `bundle exec rawfeed restore:donate`
15
+
16
+ Every contribution helps me to continue my work.
@@ -0,0 +1,17 @@
1
+ ---
2
+ layout: licenses
3
+ author: # "Your Name"
4
+ title: "Licenses"
5
+ in_menu: false
6
+ published: true
7
+ toc:
8
+ enable: false
9
+ permalink: /licenses/
10
+ ---
11
+
12
+ > NOTE: These licenses do not apply to this content, it is just an example.
13
+
14
+ - All my blog [posts](/blog/) are licensed under [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/){:target="\_blank"}.
15
+
16
+ - The photographs contained in the posts on the [pixels](/pixels/) page are copyrighted and are protected by
17
+ **All Rights Reserved**. Any unauthorized use, copying, or distribution is strictly prohibited.
data/_pages/resume.md ADDED
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: resume
3
+ author: # "Your Name"
4
+ title: "Resume"
5
+ order: 4
6
+ emoji: 📜
7
+ in_menu: true
8
+ published: true
9
+ toc:
10
+ enable: false
11
+ permalink: /resume/
12
+ ---
13
+
14
+ <!-- There is no need to put anything here -->
@@ -0,0 +1,34 @@
1
+ ---
2
+ layout: pixels/post
3
+ author: "William C. Canin"
4
+ title: "Luffy smiling"
5
+ description: "Luffy is in a good mood"
6
+ image:
7
+ path: "/assets/images/pixels/luffy.jpg"
8
+ caption: "Luffy, from the anime One Piece"
9
+ width: 60%
10
+ toc:
11
+ enable: false
12
+ date: 2025-10-15 14:11:04 -0300
13
+ ---
14
+
15
+ > Note: This page create with command: `bundle exec rawfeed create:pixel`
16
+
17
+ Monkey D. Luffy (/ˈluːfi/ LOO-fee) (Japanese: モンキー・D・ルフィ, Hepburn: Monkī Dī Rufi; [ɾɯꜜɸiː]),
18
+ also known as "Straw Hat" Luffy,[n 2] is a fictional character and the protagonist of the Japanese
19
+ manga series One Piece, created by Eiichiro Oda. Luffy made his debut as a young boy who acquires
20
+ the properties of rubber after accidentally eating one of the Devil Fruits.
21
+
22
+ Monkey D. Luffy is the captain of the Straw Hat Pirates, and dreamt of being a pirate since
23
+ childhood from the influence of his idol and mentor Red-Haired Shanks. At the age of 17, Luffy sets
24
+ sail from the East Blue Sea to the Grand Line in search of the legendary treasure One Piece, to
25
+ succeed Gol D. Roger as "King of the Pirates". He fights multiple antagonists, and aids and
26
+ befriends the inhabitants of several islands on his journey. Usually cheerful, he becomes serious
27
+ and even aggressive when he fights. Luffy uses his rubber body to concentrate his power, executing
28
+ a range of attacks. In his signature attack, the Gum-Gum Pistol, he slingshots punches at opponents
29
+ from a distance. Luffy also grows stronger over the course of the story by transforming his body
30
+ through different "Gears"; this is reflected in his bounty, which is used to measure the threat he
31
+ poses to the World Government, which forbids piracy. Luffy clashes with the three kinds of great
32
+ powers in One Piece: the World Government's Marines and its allied privateers known as the
33
+ Seven Warlords of the Sea, and the most influential pirate captains known as the Four Emperors.
34
+ [font](https://en.wikipedia.org/wiki/Monkey_D._Luffy){:target="\_blank"}
@@ -0,0 +1,36 @@
1
+ ---
2
+ layout: blog/post
3
+ title: "Welcome to Jekyll!"
4
+ description: "Welcome page"
5
+ author: "William Canin"
6
+ date: 2025-09-20 16:36:34 -0300
7
+ update_date: 2025-09-28 07:16:01 -0300
8
+ comments: true
9
+ tags: [welcome,jekyll,example]
10
+ toc:
11
+ enable: true
12
+ ---
13
+
14
+ You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
15
+
16
+ Jekyll requires blog post files to be named according to the following format:
17
+
18
+ `YEAR-MONTH-DAY-title.MARKUP`
19
+
20
+ Where `YEAR` is a four-digit number, `MONTH` and `DAY` are both two-digit numbers, and `MARKUP` is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works.
21
+
22
+ Jekyll also offers powerful support for code snippets:
23
+
24
+ {% highlight ruby linenos %}
25
+ def print_hi(name)
26
+ puts "Hi, #{name}"
27
+ end
28
+ print_hi('Tom')
29
+ #=> prints 'Hi, Tom' to STDOUT.
30
+ {% endhighlight %}
31
+
32
+ Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
33
+
34
+ [jekyll-docs]: https://jekyllrb.com/docs/home
35
+ [jekyll-gh]: https://github.com/jekyll/jekyll
36
+ [jekyll-talk]: https://talk.jekyllrb.com/
@@ -0,0 +1,141 @@
1
+ ---
2
+ layout: blog/post
3
+ title: "Codeblocks - Demonstration in the post"
4
+ description: "This post demonstrates post codeblock"
5
+ author: "William Canin"
6
+ date: 2025-09-25 10:36:34 -0300
7
+ update_date: 2025-09-28 07:16:01 -0300
8
+ comments: true
9
+ tags: [example, codeblocks, ruby, html, rust, raw]
10
+ toc:
11
+ enable: true
12
+ ---
13
+
14
+ > Note: This post create with command: `bundle exec rawfeed create:draft`
15
+ > And then using the: `bundle exec rawfeed post:draft`
16
+
17
+ # Block codes
18
+
19
+ An article with various blocks of highlighted code snippets.
20
+
21
+ ## HTML code using crasis ` ` `
22
+
23
+ ```html
24
+ <html>
25
+ <head> </head>
26
+ <body>
27
+ <p>Hello, World!</p>
28
+ </body>
29
+ </html>
30
+ ```
31
+
32
+ ## Ruby code using crasis ` ` `
33
+
34
+ ```ruby
35
+ include Enumerable
36
+
37
+ module Foo
38
+ class Bar
39
+ LOREM = "lorem ipsum dolor sit"
40
+
41
+ attr_reader :layout
42
+
43
+ def initialize
44
+ @layout = Layout.new
45
+ end
46
+
47
+ # instance method
48
+ def profile
49
+ measure_time do
50
+ compile layout
51
+ layout.render_with Bar::LOREM
52
+ end
53
+ rescue ArgumentError
54
+ false
55
+ end
56
+ end
57
+ end
58
+
59
+ # Execute code
60
+ Foo::Bar.new.profile
61
+ ```
62
+
63
+ ## Sass code using crasis ` ` `
64
+
65
+ ```sass
66
+ @import "base"
67
+
68
+ .card
69
+ display: inline-block
70
+ margin: 0
71
+ padding: 0
72
+
73
+ &:hover
74
+ color: #ab45ef;
75
+ ```
76
+
77
+ ## Block raw
78
+
79
+ {% raw %}
80
+
81
+ ```liquid
82
+ {%- assign foo = page.foo | bar: 'baz' -%}
83
+ {{ foo }}
84
+ ```
85
+
86
+ {% endraw %}
87
+
88
+ ## HTML using { % highlight % } with numbers
89
+
90
+ {% highlight html linenos %}
91
+
92
+ <html>
93
+ <head>
94
+ <meta charset="utf-8" />
95
+ <title>Hello World</title>
96
+ </head>
97
+ <body>
98
+ <p>Hello, World!</p>
99
+ </body>
100
+ </html>
101
+ {% endhighlight %}
102
+
103
+ ## Rust using { % highlight % } with numbers and marking lines
104
+
105
+ {% highlight rust linenos mark_lines="1 7 15 32" %}
106
+
107
+ // main.rs
108
+
109
+ use std::collections::HashMap;
110
+
111
+ fn main() {
112
+
113
+ let workflow: HashMap<&str, HashMap<&str, Vec<&str>>> = HashMap::from([
114
+ (
115
+ "My Main Tech Stack",
116
+ HashMap::from([
117
+ ("Languages", vec!["Rust", "Python", "Shell Script"]),
118
+ ("Frontend", vec!["HTML", "CSS", "SASS", "Bootstrap", "Jekyll"]),
119
+ ("Database", vec!["PostGreSQL", "MySQL"]),
120
+ ("Tools", vec!["VSCode", "Vim", "JetBrains IDEs", "Git"]),
121
+ ("OS", vec!["Linux", "Windows"]),
122
+ ]),
123
+ ),
124
+ ]);
125
+
126
+ let yt_link: &str = "https://www.youtube.com/c/williamcanin";
127
+
128
+ println!("Hello, World!");
129
+ println!("My name is William, and I am a programming and hacking enthusiast.");
130
+
131
+ for (key, value) in &workflow {
132
+ println!("{}:", key);
133
+ for (inner_key, inner_value) in value {
134
+ println!(" {}: {:?}", inner_key, inner_value);
135
+ }
136
+ }
137
+
138
+ println!("YouTube::> {}", yt_link);
139
+
140
+ }
141
+ {% endhighlight %}