├── LICENSE
├── README.md
├── archetypes
└── default.md
├── assets
├── css
│ └── main.css
└── js
│ └── insertoggle.js
├── exampleSite
├── assets
│ └── images
│ │ ├── brent-cox-ydGRmobx5jA-unsplash.jpg
│ │ ├── daniele-colucci-OtXJhYjbKeg-unsplash.jpg
│ │ ├── daniele-colucci-Smeer5L0tXM-unsplash.jpg
│ │ ├── default-placeholder.png
│ │ ├── javardh-2q6C5zDJOsg-unsplash.jpg
│ │ ├── lionel-hesry-UNd3lRKhwSw-unsplash.jpg
│ │ ├── nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg
│ │ ├── nasa-Ed2AELHKYBw-unsplash.jpg
│ │ ├── nasa-astronaut-unsplash.jpg
│ │ └── nasa-rTZW4f02zY8-unsplash.jpg
├── content
│ ├── about.md
│ └── posts
│ │ ├── 2022
│ │ ├── 10-27__Exoplanets-hunting-for-earths-cosmic-cousins.md
│ │ ├── 11-30__The-hubble-space-telescope-30-years-of-stunning-discoveries.md
│ │ └── 12-07__Cosmic-time-travel-peering-into-the-universes-past-with-telescopes.md
│ │ └── 2023
│ │ ├── 08-12__The-great-beyond-exploring-the-expanding-universe.md
│ │ ├── 08-15__Space-explorations-next-frontier-the-race-to-reach-mars.md
│ │ ├── 09-23__Stellar-spectacles-the-wonders-of-supernova-explosions.md
│ │ ├── 09-24__Galactic-marvels-the-most-spectacular-nebulas-in-the-cosmos.md
│ │ └── 10-24__Unveiling-the-secrets-of-black-holes-a-journey-into-the-heart-of-darkness.md
├── hugo.toml
├── input.css
├── package.json
├── postcss.config.js
└── tailwind.config.js
├── hugo.toml
├── images
├── screenshot.png
└── tn.png
├── layouts
├── _default
│ ├── baseof.html
│ ├── home.html
│ ├── list.html
│ ├── single.html
│ └── terms.html
├── page
│ └── single.html
└── partials
│ ├── content
│ ├── aside-banner.html
│ ├── aside.html
│ ├── breadcrumb.html
│ ├── card.html
│ ├── list-post.html
│ ├── newsletter.html
│ └── social-media.html
│ ├── footer.html
│ ├── footer
│ └── js.html
│ ├── head.html
│ ├── head
│ ├── css.html
│ └── favicon.html
│ ├── header.html
│ ├── menu.html
│ ├── script.html
│ ├── search.html
│ └── terms.html
├── static
├── favicon-32.png
├── favicon-64.png
├── favicon.ico
├── favicon.png
└── favicon.svg
└── theme.toml
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) [year] [fullname]
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Pehtheme Hugo
2 |
3 | Pehtheme Hugo is an open-source Hugo theme inspired by [Material Design v3](https://m3.material.io/), lovingly crafted using Tailwind CSS.
4 |
5 | 
6 |
7 | ## Live Demo
8 |
9 | Check out the live demo: [Pehtheme Hugo Live Demo](https://pehtheme-hugo.netlify.app/)
10 |
11 | ## Performance Testing
12 |
13 | To assess the performance of your website using Pehtheme Hugo, utilize the PageSpeed Insights tool. Click the button below to run a PageSpeed Insights test:
14 |
15 | [PageSpeed Insights Test](https://pagespeed.web.dev/analysis/https-pehtheme-hugo-netlify-app/7gv9zedw83?form_factor=mobile)
16 |
17 | ## Features
18 |
19 | - Built with Tailwind CSS
20 | - Featured posts displayed on the homepage (To showcase featured posts on the homepage, the Hugo theme uses `feature` tags data)
21 | - Horizontal menus, content tags list
22 | - No JavaScript dependencies
23 | - Vanilla JS toggle button
24 | - Two-column blog layout
25 | - Sidebar with a list of recent posts
26 | - Semantic HTML
27 | - Sidebar Ads box
28 |
29 | ## Installation
30 |
31 | To get started with Pehtheme Hugo, follow these steps:
32 |
33 | 1. Install Hugo and create a new site. For detailed instructions, refer to [Hugo's Quick Start Guide](https://gohugo.io/getting-started/quick-start/).
34 |
35 | 2. Add Pehtheme Hugo to your project:
36 |
37 | ```bash
38 | $ git clone https://github.com/fauzanmy/pehtheme-hugo.git
39 | ```
40 |
41 | 3. Simply copy the following 2 folders and 1 content from the `exampleSite` directory to the root of your project:
42 |
43 | ```bash
44 | exampleSite/
45 | ├── assets/
46 | ├── content/
47 | └── hugo.toml
48 | ```
49 |
50 | 4. Start Hugo:
51 |
52 | ```bash
53 | hugo server
54 | ```
55 |
56 | ## Configuration
57 |
58 | You can configure the following settings in your Hugo project:
59 |
60 | - `paginate` = '6' (Set the desired number of home posts per page)
61 | - `summaryLength` = '20' (Approximately 160 characters for 20 words)
62 | - `googleAnalytics` = '' (Your GA-4 analytics code)
63 | - `disqusShortname` = '' (Your Disqus shortname)
64 |
65 | ## Custom Theme
66 |
67 | 1. Ensure you have NodeJS installed on your desktop.
68 |
69 | 2. Copy the Node.js configuration files from the `exampleSite` directory to the root of your Hugo project:
70 |
71 | ```bash
72 | exampleSite/
73 | ├── package.json
74 | ├── postcss.config.js
75 | └── tailwind.config.js
76 | ```
77 |
78 | 3. Additionally, copy the `exampleSite/input.css` file to the `assets/input.css` directory of your Hugo project.
79 |
80 | 4. Run the following command to install necessary dependencies:
81 |
82 | ```bash
83 | npm install
84 | ```
85 |
86 | 5. Customize the theme with Tailwind CSS using the following command:
87 |
88 | ```bash
89 | npm run dev
90 | ```
91 |
92 | 6. To build the website, execute the command:
93 |
94 | ```bash
95 | npm run build
96 | ```
97 |
98 | ## License
99 |
100 | Pehtheme Hugo is MIT Licensed. For more details, see the [LICENSE](https://github.com/fauzanmy/pehtheme-hugo/blob/main/LICENSE) file.
101 |
102 | ## Logo Icon
103 |
104 | Egg fried icon source: [Bootstrap Icons - Egg Fried](https://icons.getbootstrap.com/icons/egg-fried/)
105 |
106 | ## Photo Credits
107 |
108 | Image credits used in the live preview:
109 |
110 | ```
111 | Images resource:
112 | - https://unsplash.com/photos/Smeer5L0tXM
113 | - https://unsplash.com/photos/2q6C5zDJOsg
114 | - https://unsplash.com/photos/UNd3lRKhwSw
115 | - https://unsplash.com/photos/Ed2AELHKYBw
116 | - https://unsplash.com/photos/rTZW4f02zY8
117 | - https://unsplash.com/photos/OtXJhYjbKeg
118 | - https://unsplash.com/photos/ZPP-zP8HYG0
119 | - https://unsplash.com/photos/ydGRmobx5jA
120 | - https://pixabay.com/vectors/email-newsletter-email-marketing-3249062/
121 | ```
--------------------------------------------------------------------------------
/archetypes/default.md:
--------------------------------------------------------------------------------
1 | +++
2 | title = '{{ replace .File.ContentBaseName "-" " " | title }}'
3 | date = {{ .Date }}
4 | draft = true
5 | +++
6 |
--------------------------------------------------------------------------------
/assets/css/main.css:
--------------------------------------------------------------------------------
1 | /*
2 | ! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com
3 | */
4 |
5 | /*
6 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
7 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
8 | */
9 |
10 | *,
11 | ::before,
12 | ::after {
13 | box-sizing: border-box;
14 | /* 1 */
15 | border-width: 0;
16 | /* 2 */
17 | border-style: solid;
18 | /* 2 */
19 | border-color: #e5e7eb;
20 | /* 2 */
21 | }
22 |
23 | ::before,
24 | ::after {
25 | --tw-content: '';
26 | }
27 |
28 | /*
29 | 1. Use a consistent sensible line-height in all browsers.
30 | 2. Prevent adjustments of font size after orientation changes in iOS.
31 | 3. Use a more readable tab size.
32 | 4. Use the user's configured `sans` font-family by default.
33 | 5. Use the user's configured `sans` font-feature-settings by default.
34 | 6. Use the user's configured `sans` font-variation-settings by default.
35 | */
36 |
37 | html {
38 | line-height: 1.5;
39 | /* 1 */
40 | -webkit-text-size-adjust: 100%;
41 | /* 2 */
42 | -moz-tab-size: 4;
43 | /* 3 */
44 | -o-tab-size: 4;
45 | tab-size: 4;
46 | /* 3 */
47 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
48 | /* 4 */
49 | font-feature-settings: normal;
50 | /* 5 */
51 | font-variation-settings: normal;
52 | /* 6 */
53 | }
54 |
55 | /*
56 | 1. Remove the margin in all browsers.
57 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
58 | */
59 |
60 | body {
61 | margin: 0;
62 | /* 1 */
63 | line-height: inherit;
64 | /* 2 */
65 | }
66 |
67 | /*
68 | 1. Add the correct height in Firefox.
69 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
70 | 3. Ensure horizontal rules are visible by default.
71 | */
72 |
73 | hr {
74 | height: 0;
75 | /* 1 */
76 | color: inherit;
77 | /* 2 */
78 | border-top-width: 1px;
79 | /* 3 */
80 | }
81 |
82 | /*
83 | Add the correct text decoration in Chrome, Edge, and Safari.
84 | */
85 |
86 | abbr:where([title]) {
87 | -webkit-text-decoration: underline dotted;
88 | text-decoration: underline dotted;
89 | }
90 |
91 | /*
92 | Remove the default font size and weight for headings.
93 | */
94 |
95 | h1,
96 | h2,
97 | h3,
98 | h4,
99 | h5,
100 | h6 {
101 | font-size: inherit;
102 | font-weight: inherit;
103 | }
104 |
105 | /*
106 | Reset links to optimize for opt-in styling instead of opt-out.
107 | */
108 |
109 | a {
110 | color: inherit;
111 | text-decoration: inherit;
112 | }
113 |
114 | /*
115 | Add the correct font weight in Edge and Safari.
116 | */
117 |
118 | b,
119 | strong {
120 | font-weight: bolder;
121 | }
122 |
123 | /*
124 | 1. Use the user's configured `mono` font family by default.
125 | 2. Correct the odd `em` font sizing in all browsers.
126 | */
127 |
128 | code,
129 | kbd,
130 | samp,
131 | pre {
132 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
133 | /* 1 */
134 | font-size: 1em;
135 | /* 2 */
136 | }
137 |
138 | /*
139 | Add the correct font size in all browsers.
140 | */
141 |
142 | small {
143 | font-size: 80%;
144 | }
145 |
146 | /*
147 | Prevent `sub` and `sup` elements from affecting the line height in all browsers.
148 | */
149 |
150 | sub,
151 | sup {
152 | font-size: 75%;
153 | line-height: 0;
154 | position: relative;
155 | vertical-align: baseline;
156 | }
157 |
158 | sub {
159 | bottom: -0.25em;
160 | }
161 |
162 | sup {
163 | top: -0.5em;
164 | }
165 |
166 | /*
167 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
168 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
169 | 3. Remove gaps between table borders by default.
170 | */
171 |
172 | table {
173 | text-indent: 0;
174 | /* 1 */
175 | border-color: inherit;
176 | /* 2 */
177 | border-collapse: collapse;
178 | /* 3 */
179 | }
180 |
181 | /*
182 | 1. Change the font styles in all browsers.
183 | 2. Remove the margin in Firefox and Safari.
184 | 3. Remove default padding in all browsers.
185 | */
186 |
187 | button,
188 | input,
189 | optgroup,
190 | select,
191 | textarea {
192 | font-family: inherit;
193 | /* 1 */
194 | font-feature-settings: inherit;
195 | /* 1 */
196 | font-variation-settings: inherit;
197 | /* 1 */
198 | font-size: 100%;
199 | /* 1 */
200 | font-weight: inherit;
201 | /* 1 */
202 | line-height: inherit;
203 | /* 1 */
204 | color: inherit;
205 | /* 1 */
206 | margin: 0;
207 | /* 2 */
208 | padding: 0;
209 | /* 3 */
210 | }
211 |
212 | /*
213 | Remove the inheritance of text transform in Edge and Firefox.
214 | */
215 |
216 | button,
217 | select {
218 | text-transform: none;
219 | }
220 |
221 | /*
222 | 1. Correct the inability to style clickable types in iOS and Safari.
223 | 2. Remove default button styles.
224 | */
225 |
226 | button,
227 | [type='button'],
228 | [type='reset'],
229 | [type='submit'] {
230 | -webkit-appearance: button;
231 | /* 1 */
232 | background-color: transparent;
233 | /* 2 */
234 | background-image: none;
235 | /* 2 */
236 | }
237 |
238 | /*
239 | Use the modern Firefox focus style for all focusable elements.
240 | */
241 |
242 | :-moz-focusring {
243 | outline: auto;
244 | }
245 |
246 | /*
247 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
248 | */
249 |
250 | :-moz-ui-invalid {
251 | box-shadow: none;
252 | }
253 |
254 | /*
255 | Add the correct vertical alignment in Chrome and Firefox.
256 | */
257 |
258 | progress {
259 | vertical-align: baseline;
260 | }
261 |
262 | /*
263 | Correct the cursor style of increment and decrement buttons in Safari.
264 | */
265 |
266 | ::-webkit-inner-spin-button,
267 | ::-webkit-outer-spin-button {
268 | height: auto;
269 | }
270 |
271 | /*
272 | 1. Correct the odd appearance in Chrome and Safari.
273 | 2. Correct the outline style in Safari.
274 | */
275 |
276 | [type='search'] {
277 | -webkit-appearance: textfield;
278 | /* 1 */
279 | outline-offset: -2px;
280 | /* 2 */
281 | }
282 |
283 | /*
284 | Remove the inner padding in Chrome and Safari on macOS.
285 | */
286 |
287 | ::-webkit-search-decoration {
288 | -webkit-appearance: none;
289 | }
290 |
291 | /*
292 | 1. Correct the inability to style clickable types in iOS and Safari.
293 | 2. Change font properties to `inherit` in Safari.
294 | */
295 |
296 | ::-webkit-file-upload-button {
297 | -webkit-appearance: button;
298 | /* 1 */
299 | font: inherit;
300 | /* 2 */
301 | }
302 |
303 | /*
304 | Add the correct display in Chrome and Safari.
305 | */
306 |
307 | summary {
308 | display: list-item;
309 | }
310 |
311 | /*
312 | Removes the default spacing and border for appropriate elements.
313 | */
314 |
315 | blockquote,
316 | dl,
317 | dd,
318 | h1,
319 | h2,
320 | h3,
321 | h4,
322 | h5,
323 | h6,
324 | hr,
325 | figure,
326 | p,
327 | pre {
328 | margin: 0;
329 | }
330 |
331 | fieldset {
332 | margin: 0;
333 | padding: 0;
334 | }
335 |
336 | legend {
337 | padding: 0;
338 | }
339 |
340 | ol,
341 | ul,
342 | menu {
343 | list-style: none;
344 | margin: 0;
345 | padding: 0;
346 | }
347 |
348 | /*
349 | Reset default styling for dialogs.
350 | */
351 |
352 | dialog {
353 | padding: 0;
354 | }
355 |
356 | /*
357 | Prevent resizing textareas horizontally by default.
358 | */
359 |
360 | textarea {
361 | resize: vertical;
362 | }
363 |
364 | /*
365 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
366 | 2. Set the default placeholder color to the user's configured gray 400 color.
367 | */
368 |
369 | input::-moz-placeholder, textarea::-moz-placeholder {
370 | opacity: 1;
371 | /* 1 */
372 | color: #9ca3af;
373 | /* 2 */
374 | }
375 |
376 | input::placeholder,
377 | textarea::placeholder {
378 | opacity: 1;
379 | /* 1 */
380 | color: #9ca3af;
381 | /* 2 */
382 | }
383 |
384 | /*
385 | Set the default cursor for buttons.
386 | */
387 |
388 | button,
389 | [role="button"] {
390 | cursor: pointer;
391 | }
392 |
393 | /*
394 | Make sure disabled buttons don't get the pointer cursor.
395 | */
396 |
397 | :disabled {
398 | cursor: default;
399 | }
400 |
401 | /*
402 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
403 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
404 | This can trigger a poorly considered lint error in some tools but is included by design.
405 | */
406 |
407 | img,
408 | svg,
409 | video,
410 | canvas,
411 | audio,
412 | iframe,
413 | embed,
414 | object {
415 | display: block;
416 | /* 1 */
417 | vertical-align: middle;
418 | /* 2 */
419 | }
420 |
421 | /*
422 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
423 | */
424 |
425 | img,
426 | video {
427 | max-width: 100%;
428 | height: auto;
429 | }
430 |
431 | /* Make elements with the HTML hidden attribute stay hidden by default */
432 |
433 | [hidden] {
434 | display: none;
435 | }
436 |
437 | *, ::before, ::after {
438 | --tw-border-spacing-x: 0;
439 | --tw-border-spacing-y: 0;
440 | --tw-translate-x: 0;
441 | --tw-translate-y: 0;
442 | --tw-rotate: 0;
443 | --tw-skew-x: 0;
444 | --tw-skew-y: 0;
445 | --tw-scale-x: 1;
446 | --tw-scale-y: 1;
447 | --tw-pan-x: ;
448 | --tw-pan-y: ;
449 | --tw-pinch-zoom: ;
450 | --tw-scroll-snap-strictness: proximity;
451 | --tw-gradient-from-position: ;
452 | --tw-gradient-via-position: ;
453 | --tw-gradient-to-position: ;
454 | --tw-ordinal: ;
455 | --tw-slashed-zero: ;
456 | --tw-numeric-figure: ;
457 | --tw-numeric-spacing: ;
458 | --tw-numeric-fraction: ;
459 | --tw-ring-inset: ;
460 | --tw-ring-offset-width: 0px;
461 | --tw-ring-offset-color: #fff;
462 | --tw-ring-color: rgb(59 130 246 / 0.5);
463 | --tw-ring-offset-shadow: 0 0 #0000;
464 | --tw-ring-shadow: 0 0 #0000;
465 | --tw-shadow: 0 0 #0000;
466 | --tw-shadow-colored: 0 0 #0000;
467 | --tw-blur: ;
468 | --tw-brightness: ;
469 | --tw-contrast: ;
470 | --tw-grayscale: ;
471 | --tw-hue-rotate: ;
472 | --tw-invert: ;
473 | --tw-saturate: ;
474 | --tw-sepia: ;
475 | --tw-drop-shadow: ;
476 | --tw-backdrop-blur: ;
477 | --tw-backdrop-brightness: ;
478 | --tw-backdrop-contrast: ;
479 | --tw-backdrop-grayscale: ;
480 | --tw-backdrop-hue-rotate: ;
481 | --tw-backdrop-invert: ;
482 | --tw-backdrop-opacity: ;
483 | --tw-backdrop-saturate: ;
484 | --tw-backdrop-sepia: ;
485 | }
486 |
487 | ::backdrop {
488 | --tw-border-spacing-x: 0;
489 | --tw-border-spacing-y: 0;
490 | --tw-translate-x: 0;
491 | --tw-translate-y: 0;
492 | --tw-rotate: 0;
493 | --tw-skew-x: 0;
494 | --tw-skew-y: 0;
495 | --tw-scale-x: 1;
496 | --tw-scale-y: 1;
497 | --tw-pan-x: ;
498 | --tw-pan-y: ;
499 | --tw-pinch-zoom: ;
500 | --tw-scroll-snap-strictness: proximity;
501 | --tw-gradient-from-position: ;
502 | --tw-gradient-via-position: ;
503 | --tw-gradient-to-position: ;
504 | --tw-ordinal: ;
505 | --tw-slashed-zero: ;
506 | --tw-numeric-figure: ;
507 | --tw-numeric-spacing: ;
508 | --tw-numeric-fraction: ;
509 | --tw-ring-inset: ;
510 | --tw-ring-offset-width: 0px;
511 | --tw-ring-offset-color: #fff;
512 | --tw-ring-color: rgb(59 130 246 / 0.5);
513 | --tw-ring-offset-shadow: 0 0 #0000;
514 | --tw-ring-shadow: 0 0 #0000;
515 | --tw-shadow: 0 0 #0000;
516 | --tw-shadow-colored: 0 0 #0000;
517 | --tw-blur: ;
518 | --tw-brightness: ;
519 | --tw-contrast: ;
520 | --tw-grayscale: ;
521 | --tw-hue-rotate: ;
522 | --tw-invert: ;
523 | --tw-saturate: ;
524 | --tw-sepia: ;
525 | --tw-drop-shadow: ;
526 | --tw-backdrop-blur: ;
527 | --tw-backdrop-brightness: ;
528 | --tw-backdrop-contrast: ;
529 | --tw-backdrop-grayscale: ;
530 | --tw-backdrop-hue-rotate: ;
531 | --tw-backdrop-invert: ;
532 | --tw-backdrop-opacity: ;
533 | --tw-backdrop-saturate: ;
534 | --tw-backdrop-sepia: ;
535 | }
536 |
537 | .prose {
538 | color: var(--tw-prose-body);
539 | max-width: 65ch;
540 | }
541 |
542 | .prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
543 | margin-top: 1.25em;
544 | margin-bottom: 1.25em;
545 | }
546 |
547 | .prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
548 | color: var(--tw-prose-lead);
549 | font-size: 1.25em;
550 | line-height: 1.6;
551 | margin-top: 1.2em;
552 | margin-bottom: 1.2em;
553 | }
554 |
555 | .prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
556 | color: var(--tw-prose-links);
557 | text-decoration: underline;
558 | font-weight: 500;
559 | }
560 |
561 | .prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
562 | color: var(--tw-prose-bold);
563 | font-weight: 600;
564 | }
565 |
566 | .prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
567 | color: inherit;
568 | }
569 |
570 | .prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
571 | color: inherit;
572 | }
573 |
574 | .prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
575 | color: inherit;
576 | }
577 |
578 | .prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
579 | list-style-type: decimal;
580 | margin-top: 1.25em;
581 | margin-bottom: 1.25em;
582 | padding-left: 1.625em;
583 | }
584 |
585 | .prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
586 | list-style-type: upper-alpha;
587 | }
588 |
589 | .prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
590 | list-style-type: lower-alpha;
591 | }
592 |
593 | .prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
594 | list-style-type: upper-alpha;
595 | }
596 |
597 | .prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
598 | list-style-type: lower-alpha;
599 | }
600 |
601 | .prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
602 | list-style-type: upper-roman;
603 | }
604 |
605 | .prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
606 | list-style-type: lower-roman;
607 | }
608 |
609 | .prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
610 | list-style-type: upper-roman;
611 | }
612 |
613 | .prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
614 | list-style-type: lower-roman;
615 | }
616 |
617 | .prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
618 | list-style-type: decimal;
619 | }
620 |
621 | .prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
622 | list-style-type: disc;
623 | margin-top: 1.25em;
624 | margin-bottom: 1.25em;
625 | padding-left: 1.625em;
626 | }
627 |
628 | .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
629 | font-weight: 400;
630 | color: var(--tw-prose-counters);
631 | }
632 |
633 | .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
634 | color: var(--tw-prose-bullets);
635 | }
636 |
637 | .prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
638 | color: var(--tw-prose-headings);
639 | font-weight: 600;
640 | margin-top: 1.25em;
641 | }
642 |
643 | .prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
644 | border-color: var(--tw-prose-hr);
645 | border-top-width: 1px;
646 | margin-top: 3em;
647 | margin-bottom: 3em;
648 | }
649 |
650 | .prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
651 | font-weight: 500;
652 | font-style: italic;
653 | color: var(--tw-prose-quotes);
654 | border-left-width: 0.25rem;
655 | border-left-color: var(--tw-prose-quote-borders);
656 | quotes: "\201C""\201D""\2018""\2019";
657 | margin-top: 1.6em;
658 | margin-bottom: 1.6em;
659 | padding-left: 1em;
660 | }
661 |
662 | .prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
663 | content: open-quote;
664 | }
665 |
666 | .prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
667 | content: close-quote;
668 | }
669 |
670 | .prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
671 | color: var(--tw-prose-headings);
672 | font-weight: 800;
673 | font-size: 2.25em;
674 | margin-top: 0;
675 | margin-bottom: 0.8888889em;
676 | line-height: 1.1111111;
677 | }
678 |
679 | .prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
680 | font-weight: 900;
681 | color: inherit;
682 | }
683 |
684 | .prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
685 | color: var(--tw-prose-headings);
686 | font-weight: 700;
687 | font-size: 1.5em;
688 | margin-top: 2em;
689 | margin-bottom: 1em;
690 | line-height: 1.3333333;
691 | }
692 |
693 | .prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
694 | font-weight: 800;
695 | color: inherit;
696 | }
697 |
698 | .prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
699 | color: var(--tw-prose-headings);
700 | font-weight: 600;
701 | font-size: 1.25em;
702 | margin-top: 1.6em;
703 | margin-bottom: 0.6em;
704 | line-height: 1.6;
705 | }
706 |
707 | .prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
708 | font-weight: 700;
709 | color: inherit;
710 | }
711 |
712 | .prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
713 | color: var(--tw-prose-headings);
714 | font-weight: 600;
715 | margin-top: 1.5em;
716 | margin-bottom: 0.5em;
717 | line-height: 1.5;
718 | }
719 |
720 | .prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
721 | font-weight: 700;
722 | color: inherit;
723 | }
724 |
725 | .prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
726 | margin-top: 2em;
727 | margin-bottom: 2em;
728 | }
729 |
730 | .prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
731 | display: block;
732 | margin-top: 2em;
733 | margin-bottom: 2em;
734 | }
735 |
736 | .prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
737 | font-weight: 500;
738 | font-family: inherit;
739 | color: var(--tw-prose-kbd);
740 | box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
741 | font-size: 0.875em;
742 | border-radius: 0.3125rem;
743 | padding-top: 0.1875em;
744 | padding-right: 0.375em;
745 | padding-bottom: 0.1875em;
746 | padding-left: 0.375em;
747 | }
748 |
749 | .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
750 | color: var(--tw-prose-code);
751 | font-weight: 600;
752 | font-size: 0.875em;
753 | }
754 |
755 | .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
756 | content: "`";
757 | }
758 |
759 | .prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
760 | content: "`";
761 | }
762 |
763 | .prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
764 | color: inherit;
765 | }
766 |
767 | .prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
768 | color: inherit;
769 | }
770 |
771 | .prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
772 | color: inherit;
773 | font-size: 0.875em;
774 | }
775 |
776 | .prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
777 | color: inherit;
778 | font-size: 0.9em;
779 | }
780 |
781 | .prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
782 | color: inherit;
783 | }
784 |
785 | .prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
786 | color: inherit;
787 | }
788 |
789 | .prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
790 | color: inherit;
791 | }
792 |
793 | .prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
794 | color: var(--tw-prose-pre-code);
795 | background-color: var(--tw-prose-pre-bg);
796 | overflow-x: auto;
797 | font-weight: 400;
798 | font-size: 0.875em;
799 | line-height: 1.7142857;
800 | margin-top: 1.7142857em;
801 | margin-bottom: 1.7142857em;
802 | border-radius: 0.375rem;
803 | padding-top: 0.8571429em;
804 | padding-right: 1.1428571em;
805 | padding-bottom: 0.8571429em;
806 | padding-left: 1.1428571em;
807 | }
808 |
809 | .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
810 | background-color: transparent;
811 | border-width: 0;
812 | border-radius: 0;
813 | padding: 0;
814 | font-weight: inherit;
815 | color: inherit;
816 | font-size: inherit;
817 | font-family: inherit;
818 | line-height: inherit;
819 | }
820 |
821 | .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
822 | content: none;
823 | }
824 |
825 | .prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
826 | content: none;
827 | }
828 |
829 | .prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
830 | width: 100%;
831 | table-layout: auto;
832 | text-align: left;
833 | margin-top: 2em;
834 | margin-bottom: 2em;
835 | font-size: 0.875em;
836 | line-height: 1.7142857;
837 | }
838 |
839 | .prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
840 | border-bottom-width: 1px;
841 | border-bottom-color: var(--tw-prose-th-borders);
842 | }
843 |
844 | .prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
845 | color: var(--tw-prose-headings);
846 | font-weight: 600;
847 | vertical-align: bottom;
848 | padding-right: 0.5714286em;
849 | padding-bottom: 0.5714286em;
850 | padding-left: 0.5714286em;
851 | }
852 |
853 | .prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
854 | border-bottom-width: 1px;
855 | border-bottom-color: var(--tw-prose-td-borders);
856 | }
857 |
858 | .prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
859 | border-bottom-width: 0;
860 | }
861 |
862 | .prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
863 | vertical-align: baseline;
864 | }
865 |
866 | .prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
867 | border-top-width: 1px;
868 | border-top-color: var(--tw-prose-th-borders);
869 | }
870 |
871 | .prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
872 | vertical-align: top;
873 | }
874 |
875 | .prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
876 | margin-top: 0;
877 | margin-bottom: 0;
878 | }
879 |
880 | .prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
881 | color: var(--tw-prose-captions);
882 | font-size: 0.875em;
883 | line-height: 1.4285714;
884 | margin-top: 0.8571429em;
885 | }
886 |
887 | .prose {
888 | --tw-prose-body: #374151;
889 | --tw-prose-headings: #111827;
890 | --tw-prose-lead: #4b5563;
891 | --tw-prose-links: #111827;
892 | --tw-prose-bold: #111827;
893 | --tw-prose-counters: #6b7280;
894 | --tw-prose-bullets: #d1d5db;
895 | --tw-prose-hr: #e5e7eb;
896 | --tw-prose-quotes: #111827;
897 | --tw-prose-quote-borders: #e5e7eb;
898 | --tw-prose-captions: #6b7280;
899 | --tw-prose-kbd: #111827;
900 | --tw-prose-kbd-shadows: 17 24 39;
901 | --tw-prose-code: #111827;
902 | --tw-prose-pre-code: #e5e7eb;
903 | --tw-prose-pre-bg: #1f2937;
904 | --tw-prose-th-borders: #d1d5db;
905 | --tw-prose-td-borders: #e5e7eb;
906 | --tw-prose-invert-body: #d1d5db;
907 | --tw-prose-invert-headings: #fff;
908 | --tw-prose-invert-lead: #9ca3af;
909 | --tw-prose-invert-links: #fff;
910 | --tw-prose-invert-bold: #fff;
911 | --tw-prose-invert-counters: #9ca3af;
912 | --tw-prose-invert-bullets: #4b5563;
913 | --tw-prose-invert-hr: #374151;
914 | --tw-prose-invert-quotes: #f3f4f6;
915 | --tw-prose-invert-quote-borders: #374151;
916 | --tw-prose-invert-captions: #9ca3af;
917 | --tw-prose-invert-kbd: #fff;
918 | --tw-prose-invert-kbd-shadows: 255 255 255;
919 | --tw-prose-invert-code: #fff;
920 | --tw-prose-invert-pre-code: #d1d5db;
921 | --tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);
922 | --tw-prose-invert-th-borders: #4b5563;
923 | --tw-prose-invert-td-borders: #374151;
924 | font-size: 1rem;
925 | line-height: 1.75;
926 | }
927 |
928 | .prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
929 | margin-top: 0;
930 | margin-bottom: 0;
931 | }
932 |
933 | .prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
934 | margin-top: 2em;
935 | margin-bottom: 2em;
936 | }
937 |
938 | .prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
939 | margin-top: 0.5em;
940 | margin-bottom: 0.5em;
941 | }
942 |
943 | .prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
944 | padding-left: 0.375em;
945 | }
946 |
947 | .prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
948 | padding-left: 0.375em;
949 | }
950 |
951 | .prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
952 | margin-top: 0.75em;
953 | margin-bottom: 0.75em;
954 | }
955 |
956 | .prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
957 | margin-top: 1.25em;
958 | }
959 |
960 | .prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
961 | margin-bottom: 1.25em;
962 | }
963 |
964 | .prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
965 | margin-top: 1.25em;
966 | }
967 |
968 | .prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
969 | margin-bottom: 1.25em;
970 | }
971 |
972 | .prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
973 | margin-top: 0.75em;
974 | margin-bottom: 0.75em;
975 | }
976 |
977 | .prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
978 | margin-top: 1.25em;
979 | margin-bottom: 1.25em;
980 | }
981 |
982 | .prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
983 | margin-top: 0.5em;
984 | padding-left: 1.625em;
985 | }
986 |
987 | .prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
988 | margin-top: 0;
989 | }
990 |
991 | .prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
992 | margin-top: 0;
993 | }
994 |
995 | .prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
996 | margin-top: 0;
997 | }
998 |
999 | .prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1000 | margin-top: 0;
1001 | }
1002 |
1003 | .prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1004 | padding-left: 0;
1005 | }
1006 |
1007 | .prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1008 | padding-right: 0;
1009 | }
1010 |
1011 | .prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1012 | padding-top: 0.5714286em;
1013 | padding-right: 0.5714286em;
1014 | padding-bottom: 0.5714286em;
1015 | padding-left: 0.5714286em;
1016 | }
1017 |
1018 | .prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1019 | padding-left: 0;
1020 | }
1021 |
1022 | .prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1023 | padding-right: 0;
1024 | }
1025 |
1026 | .prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1027 | margin-top: 2em;
1028 | margin-bottom: 2em;
1029 | }
1030 |
1031 | .prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1032 | margin-top: 0;
1033 | }
1034 |
1035 | .prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1036 | margin-bottom: 0;
1037 | }
1038 |
1039 | .insert-link::before {
1040 | pointer-events: auto;
1041 | position: absolute;
1042 | top: 0px;
1043 | right: 0px;
1044 | left: 0px;
1045 | bottom: 0px;
1046 | z-index: 10;
1047 | --tw-content: '';
1048 | content: var(--tw-content);
1049 | }
1050 |
1051 | .collapse {
1052 | visibility: collapse;
1053 | }
1054 |
1055 | .static {
1056 | position: static;
1057 | }
1058 |
1059 | .relative {
1060 | position: relative;
1061 | }
1062 |
1063 | .mx-2 {
1064 | margin-left: 0.5rem;
1065 | margin-right: 0.5rem;
1066 | }
1067 |
1068 | .mx-auto {
1069 | margin-left: auto;
1070 | margin-right: auto;
1071 | }
1072 |
1073 | .my-14 {
1074 | margin-top: 3.5rem;
1075 | margin-bottom: 3.5rem;
1076 | }
1077 |
1078 | .my-16 {
1079 | margin-top: 4rem;
1080 | margin-bottom: 4rem;
1081 | }
1082 |
1083 | .my-2 {
1084 | margin-top: 0.5rem;
1085 | margin-bottom: 0.5rem;
1086 | }
1087 |
1088 | .my-4 {
1089 | margin-top: 1rem;
1090 | margin-bottom: 1rem;
1091 | }
1092 |
1093 | .my-6 {
1094 | margin-top: 1.5rem;
1095 | margin-bottom: 1.5rem;
1096 | }
1097 |
1098 | .my-8 {
1099 | margin-top: 2rem;
1100 | margin-bottom: 2rem;
1101 | }
1102 |
1103 | .mb-10 {
1104 | margin-bottom: 2.5rem;
1105 | }
1106 |
1107 | .mb-14 {
1108 | margin-bottom: 3.5rem;
1109 | }
1110 |
1111 | .mb-16 {
1112 | margin-bottom: 4rem;
1113 | }
1114 |
1115 | .mb-4 {
1116 | margin-bottom: 1rem;
1117 | }
1118 |
1119 | .mb-6 {
1120 | margin-bottom: 1.5rem;
1121 | }
1122 |
1123 | .mb-8 {
1124 | margin-bottom: 2rem;
1125 | }
1126 |
1127 | .ml-2 {
1128 | margin-left: 0.5rem;
1129 | }
1130 |
1131 | .ml-4 {
1132 | margin-left: 1rem;
1133 | }
1134 |
1135 | .ml-auto {
1136 | margin-left: auto;
1137 | }
1138 |
1139 | .mr-2 {
1140 | margin-right: 0.5rem;
1141 | }
1142 |
1143 | .mr-auto {
1144 | margin-right: auto;
1145 | }
1146 |
1147 | .mt-10 {
1148 | margin-top: 2.5rem;
1149 | }
1150 |
1151 | .mt-2 {
1152 | margin-top: 0.5rem;
1153 | }
1154 |
1155 | .mt-3 {
1156 | margin-top: 0.75rem;
1157 | }
1158 |
1159 | .line-clamp-2 {
1160 | overflow: hidden;
1161 | display: -webkit-box;
1162 | -webkit-box-orient: vertical;
1163 | -webkit-line-clamp: 2;
1164 | }
1165 |
1166 | .block {
1167 | display: block;
1168 | }
1169 |
1170 | .flex {
1171 | display: flex;
1172 | }
1173 |
1174 | .grid {
1175 | display: grid;
1176 | }
1177 |
1178 | .hidden {
1179 | display: none;
1180 | }
1181 |
1182 | .aspect-square {
1183 | aspect-ratio: 1 / 1;
1184 | }
1185 |
1186 | .aspect-video {
1187 | aspect-ratio: 16 / 9;
1188 | }
1189 |
1190 | .h-12 {
1191 | height: 3rem;
1192 | }
1193 |
1194 | .h-20 {
1195 | height: 5rem;
1196 | }
1197 |
1198 | .w-12 {
1199 | width: 3rem;
1200 | }
1201 |
1202 | .w-20 {
1203 | width: 5rem;
1204 | }
1205 |
1206 | .w-full {
1207 | width: 100%;
1208 | }
1209 |
1210 | .max-w-7xl {
1211 | max-width: 80rem;
1212 | }
1213 |
1214 | .basis-1\/2 {
1215 | flex-basis: 50%;
1216 | }
1217 |
1218 | .basis-1\/3 {
1219 | flex-basis: 33.333333%;
1220 | }
1221 |
1222 | .basis-2\/3 {
1223 | flex-basis: 66.666667%;
1224 | }
1225 |
1226 | .cursor-pointer {
1227 | cursor: pointer;
1228 | }
1229 |
1230 | .resize {
1231 | resize: both;
1232 | }
1233 |
1234 | .grid-cols-1 {
1235 | grid-template-columns: repeat(1, minmax(0, 1fr));
1236 | }
1237 |
1238 | .flex-row {
1239 | flex-direction: row;
1240 | }
1241 |
1242 | .flex-col {
1243 | flex-direction: column;
1244 | }
1245 |
1246 | .flex-wrap {
1247 | flex-wrap: wrap;
1248 | }
1249 |
1250 | .flex-nowrap {
1251 | flex-wrap: nowrap;
1252 | }
1253 |
1254 | .items-center {
1255 | align-items: center;
1256 | }
1257 |
1258 | .items-stretch {
1259 | align-items: stretch;
1260 | }
1261 |
1262 | .justify-center {
1263 | justify-content: center;
1264 | }
1265 |
1266 | .gap-10 {
1267 | gap: 2.5rem;
1268 | }
1269 |
1270 | .gap-6 {
1271 | gap: 1.5rem;
1272 | }
1273 |
1274 | .gap-8 {
1275 | gap: 2rem;
1276 | }
1277 |
1278 | .gap-x-4 {
1279 | -moz-column-gap: 1rem;
1280 | column-gap: 1rem;
1281 | }
1282 |
1283 | .gap-x-6 {
1284 | -moz-column-gap: 1.5rem;
1285 | column-gap: 1.5rem;
1286 | }
1287 |
1288 | .gap-y-10 {
1289 | row-gap: 2.5rem;
1290 | }
1291 |
1292 | .space-x-2 > :not([hidden]) ~ :not([hidden]) {
1293 | --tw-space-x-reverse: 0;
1294 | margin-right: calc(0.5rem * var(--tw-space-x-reverse));
1295 | margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
1296 | }
1297 |
1298 | .space-x-4 > :not([hidden]) ~ :not([hidden]) {
1299 | --tw-space-x-reverse: 0;
1300 | margin-right: calc(1rem * var(--tw-space-x-reverse));
1301 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
1302 | }
1303 |
1304 | .space-y-4 > :not([hidden]) ~ :not([hidden]) {
1305 | --tw-space-y-reverse: 0;
1306 | margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
1307 | margin-bottom: calc(1rem * var(--tw-space-y-reverse));
1308 | }
1309 |
1310 | .space-y-6 > :not([hidden]) ~ :not([hidden]) {
1311 | --tw-space-y-reverse: 0;
1312 | margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
1313 | margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
1314 | }
1315 |
1316 | .self-center {
1317 | align-self: center;
1318 | }
1319 |
1320 | .overflow-hidden {
1321 | overflow: hidden;
1322 | }
1323 |
1324 | .overflow-x-auto {
1325 | overflow-x: auto;
1326 | }
1327 |
1328 | .whitespace-nowrap {
1329 | white-space: nowrap;
1330 | }
1331 |
1332 | .rounded {
1333 | border-radius: 0.25rem;
1334 | }
1335 |
1336 | .rounded-2xl {
1337 | border-radius: 1rem;
1338 | }
1339 |
1340 | .rounded-3xl {
1341 | border-radius: 1.5rem;
1342 | }
1343 |
1344 | .rounded-full {
1345 | border-radius: 9999px;
1346 | }
1347 |
1348 | .rounded-lg {
1349 | border-radius: 0.5rem;
1350 | }
1351 |
1352 | .rounded-xl {
1353 | border-radius: 0.75rem;
1354 | }
1355 |
1356 | .rounded-l-full {
1357 | border-top-left-radius: 9999px;
1358 | border-bottom-left-radius: 9999px;
1359 | }
1360 |
1361 | .rounded-r-full {
1362 | border-top-right-radius: 9999px;
1363 | border-bottom-right-radius: 9999px;
1364 | }
1365 |
1366 | .border {
1367 | border-width: 1px;
1368 | }
1369 |
1370 | .border-b {
1371 | border-bottom-width: 1px;
1372 | }
1373 |
1374 | .border-t {
1375 | border-top-width: 1px;
1376 | }
1377 |
1378 | .border-zinc-200 {
1379 | --tw-border-opacity: 1;
1380 | border-color: rgb(228 228 231 / var(--tw-border-opacity));
1381 | }
1382 |
1383 | .border-zinc-400 {
1384 | --tw-border-opacity: 1;
1385 | border-color: rgb(161 161 170 / var(--tw-border-opacity));
1386 | }
1387 |
1388 | .bg-black {
1389 | --tw-bg-opacity: 1;
1390 | background-color: rgb(0 0 0 / var(--tw-bg-opacity));
1391 | }
1392 |
1393 | .bg-blue-500 {
1394 | --tw-bg-opacity: 1;
1395 | background-color: rgb(59 130 246 / var(--tw-bg-opacity));
1396 | }
1397 |
1398 | .bg-white {
1399 | --tw-bg-opacity: 1;
1400 | background-color: rgb(255 255 255 / var(--tw-bg-opacity));
1401 | }
1402 |
1403 | .bg-zinc-100 {
1404 | --tw-bg-opacity: 1;
1405 | background-color: rgb(244 244 245 / var(--tw-bg-opacity));
1406 | }
1407 |
1408 | .fill-white {
1409 | fill: #fff;
1410 | }
1411 |
1412 | .object-cover {
1413 | -o-object-fit: cover;
1414 | object-fit: cover;
1415 | }
1416 |
1417 | .p-1 {
1418 | padding: 0.25rem;
1419 | }
1420 |
1421 | .p-1\.5 {
1422 | padding: 0.375rem;
1423 | }
1424 |
1425 | .p-2 {
1426 | padding: 0.5rem;
1427 | }
1428 |
1429 | .p-3 {
1430 | padding: 0.75rem;
1431 | }
1432 |
1433 | .p-4 {
1434 | padding: 1rem;
1435 | }
1436 |
1437 | .p-6 {
1438 | padding: 1.5rem;
1439 | }
1440 |
1441 | .p-8 {
1442 | padding: 2rem;
1443 | }
1444 |
1445 | .px-4 {
1446 | padding-left: 1rem;
1447 | padding-right: 1rem;
1448 | }
1449 |
1450 | .px-6 {
1451 | padding-left: 1.5rem;
1452 | padding-right: 1.5rem;
1453 | }
1454 |
1455 | .px-7 {
1456 | padding-left: 1.75rem;
1457 | padding-right: 1.75rem;
1458 | }
1459 |
1460 | .px-8 {
1461 | padding-left: 2rem;
1462 | padding-right: 2rem;
1463 | }
1464 |
1465 | .py-1 {
1466 | padding-top: 0.25rem;
1467 | padding-bottom: 0.25rem;
1468 | }
1469 |
1470 | .py-1\.5 {
1471 | padding-top: 0.375rem;
1472 | padding-bottom: 0.375rem;
1473 | }
1474 |
1475 | .py-10 {
1476 | padding-top: 2.5rem;
1477 | padding-bottom: 2.5rem;
1478 | }
1479 |
1480 | .py-14 {
1481 | padding-top: 3.5rem;
1482 | padding-bottom: 3.5rem;
1483 | }
1484 |
1485 | .py-2 {
1486 | padding-top: 0.5rem;
1487 | padding-bottom: 0.5rem;
1488 | }
1489 |
1490 | .py-2\.5 {
1491 | padding-top: 0.625rem;
1492 | padding-bottom: 0.625rem;
1493 | }
1494 |
1495 | .py-6 {
1496 | padding-top: 1.5rem;
1497 | padding-bottom: 1.5rem;
1498 | }
1499 |
1500 | .py-8 {
1501 | padding-top: 2rem;
1502 | padding-bottom: 2rem;
1503 | }
1504 |
1505 | .pl-3 {
1506 | padding-left: 0.75rem;
1507 | }
1508 |
1509 | .pr-\[5px\] {
1510 | padding-right: 5px;
1511 | }
1512 |
1513 | .pt-4 {
1514 | padding-top: 1rem;
1515 | }
1516 |
1517 | .text-center {
1518 | text-align: center;
1519 | }
1520 |
1521 | .text-right {
1522 | text-align: right;
1523 | }
1524 |
1525 | .text-2xl {
1526 | font-size: 1.5rem;
1527 | line-height: 2rem;
1528 | }
1529 |
1530 | .text-3xl {
1531 | font-size: 1.875rem;
1532 | line-height: 2.25rem;
1533 | }
1534 |
1535 | .text-4xl {
1536 | font-size: 2.25rem;
1537 | line-height: 2.5rem;
1538 | }
1539 |
1540 | .text-sm {
1541 | font-size: 0.875rem;
1542 | line-height: 1.25rem;
1543 | }
1544 |
1545 | .text-xl {
1546 | font-size: 1.25rem;
1547 | line-height: 1.75rem;
1548 | }
1549 |
1550 | .text-xs {
1551 | font-size: 0.75rem;
1552 | line-height: 1rem;
1553 | }
1554 |
1555 | .font-bold {
1556 | font-weight: 700;
1557 | }
1558 |
1559 | .font-semibold {
1560 | font-weight: 600;
1561 | }
1562 |
1563 | .uppercase {
1564 | text-transform: uppercase;
1565 | }
1566 |
1567 | .italic {
1568 | font-style: italic;
1569 | }
1570 |
1571 | .leading-none {
1572 | line-height: 1;
1573 | }
1574 |
1575 | .leading-normal {
1576 | line-height: 1.5;
1577 | }
1578 |
1579 | .text-white {
1580 | --tw-text-opacity: 1;
1581 | color: rgb(255 255 255 / var(--tw-text-opacity));
1582 | }
1583 |
1584 | .text-zinc-500 {
1585 | --tw-text-opacity: 1;
1586 | color: rgb(113 113 122 / var(--tw-text-opacity));
1587 | }
1588 |
1589 | .decoration-auto {
1590 | text-decoration-thickness: auto;
1591 | }
1592 |
1593 | .shadow {
1594 | --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
1595 | --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
1596 | box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1597 | }
1598 |
1599 | .transition {
1600 | transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
1601 | transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1602 | transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
1603 | transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1604 | transition-duration: 150ms;
1605 | }
1606 |
1607 | .transition-all {
1608 | transition-property: all;
1609 | transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1610 | transition-duration: 150ms;
1611 | }
1612 |
1613 | .duration-500 {
1614 | transition-duration: 500ms;
1615 | }
1616 |
1617 | .ease-linear {
1618 | transition-timing-function: linear;
1619 | }
1620 |
1621 | .close {
1622 | display: none;
1623 | }
1624 |
1625 | .open {
1626 | display: block;
1627 | }
1628 |
1629 | @media (min-width: 1024px) {
1630 | .lg\:prose-lg {
1631 | font-size: 1.125rem;
1632 | line-height: 1.7777778;
1633 | }
1634 |
1635 | .lg\:prose-lg :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1636 | margin-top: 1.3333333em;
1637 | margin-bottom: 1.3333333em;
1638 | }
1639 |
1640 | .lg\:prose-lg :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1641 | font-size: 1.2222222em;
1642 | line-height: 1.4545455;
1643 | margin-top: 1.0909091em;
1644 | margin-bottom: 1.0909091em;
1645 | }
1646 |
1647 | .lg\:prose-lg :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1648 | margin-top: 1.6666667em;
1649 | margin-bottom: 1.6666667em;
1650 | padding-left: 1em;
1651 | }
1652 |
1653 | .lg\:prose-lg :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1654 | font-size: 2.6666667em;
1655 | margin-top: 0;
1656 | margin-bottom: 0.8333333em;
1657 | line-height: 1;
1658 | }
1659 |
1660 | .lg\:prose-lg :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1661 | font-size: 1.6666667em;
1662 | margin-top: 1.8666667em;
1663 | margin-bottom: 1.0666667em;
1664 | line-height: 1.3333333;
1665 | }
1666 |
1667 | .lg\:prose-lg :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1668 | font-size: 1.3333333em;
1669 | margin-top: 1.6666667em;
1670 | margin-bottom: 0.6666667em;
1671 | line-height: 1.5;
1672 | }
1673 |
1674 | .lg\:prose-lg :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1675 | margin-top: 1.7777778em;
1676 | margin-bottom: 0.4444444em;
1677 | line-height: 1.5555556;
1678 | }
1679 |
1680 | .lg\:prose-lg :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1681 | margin-top: 1.7777778em;
1682 | margin-bottom: 1.7777778em;
1683 | }
1684 |
1685 | .lg\:prose-lg :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1686 | margin-top: 1.7777778em;
1687 | margin-bottom: 1.7777778em;
1688 | }
1689 |
1690 | .lg\:prose-lg :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1691 | margin-top: 0;
1692 | margin-bottom: 0;
1693 | }
1694 |
1695 | .lg\:prose-lg :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1696 | margin-top: 1.7777778em;
1697 | margin-bottom: 1.7777778em;
1698 | }
1699 |
1700 | .lg\:prose-lg :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1701 | font-size: 0.8888889em;
1702 | border-radius: 0.3125rem;
1703 | padding-top: 0.2222222em;
1704 | padding-right: 0.4444444em;
1705 | padding-bottom: 0.2222222em;
1706 | padding-left: 0.4444444em;
1707 | }
1708 |
1709 | .lg\:prose-lg :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1710 | font-size: 0.8888889em;
1711 | }
1712 |
1713 | .lg\:prose-lg :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1714 | font-size: 0.8666667em;
1715 | }
1716 |
1717 | .lg\:prose-lg :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1718 | font-size: 0.875em;
1719 | }
1720 |
1721 | .lg\:prose-lg :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1722 | font-size: 0.8888889em;
1723 | line-height: 1.75;
1724 | margin-top: 2em;
1725 | margin-bottom: 2em;
1726 | border-radius: 0.375rem;
1727 | padding-top: 1em;
1728 | padding-right: 1.5em;
1729 | padding-bottom: 1em;
1730 | padding-left: 1.5em;
1731 | }
1732 |
1733 | .lg\:prose-lg :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1734 | margin-top: 1.3333333em;
1735 | margin-bottom: 1.3333333em;
1736 | padding-left: 1.5555556em;
1737 | }
1738 |
1739 | .lg\:prose-lg :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1740 | margin-top: 1.3333333em;
1741 | margin-bottom: 1.3333333em;
1742 | padding-left: 1.5555556em;
1743 | }
1744 |
1745 | .lg\:prose-lg :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1746 | margin-top: 0.6666667em;
1747 | margin-bottom: 0.6666667em;
1748 | }
1749 |
1750 | .lg\:prose-lg :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1751 | padding-left: 0.4444444em;
1752 | }
1753 |
1754 | .lg\:prose-lg :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1755 | padding-left: 0.4444444em;
1756 | }
1757 |
1758 | .lg\:prose-lg :where(.lg\:prose-lg > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1759 | margin-top: 0.8888889em;
1760 | margin-bottom: 0.8888889em;
1761 | }
1762 |
1763 | .lg\:prose-lg :where(.lg\:prose-lg > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1764 | margin-top: 1.3333333em;
1765 | }
1766 |
1767 | .lg\:prose-lg :where(.lg\:prose-lg > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1768 | margin-bottom: 1.3333333em;
1769 | }
1770 |
1771 | .lg\:prose-lg :where(.lg\:prose-lg > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1772 | margin-top: 1.3333333em;
1773 | }
1774 |
1775 | .lg\:prose-lg :where(.lg\:prose-lg > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1776 | margin-bottom: 1.3333333em;
1777 | }
1778 |
1779 | .lg\:prose-lg :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1780 | margin-top: 0.8888889em;
1781 | margin-bottom: 0.8888889em;
1782 | }
1783 |
1784 | .lg\:prose-lg :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1785 | margin-top: 1.3333333em;
1786 | margin-bottom: 1.3333333em;
1787 | }
1788 |
1789 | .lg\:prose-lg :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1790 | margin-top: 1.3333333em;
1791 | }
1792 |
1793 | .lg\:prose-lg :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1794 | margin-top: 0.6666667em;
1795 | padding-left: 1.5555556em;
1796 | }
1797 |
1798 | .lg\:prose-lg :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1799 | margin-top: 3.1111111em;
1800 | margin-bottom: 3.1111111em;
1801 | }
1802 |
1803 | .lg\:prose-lg :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1804 | margin-top: 0;
1805 | }
1806 |
1807 | .lg\:prose-lg :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1808 | margin-top: 0;
1809 | }
1810 |
1811 | .lg\:prose-lg :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1812 | margin-top: 0;
1813 | }
1814 |
1815 | .lg\:prose-lg :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1816 | margin-top: 0;
1817 | }
1818 |
1819 | .lg\:prose-lg :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1820 | font-size: 0.8888889em;
1821 | line-height: 1.5;
1822 | }
1823 |
1824 | .lg\:prose-lg :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1825 | padding-right: 0.75em;
1826 | padding-bottom: 0.75em;
1827 | padding-left: 0.75em;
1828 | }
1829 |
1830 | .lg\:prose-lg :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1831 | padding-left: 0;
1832 | }
1833 |
1834 | .lg\:prose-lg :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1835 | padding-right: 0;
1836 | }
1837 |
1838 | .lg\:prose-lg :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1839 | padding-top: 0.75em;
1840 | padding-right: 0.75em;
1841 | padding-bottom: 0.75em;
1842 | padding-left: 0.75em;
1843 | }
1844 |
1845 | .lg\:prose-lg :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1846 | padding-left: 0;
1847 | }
1848 |
1849 | .lg\:prose-lg :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1850 | padding-right: 0;
1851 | }
1852 |
1853 | .lg\:prose-lg :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1854 | margin-top: 1.7777778em;
1855 | margin-bottom: 1.7777778em;
1856 | }
1857 |
1858 | .lg\:prose-lg :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1859 | margin-top: 0;
1860 | margin-bottom: 0;
1861 | }
1862 |
1863 | .lg\:prose-lg :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1864 | font-size: 0.8888889em;
1865 | line-height: 1.5;
1866 | margin-top: 1em;
1867 | }
1868 |
1869 | .lg\:prose-lg :where(.lg\:prose-lg > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1870 | margin-top: 0;
1871 | }
1872 |
1873 | .lg\:prose-lg :where(.lg\:prose-lg > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
1874 | margin-bottom: 0;
1875 | }
1876 | }
1877 |
1878 | .before\:pointer-events-auto::before {
1879 | content: var(--tw-content);
1880 | pointer-events: auto;
1881 | }
1882 |
1883 | .before\:absolute::before {
1884 | content: var(--tw-content);
1885 | position: absolute;
1886 | }
1887 |
1888 | .before\:bottom-0::before {
1889 | content: var(--tw-content);
1890 | bottom: 0px;
1891 | }
1892 |
1893 | .before\:left-0::before {
1894 | content: var(--tw-content);
1895 | left: 0px;
1896 | }
1897 |
1898 | .before\:right-0::before {
1899 | content: var(--tw-content);
1900 | right: 0px;
1901 | }
1902 |
1903 | .before\:top-0::before {
1904 | content: var(--tw-content);
1905 | top: 0px;
1906 | }
1907 |
1908 | .before\:z-10::before {
1909 | content: var(--tw-content);
1910 | z-index: 10;
1911 | }
1912 |
1913 | .before\:mr-2::before {
1914 | content: var(--tw-content);
1915 | margin-right: 0.5rem;
1916 | }
1917 |
1918 | .before\:opacity-50::before {
1919 | content: var(--tw-content);
1920 | opacity: 0.5;
1921 | }
1922 |
1923 | .before\:content-\[\'\'\]::before {
1924 | --tw-content: '';
1925 | content: var(--tw-content);
1926 | }
1927 |
1928 | .before\:content-\[\'\2022\'\]::before {
1929 | --tw-content: '•';
1930 | content: var(--tw-content);
1931 | }
1932 |
1933 | .after\:ml-4::after {
1934 | content: var(--tw-content);
1935 | margin-left: 1rem;
1936 | }
1937 |
1938 | .after\:opacity-30::after {
1939 | content: var(--tw-content);
1940 | opacity: 0.3;
1941 | }
1942 |
1943 | .after\:content-\[\'\276F\'\]::after {
1944 | --tw-content: '❯';
1945 | content: var(--tw-content);
1946 | }
1947 |
1948 | .last\:after\:content-none:last-child::after {
1949 | --tw-content: none;
1950 | content: var(--tw-content);
1951 | }
1952 |
1953 | .hover\:bg-blue-100:hover {
1954 | --tw-bg-opacity: 1;
1955 | background-color: rgb(219 234 254 / var(--tw-bg-opacity));
1956 | }
1957 |
1958 | .hover\:bg-zinc-100:hover {
1959 | --tw-bg-opacity: 1;
1960 | background-color: rgb(244 244 245 / var(--tw-bg-opacity));
1961 | }
1962 |
1963 | .hover\:bg-zinc-200:hover {
1964 | --tw-bg-opacity: 1;
1965 | background-color: rgb(228 228 231 / var(--tw-bg-opacity));
1966 | }
1967 |
1968 | .hover\:underline:hover {
1969 | text-decoration-line: underline;
1970 | }
1971 |
1972 | .focus\:outline-none:focus {
1973 | outline: 2px solid transparent;
1974 | outline-offset: 2px;
1975 | }
1976 |
1977 | .active\:bg-zinc-300:active {
1978 | --tw-bg-opacity: 1;
1979 | background-color: rgb(212 212 216 / var(--tw-bg-opacity));
1980 | }
1981 |
1982 | .group:hover .group-hover\:scale-105 {
1983 | --tw-scale-x: 1.05;
1984 | --tw-scale-y: 1.05;
1985 | transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1986 | }
1987 |
1988 | @keyframes pulse {
1989 | 50% {
1990 | opacity: .5;
1991 | }
1992 | }
1993 |
1994 | .group:hover .group-hover\:animate-pulse {
1995 | animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
1996 | }
1997 |
1998 | @keyframes spin {
1999 | to {
2000 | transform: rotate(360deg);
2001 | }
2002 | }
2003 |
2004 | .group:hover .group-hover\:animate-spin {
2005 | animation: spin 1s linear infinite;
2006 | }
2007 |
2008 | .group:hover .group-hover\:underline {
2009 | text-decoration-line: underline;
2010 | }
2011 |
2012 | @media (min-width: 768px) {
2013 | .md\:col-span-1 {
2014 | grid-column: span 1 / span 1;
2015 | }
2016 |
2017 | .md\:col-span-2 {
2018 | grid-column: span 2 / span 2;
2019 | }
2020 |
2021 | .md\:my-14 {
2022 | margin-top: 3.5rem;
2023 | margin-bottom: 3.5rem;
2024 | }
2025 |
2026 | .md\:mb-8 {
2027 | margin-bottom: 2rem;
2028 | }
2029 |
2030 | .md\:flex {
2031 | display: flex;
2032 | }
2033 |
2034 | .md\:w-2\/5 {
2035 | width: 40%;
2036 | }
2037 |
2038 | .md\:w-3\/5 {
2039 | width: 60%;
2040 | }
2041 |
2042 | .md\:grid-cols-2 {
2043 | grid-template-columns: repeat(2, minmax(0, 1fr));
2044 | }
2045 |
2046 | .md\:grid-cols-3 {
2047 | grid-template-columns: repeat(3, minmax(0, 1fr));
2048 | }
2049 |
2050 | .md\:space-x-6 > :not([hidden]) ~ :not([hidden]) {
2051 | --tw-space-x-reverse: 0;
2052 | margin-right: calc(1.5rem * var(--tw-space-x-reverse));
2053 | margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
2054 | }
2055 |
2056 | .md\:px-6 {
2057 | padding-left: 1.5rem;
2058 | padding-right: 1.5rem;
2059 | }
2060 |
2061 | .md\:py-14 {
2062 | padding-top: 3.5rem;
2063 | padding-bottom: 3.5rem;
2064 | }
2065 |
2066 | .md\:pr-8 {
2067 | padding-right: 2rem;
2068 | }
2069 |
2070 | .md\:text-2xl {
2071 | font-size: 1.5rem;
2072 | line-height: 2rem;
2073 | }
2074 |
2075 | .md\:text-3xl {
2076 | font-size: 1.875rem;
2077 | line-height: 2.25rem;
2078 | }
2079 |
2080 | .md\:text-4xl {
2081 | font-size: 2.25rem;
2082 | line-height: 2.5rem;
2083 | }
2084 | }
2085 |
2086 | @media (min-width: 1024px) {
2087 | .lg\:sticky {
2088 | position: sticky;
2089 | }
2090 |
2091 | .lg\:top-8 {
2092 | top: 2rem;
2093 | }
2094 |
2095 | .lg\:flex {
2096 | display: flex;
2097 | }
2098 |
2099 | .lg\:w-2\/5 {
2100 | width: 40%;
2101 | }
2102 |
2103 | .lg\:w-3\/5 {
2104 | width: 60%;
2105 | }
2106 |
2107 | .lg\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
2108 | --tw-space-x-reverse: 0;
2109 | margin-right: calc(1rem * var(--tw-space-x-reverse));
2110 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
2111 | }
2112 |
2113 | .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
2114 | --tw-space-y-reverse: 0;
2115 | margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
2116 | margin-bottom: calc(0px * var(--tw-space-y-reverse));
2117 | }
2118 |
2119 | .lg\:p-10 {
2120 | padding: 2.5rem;
2121 | }
2122 |
2123 | .lg\:px-8 {
2124 | padding-left: 2rem;
2125 | padding-right: 2rem;
2126 | }
2127 |
2128 | .lg\:pr-10 {
2129 | padding-right: 2.5rem;
2130 | }
2131 |
2132 | .lg\:text-5xl {
2133 | font-size: 3rem;
2134 | line-height: 1;
2135 | }
2136 | }
--------------------------------------------------------------------------------
/assets/js/insertoggle.js:
--------------------------------------------------------------------------------
1 | // TOGGLE BUTTON
2 | (function () {
3 | // Get all elements with the "toggle-button" class
4 | const toggleButtons = document.querySelectorAll(".toggle-button");
5 |
6 | // Function to hide all elements except the target
7 | function hideAllExcept(targetElement) {
8 | document.querySelectorAll(".hidden").forEach((element) => {
9 | if (element !== targetElement) {
10 | element.classList.add("close"); // Hide the element
11 | element.classList.remove("open"); // Close previously open elements
12 | }
13 | });
14 | }
15 |
16 | // Function to toggle the state of an element (open/close)
17 | function toggleElement(targetElement) {
18 | const isHidden = targetElement.classList.contains("close");
19 | hideAllExcept(targetElement);
20 | targetElement.classList.toggle("close", !isHidden);
21 | targetElement.classList.toggle("open", isHidden);
22 | }
23 |
24 | toggleButtons.forEach((button) => {
25 | button.addEventListener("click", function () {
26 | const targetIds = this.getAttribute("data-target").split(" ");
27 | targetIds.forEach((targetId) => {
28 | const targetElement = document.getElementById(targetId);
29 | if (targetElement) {
30 | toggleElement(targetElement);
31 | }
32 | });
33 | });
34 | });
35 |
36 | // Add event listener to the document to close elements when a click occurs outside of open elements
37 | document.addEventListener("click", function (event) {
38 | const targetElements = Array.from(document.querySelectorAll(".open"));
39 | const clickedOutsideAllTargets = targetElements.every((element) => {
40 | return !element.contains(event.target) && !event.target.closest(".toggle-button");
41 | });
42 |
43 | if (clickedOutsideAllTargets) {
44 | targetElements.forEach((element) => {
45 | element.classList.remove("open"); // Close open elements
46 | element.classList.add("close"); // Hide elements
47 | });
48 | }
49 | });
50 |
51 | })();
52 |
--------------------------------------------------------------------------------
/exampleSite/assets/images/brent-cox-ydGRmobx5jA-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/brent-cox-ydGRmobx5jA-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/daniele-colucci-Smeer5L0tXM-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/daniele-colucci-Smeer5L0tXM-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/default-placeholder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/default-placeholder.png
--------------------------------------------------------------------------------
/exampleSite/assets/images/javardh-2q6C5zDJOsg-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/javardh-2q6C5zDJOsg-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/nasa-Ed2AELHKYBw-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/nasa-Ed2AELHKYBw-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/nasa-astronaut-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/nasa-astronaut-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/assets/images/nasa-rTZW4f02zY8-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/exampleSite/assets/images/nasa-rTZW4f02zY8-unsplash.jpg
--------------------------------------------------------------------------------
/exampleSite/content/about.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "About"
3 | date: 2023-10-06T20:37:29+07:00
4 | image: images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg
5 | draft: false
6 | ---
7 |
8 | **Pehtheme Hugo** is your gateway to the mysteries and wonders of the universe. We are a passionate community of space enthusiasts, scientists, and stargazers dedicated to sharing the awe-inspiring beauty and profound knowledge of the cosmos.
9 |
10 | At **Pehtheme Hugo**, we believe that space exploration is not just a scientific endeavor; it's a human adventure. It's about the curiosity that drives us to look up at the night sky and wonder about the galaxies, stars, and planets that fill our universe.
11 |
12 | ## Our Mission
13 |
14 | Our mission is to inspire, educate, and spark curiosity about space and astronomy. We aim to make the wonders of the cosmos accessible to everyone, from seasoned astronomers to those taking their first steps into the world of stargazing.
15 |
16 | Through a diverse range of articles, videos, images, and interactive tools, we strive to:
17 |
18 | - **Educate**: We provide well-researched, informative content that explains complex astronomical concepts in an accessible way.
19 |
20 | - **Inspire**: We share the breathtaking beauty of the universe through stunning images and stories of space exploration.
21 |
22 | - **Connect**: We foster a vibrant community where space enthusiasts can share their passion, ask questions, and learn from each other.
23 |
24 | ## What You'll Find Here
25 |
26 | - **Astronomy Insights**: Dive deep into the universe with articles and guides that cover everything from the basics of stargazing to the latest discoveries in astrophysics.
27 |
28 | - **Stunning Visuals**: Explore our gallery of celestial images captured by professional astronomers and space agencies, as well as astrophotography from our community members.
29 |
30 | - **Space Exploration Updates**: Stay informed about upcoming space missions, rocket launches, and groundbreaking discoveries in our ever-expanding cosmos.
31 |
32 | - **Interactive Tools**: Use our interactive sky maps and tools to plan your stargazing sessions and track celestial events.
33 |
34 | ## Our Team
35 |
36 | We are a dedicated team of space enthusiasts, writers, astronomers, and scientists who are passionate about sharing the wonders of the universe. Our combined expertise in space science, astrophotography, and science communication allows us to bring you the best of the cosmos.
37 |
38 | ## Join Our Cosmic Community
39 |
40 | We invite you to join us on this cosmic journey. Explore the depths of space with us, ask questions, share your own astronomical experiences, and become part of a community that looks to the stars with wonder and curiosity.
41 |
42 | Let's embark on this celestial adventure together. Welcome to **My Space Theme**—where the universe unfolds before your eyes.
43 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2022/10-27__Exoplanets-hunting-for-earths-cosmic-cousins.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Exoplanets: Hunting for Earth's Cosmic Cousins"
3 | date: 2023-07-27T13:03:07+07:00
4 | slug: /exoplanets-hunting/
5 | description: Discover the fascinating quest to find exoplanets, distant worlds that may resemble Earth.
6 | image: images/nasa-Ed2AELHKYBw-unsplash.jpg
7 | caption: Photo by Nasa on Unsplash
8 | categories:
9 | - astronomy
10 | tags:
11 | - exoplanets
12 | - Space
13 | - exploration
14 | - astronomy
15 | - feature
16 | draft: false
17 | ---
18 |
19 | In the vast tapestry of the cosmos, one of the most intriguing quests of modern astronomy is the search for exoplanets, distant celestial bodies that might bear a resemblance to our own Earth. This endeavor is driven by the tantalizing question: Could there be other habitable worlds out there? In this article, we embark on a journey to explore the captivating hunt for Earth's cosmic cousins.
20 |
21 | ## The Exoplanet Revolution
22 |
23 | Keyword: Exoplanet Revolution
24 |
25 | Long-term Keyword: Advancements in Exoplanet Discovery
26 |
27 | The hunt for exoplanets has seen remarkable advancements in recent years. Thanks to innovative space telescopes and advanced ground-based observatories, astronomers have identified thousands of exoplanets orbiting distant stars. This revolution has broadened our understanding of planetary systems and fueled our curiosity about potential life beyond our solar system.
28 |
29 | ## The Methods of Detection
30 |
31 | Keyword: Methods of Detection
32 |
33 | Long-term Keyword: Techniques for Identifying Exoplanets
34 |
35 | Astronomers employ various methods to detect exoplanets. These include the transit method, which observes a planet passing in front of its host star, causing a temporary dip in brightness. Another technique is the radial velocity method, which detects subtle wobbles in a star's motion caused by an orbiting planet's gravitational pull. Each method provides unique insights into exoplanet properties.
36 |
37 | ## The Search for Habitable Worlds
38 |
39 | Keyword: Search for Habitable Worlds
40 |
41 | Long-term Keyword: Exploring Exoplanets for Signs of Life
42 |
43 | One of the most captivating aspects of exoplanet research is the quest for habitable worlds. Astronomers focus on identifying exoplanets located in the "Goldilocks zone" of their stars, where conditions may be just right for liquid water—a key ingredient for life as we know it. These discoveries offer hope in the search for extraterrestrial life.
44 |
45 | ## Technological Marvels and Future Missions
46 |
47 | Keyword: Technological Marvels
48 |
49 | Long-term Keyword: Upcoming Space Missions for Exoplanet Discovery
50 |
51 | The future of exoplanet research is incredibly promising. Technologies like NASA's James Webb Space Telescope and ESA's PLATO mission are poised to revolutionize our understanding of exoplanets. These missions will allow us to characterize exoplanet atmospheres and study their potential habitability in unprecedented detail.
52 |
53 | ## Conclusion: Exploring the Cosmos
54 |
55 | Keyword: Exploring the Cosmos
56 |
57 | Long-term Keyword: Expanding Horizons in Space Exploration
58 |
59 | The quest for exoplanets is a testament to humanity's insatiable curiosity about the cosmos. With each discovery, we inch closer to answering the profound question of whether Earth's cosmic cousins exist. The search for exoplanets continues to inspire scientists and stargazers alike, as we explore the possibilities of life beyond our home planet.
60 |
61 | Whether you're an astronomy enthusiast or simply intrigued by the mysteries of the universe, the journey to find Earth's cosmic cousins is an awe-inspiring endeavor. It reminds us that the cosmos is a vast playground of exploration, where the next great discovery may be just a telescope's gaze away.
62 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2022/11-30__The-hubble-space-telescope-30-years-of-stunning-discoveries.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Hubble Space Telescope: 30 Years of Stunning Discoveries"
3 | date: 2023-07-30T09:30:32+07:00
4 | slug: /the-hubble-space-telescope/
5 | description: Explore the incredible journey of the Hubble Space Telescope and its three decades of groundbreaking contributions to astronomy.
6 | image: images/daniele-colucci-Smeer5L0tXM-unsplash.jpg
7 | caption: Photo by Daniele Colucci on Unsplash
8 | categories:
9 | - space
10 | tags:
11 | - telescope
12 | - space
13 | - exploration
14 | - astronomy
15 | draft: false
16 | ---
17 |
18 | For three remarkable decades, the Hubble Space Telescope has been our eye on the universe, delivering breathtaking images and transformative scientific insights. Since its launch in 1990, the Hubble has reshaped our understanding of the cosmos and provided us with unparalleled views of distant galaxies, nebulae, and other celestial wonders. In this article, we celebrate the Hubble Space Telescope's 30 years of stunning discoveries.
19 |
20 | ## The Visionary Hubble Telescope
21 |
22 | Keyword: Hubble Space Telescope
23 |
24 | Long-term Keyword: Transformative Contributions of Hubble Telescope
25 |
26 | Named after the renowned astronomer Edwin Hubble, this space telescope was conceived with a vision to observe the universe from above Earth's atmosphere, which distorts and blocks some wavelengths of light. The Hubble has exceeded all expectations, capturing stunning images and making groundbreaking observations.
27 |
28 | ## A Gallery of Cosmic Wonders
29 |
30 | Keyword: Gallery of Cosmic Wonders
31 |
32 | Long-term Keyword: Breathtaking Images from Hubble Telescope
33 |
34 | The Hubble Space Telescope has treated us to a visual feast of cosmic wonders. Its stunning images have unveiled the intricate details of distant galaxies, colorful nebulae, and the birth and death of stars. These images not only inspire awe but also advance our understanding of the universe's beauty and complexity.
35 |
36 | ## Key Scientific Contributions
37 |
38 | Keyword: Scientific Contributions
39 |
40 | Long-term Keyword: Hubble Telescope's Impact on Astronomy
41 |
42 | Beyond its captivating images, the Hubble has made significant scientific contributions. It helped refine the estimate of the universe's age, observed distant supernovae to discover the acceleration of cosmic expansion, and probed the atmospheres of exoplanets. These findings have reshaped our understanding of fundamental cosmic processes.
43 |
44 | ## The Hubble's Journey Continues
45 |
46 | Keyword: Hubble's Journey
47 |
48 | Long-term Keyword: Future of Hubble Space Telescope
49 |
50 | While the Hubble Telescope has already achieved remarkable milestones, its journey is far from over. With regular servicing missions and upgrades, Hubble continues to operate at the forefront of astronomy. Its successor, the James Webb Space Telescope, is poised to join the quest for deeper cosmic insights.
51 |
52 | ## Conclusion: Unveiling the Universe
53 |
54 | Keyword: Unveiling the Universe
55 |
56 | Long-term Keyword: Hubble Telescope's Legacy
57 |
58 | The Hubble Space Telescope's legacy is etched in the stars and in our understanding of the cosmos. Its remarkable images and scientific contributions have enriched humanity's knowledge of the universe's vastness and complexity. As we celebrate its 30 years of discoveries, we look forward to the ongoing revelations and awe-inspiring images it will continue to provide.
59 |
60 | Whether you're an astronomy enthusiast, a scientist, or simply someone who marvels at the beauty of the cosmos, the Hubble Space Telescope stands as a testament to human curiosity and our ability to explore the wonders of the universe. It reminds us that the cosmos is a treasure trove of mysteries waiting to be unveiled.
61 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2022/12-07__Cosmic-time-travel-peering-into-the-universes-past-with-telescopes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Cosmic Time Travel: Peering into the Universe's Past with Telescopes"
3 | date: 2023-08-07T09:30:32+07:00
4 | slug: /cosmic-time-travel/
5 | description: Explore how telescopes enable us to journey back in time by observing distant celestial objects.
6 | image: images/javardh-2q6C5zDJOsg-unsplash.jpg
7 | caption: Photo by Javardh Unsplash.
8 | categories:
9 | - astronomy
10 | tags:
11 | - telescopes
12 | - Space
13 | - cosmic
14 | - exploration
15 | draft: false
16 | ---
17 |
18 | In the realm of astronomy, telescopes are our time machines, allowing us to peer into the distant past of the universe. These remarkable instruments have the power to capture light that has traveled across the cosmos for millions or even billions of years. In this article, we embark on a journey of cosmic time travel, exploring how telescopes enable us to witness the universe's history.
19 |
20 | ## The Time-Traveling Telescopes
21 |
22 | Keyword: Time-Traveling Telescopes
23 |
24 | Long-term Keyword: Observing Cosmic History with Telescopes
25 |
26 | Telescopes are more than just tools for stargazing; they are portals to the past. When we gaze through the eyepiece or study images captured by telescopes, we are looking at objects as they appeared when the light we observe first began its journey toward Earth.
27 |
28 | ## The Speed of Light and Cosmic Distances
29 |
30 | Keyword: Speed of Light and Cosmic Distances
31 |
32 | Long-term Keyword: Light's Journey Across Vast Cosmic Distances
33 |
34 | Light travels at an astonishing speed of approximately 299,792 kilometers per second (186,282 miles per second). In the vast expanse of the universe, this speed allows us to witness events that occurred billions of years ago. Telescopes make it possible to capture this ancient light and reveal the universe's deep history.
35 |
36 | ## Observing Distant Galaxies
37 |
38 | Keyword: Observing Distant Galaxies
39 |
40 | Long-term Keyword: Peering into the Early Universe with Telescopes
41 |
42 | Telescopes have enabled astronomers to observe galaxies that are billions of light-years away. When we look at these distant galaxies, we see them not as they are today but as they were when the light we see left them. This provides valuable insights into the early stages of galaxy formation and the evolution of the cosmos.
43 |
44 | ## Probing Ancient Starlight
45 |
46 | Keyword: Probing Ancient Starlight
47 |
48 | Long-term Keyword: Studying Stellar History through Telescopes
49 |
50 | Telescopes allow us to study individual stars, some of which are so far away that their light has traveled through space for eons. By analyzing this ancient starlight, astronomers can learn about the life cycles of stars, their compositions, and the conditions that existed in the universe when the light was emitted.
51 |
52 | ## Conclusion: A Glimpse into Eternity
53 |
54 | Keyword: A Glimpse into Eternity
55 |
56 | Long-term Keyword: Telescopes as Cosmic Time Machines
57 |
58 | Telescopes are our windows to the universe's past. They offer us a glimpse into the cosmos as it existed billions of years ago, providing a unique perspective on the history and evolution of the universe. As we continue to develop more advanced telescopes and explore the depths of space, our journey through cosmic time will only become richer and more enlightening.
59 |
60 | Whether you're an amateur astronomer with a backyard telescope or a scientist working with cutting-edge observatories, the act of observing celestial objects through a telescope is an act of time travel. It connects us to the universe's deep history and reminds us of the timeless beauty and wonder that await our exploration in the cosmos.
61 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2023/08-12__The-great-beyond-exploring-the-expanding-universe.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Great Beyond: Exploring the Expanding Universe"
3 | date: 2023-08-12T14:15:05+07:00
4 | slug: /the-great-beyond/
5 | description: Delve into the awe-inspiring journey of exploring the universe's expansion and the mysteries it unveils.
6 | image: images/brent-cox-ydGRmobx5jA-unsplash.jpg
7 | caption: Photo by Brentcox on Unsplash
8 | categories:
9 | - astronomy
10 | tags:
11 | - exploration
12 | - cosmos
13 | - space
14 | draft: false
15 | ---
16 |
17 | The universe, with its vastness and complexity, has intrigued humanity for centuries. In recent decades, our understanding of the cosmos has deepened, thanks to groundbreaking discoveries about the expansion of the universe. In this article, we embark on a journey to explore the great beyond, delving into the universe's expansion and the mysteries it unveils.
18 |
19 | ## The Expanding Universe: A Cosmic Revelation
20 |
21 | Keyword: Expanding Universe
22 |
23 | Long-term Keyword: Insights into Universe's Expansion
24 |
25 | The concept of an expanding universe is one of the most profound discoveries in cosmology. Astronomers have found that galaxies are moving away from each other, implying that the universe is not static but continually stretching. This revelation has transformed our understanding of the cosmos.
26 |
27 | ## Cosmic Expansion and the Big Bang
28 |
29 | Keyword: Cosmic Expansion and the Big Bang
30 |
31 | Long-term Keyword: The Birth of the Universe
32 |
33 | The idea of cosmic expansion is closely linked to the Big Bang theory. According to this theory, the universe originated from an incredibly dense and hot state nearly 13.8 billion years ago. As the universe expanded, it cooled, leading to the formation of galaxies, stars, and all the structures we see today.
34 |
35 | ## Measuring the Universe's Growth
36 |
37 | Keyword: Measuring the Universe's Growth
38 |
39 | Long-term Keyword: Tools for Measuring Cosmic Expansion
40 |
41 | Astronomers employ various methods to measure the rate of the universe's expansion. One key tool is the Hubble constant, named after Edwin Hubble. This constant quantifies the rate at which galaxies are receding from us and provides crucial insights into the universe's age and future.
42 |
43 | ## Dark Energy: The Cosmic Mystery
44 |
45 | Keyword: Dark Energy
46 |
47 | Long-term Keyword: Unraveling the Enigma of Dark Energy
48 |
49 | Dark energy is an enigmatic force that appears to be responsible for the universe's accelerated expansion. While it remains mysterious, its presence challenges our understanding of the cosmos. Researchers are actively investigating dark energy's properties and its role in shaping the fate of the universe.
50 |
51 | ## Cosmic Fate: Expanding Forever?
52 |
53 | Keyword: Cosmic Fate
54 |
55 | Long-term Keyword: The Future of an Expanding Universe
56 |
57 | The ultimate fate of the expanding universe is a subject of great intrigue. Depending on the balance of cosmic forces, it may continue to expand indefinitely or eventually slow down and contract. Understanding this fate has profound implications for the destiny of the cosmos.
58 |
59 | ## Conclusion: Journey into the Unknown
60 |
61 | Keyword: Journey into the Unknown
62 |
63 | Long-term Keyword: The Quest for Cosmic Understanding
64 |
65 | Exploring the expanding universe is a journey into the unknown, where each discovery reveals new layers of cosmic complexity. As we continue to study the universe's expansion, we gain insights into its birth, evolution, and ultimate destiny. The mysteries of the great beyond continue to beckon humanity, inspiring scientific exploration and philosophical contemplation.
66 |
67 | Whether you're a cosmologist probing the fundamental nature of the cosmos or simply someone gazing at the night sky with wonder, the expanding universe invites us to be part of a grand cosmic adventure. It reminds us that the great beyond is a realm of endless discovery, where the universe's secrets are waiting to be unveiled.
68 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2023/08-15__Space-explorations-next-frontier-the-race-to-reach-mars.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Space Exploration's Next Frontier: The Race to Reach Mars"
3 | date: 2023-08-15T13:45:49+07:00
4 | slug: /space-explorations-next-frontier/
5 | description: Explore the exciting endeavors and challenges of reaching Mars in the new era of space exploration.
6 | image: images/daniele-colucci-OtXJhYjbKeg-unsplash.jpg
7 | caption: Photo by Daniele Colucci on Unsplash
8 | categories:
9 | - space
10 | tags:
11 | - mars
12 | - space
13 | - exploration
14 | - feature
15 | draft: false
16 | ---
17 |
18 | The dream of reaching Mars has captured the imagination of scientists, engineers, and space enthusiasts for decades. In recent years, this dream has transformed into a tangible goal, with various space agencies and private companies embarking on missions to make it a reality. In this article, we delve into space exploration's next frontier—the race to reach Mars.
19 |
20 | ## The Martian Challenge
21 |
22 | Mars, often referred to as the "Red Planet," has long been a subject of fascination. Its potential as a second home for humanity and its scientific allure have driven the ambition to land on its surface. The challenges posed by Mars, including its harsh environment and vast distances, make it a formidable target.
23 |
24 | ## Mars Missions: A New Era
25 |
26 | The new era of Mars exploration is marked by a flurry of missions from space agencies and private enterprises. Notable missions include NASA's Perseverance rover, which is exploring the Martian surface, and SpaceX's plans for crewed missions to the planet. These endeavors signify humanity's determination to make Mars a viable destination.
27 |
28 | ## The Quest for Life on Mars
29 |
30 | One of the most compelling aspects of Mars exploration is the search for signs of past or present life. The discovery of even microbial life on Mars would have profound implications for our understanding of life's potential beyond Earth. Rovers and future missions are equipped with instruments designed to detect such evidence.
31 |
32 | ## Challenges of Mars Colonization
33 |
34 |
35 | Colonizing Mars presents a host of challenges, from life support systems to radiation protection. Overcoming these hurdles is essential for establishing a sustainable human presence on the planet. Researchers and engineers are working diligently to find solutions to make Mars colonization a reality.
36 |
37 | ## The Global Space Race
38 |
39 | Mars has become the focal point of a global space race, with countries and organizations worldwide vying to be the first to reach the planet. International cooperation and competition are driving advancements in space exploration technology and opening new frontiers in human spaceflight.
40 |
41 | ## Conclusion: Humanity's Martian Odyssey
42 |
43 |
44 | The race to reach Mars is more than a technological challenge; it is a testament to human ingenuity and our unrelenting spirit of exploration. The journey to Mars promises to be humanity's odyssey into the unknown, with each mission bringing us closer to realizing the dream of becoming an interplanetary species.
45 |
46 | Whether you're an avid follower of space exploration or simply curious about the future of space travel, the race to reach Mars is a captivating chapter in our quest to unlock the mysteries of the cosmos. It reminds us that the cosmos is our next great frontier, waiting to be explored by future generations.
47 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2023/09-23__Stellar-spectacles-the-wonders-of-supernova-explosions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Stellar Spectacles: The Wonders of Supernova Explosions"
3 | date: 2023-09-23T22:45:37+07:00
4 | slug: /stellar-spectacles/
5 | description: Explore the breathtaking phenomena of supernova explosions, the cosmic fireworks of the universe.
6 | image: images/lionel-hesry-UNd3lRKhwSw-unsplash.jpg
7 | caption: Photo Lionel HESRY on Unsplash
8 | categories:
9 | - astronomy
10 | tags:
11 | - supernova
12 | - cosmic
13 | - space
14 | draft: false
15 | ---
16 |
17 | In the vast expanse of the cosmos, few events match the spectacle and scientific importance of supernova explosions. These awe-inspiring cosmic fireworks mark the dramatic end of a star's life and offer profound insights into the universe's workings. In this article, we embark on a journey to explore the wonders of supernova explosions, shedding light on their significance and the mysteries they unveil.
18 |
19 | ## Supernova Explosions: Cosmic Fireworks
20 |
21 | Keyword: Supernova Explosions
22 |
23 | Long-term Keyword: Cosmic Fireworks of the Universe
24 |
25 | Supernova explosions are cataclysmic events that occur when a massive star reaches the end of its life cycle. The gravitational forces in its core become overpowering, leading to a rapid collapse, followed by a spectacular explosion. These events release an extraordinary amount of energy, briefly outshining entire galaxies and creating elements that are crucial for life as we know it.
26 |
27 | ## The Significance of Supernovae
28 |
29 | Keyword: Significance of Supernovae
30 |
31 | Long-term Keyword: Role of Supernovae in Cosmic Evolution
32 |
33 | Supernovae play a vital role in the life cycle of the universe. They are responsible for dispersing heavy elements, such as iron and gold, into space. These elements are the building blocks of planets, and even life itself. Without supernovae, the universe as we know it would lack the diversity of elements necessary for the formation of celestial bodies and living organisms.
34 |
35 | ## Types of Supernovae
36 |
37 | Keyword: Types of Supernovae
38 |
39 | Long-term Keyword: Classification of Supernova Events
40 |
41 | Supernovae are classified into two primary types: Type I and Type II. Type I supernovae result from the explosion of a white dwarf, while Type II supernovae occur when a massive star runs out of nuclear fuel. Each type provides unique insights into the processes occurring within stars, helping astronomers piece together the puzzle of stellar evolution.
42 |
43 | ## Observing Supernova Explosions
44 |
45 | Keyword: Observing Supernova Explosions
46 |
47 | Long-term Keyword: Astronomical Observations of Supernovae
48 |
49 | Astronomers actively search for and monitor supernovae in distant galaxies. These observations help refine our understanding of the universe's expansion rate and provide clues about the nature of dark energy. Cutting-edge telescopes and space missions are dedicated to detecting and studying these celestial events.
50 |
51 | ## Conclusion: Cosmic Phenomena Unveiled
52 |
53 | Keyword: Cosmic Phenomena Unveiled
54 |
55 | Long-term Keyword: Revelations from Supernova Explosions
56 |
57 | The wonders of supernova explosions are a testament to the grandeur and complexity of the cosmos. These extraordinary events, far from Earth but central to our understanding of the universe, continue to captivate scientists and stargazers alike. As we explore the significance of supernovae, we gain a deeper appreciation for the role they play in shaping the cosmos and enriching our understanding of the universe's story.
58 |
59 | Whether you're a seasoned astronomer or someone with a passion for the mysteries of the cosmos, supernova explosions offer a window into the breathtaking beauty and scientific significance of the universe. Witnessing these cosmic fireworks is a reminder of the awe-inspiring wonders that await our exploration in the boundless expanse of space.
60 |
--------------------------------------------------------------------------------
/exampleSite/content/posts/2023/09-24__Galactic-marvels-the-most-spectacular-nebulas-in-the-cosmos.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Galactic Marvels: The Most Spectacular Nebulas in the Cosmos"
3 | date: 2023-09-24T11:15:17+07:00
4 | slug: /galactic-marvels/
5 | description: galactic marvels the most spectacular nebulas in the cosmos
6 | image: images/nasa-rTZW4f02zY8-unsplash.jpg
7 | caption: Photo by Nasa on Unsplash
8 | categories:
9 | - space
10 | tags:
11 | - nebula
12 | - cosmic
13 | - space
14 | draft: false
15 | ---
16 |
17 | In the vast expanse of the cosmos, one cannot help but be captivated by the breathtaking beauty of nebulae. These celestial marvels are often hidden in the depths of space, waiting to be discovered and admired by astronomers and space enthusiasts alike. In this article, we will embark on a cosmic journey to explore some of the most spectacular nebulas in the cosmos, shedding light on their unique features and the mysteries they hold.
18 |
19 | ## 1. The Eagle Nebula: A Stellar Nursery
20 |
21 |
22 | The Eagle Nebula, also known as Messier 16, is a striking star-forming region in the Serpens constellation. This celestial nursery is famous for the Pillars of Creation, towering columns of gas and dust where new stars are born. The Eagle Nebula's intricate interplay of light and shadow is a testament to the cosmos' artistic prowess.
23 |
24 | ## 2. The Orion Nebula: Jewel of Orion's Sword
25 |
26 |
27 | Located in the "sword" of the Orion constellation, the Orion Nebula, or Messier 42, is one of the most studied nebulae in the night sky. Its vibrant colors and intricate details make it a favorite among amateur astronomers. This stellar nursery is home to a myriad of young stars, hidden within its glowing gas and dust clouds.
28 |
29 | ## 3. The Lagoon Nebula: A Cosmic Lagoon of Gas and Stars
30 |
31 |
32 | Situated in the Sagittarius constellation, the Lagoon Nebula, or Messier 8, is a stellar paradise. Its distinctive name arises from the dark lanes of dust that resemble the shores of a tranquil lagoon. This nebula is a hub of star formation, where massive, hot stars illuminate the surrounding gas clouds.
33 |
34 | ## 4. The Helix Nebula: The Eye of the Cosmos
35 |
36 |
37 | The Helix Nebula, also known as the Eye of God, is a planetary nebula in the Aquarius constellation. Its iconic shape resembles a colossal eye gazing out from the depths of space. The Helix Nebula is the remnants of a dying star, shedding its outer layers into the cosmos.
38 |
39 | ## 5. The Carina Nebula: A Stellar Canvas of Color
40 |
41 |
42 | The Carina Nebula, located in the Carina constellation, is a celestial masterpiece known for its vivid colors and chaotic star-forming regions. This sprawling nebula hosts the enigmatic Eta Carinae, one of the most massive binary star systems in our galaxy.
43 |
44 | ## 6. The Crab Nebula: A Cosmic Relic
45 |
46 |
47 | The Crab Nebula, a remnant of a supernova explosion in 1054 AD, is a historical gem in the Taurus constellation. This pulsar-powered nebula is a testament to the violent forces that shape the cosmos. Its intricate filaments and expanding shockwaves continue to be a source of scientific fascination.
48 |
49 | ## Conclusion: Cosmic Wonders Unveiled
50 |
51 | Exploring the most spectacular nebulas in the cosmos reveals the astonishing beauty and complexity of our universe. These celestial marvels, often hidden in the night sky, provide astronomers with invaluable insights into the life cycles of stars and the forces that shape our galaxy.
52 |
53 | As we gaze at the stars and wonder about the mysteries of the cosmos, let us not forget the breathtaking nebulae that grace our skies, reminding us of the boundless wonders of the universe.
54 |
55 | Whether you're an amateur astronomer with a telescope or simply a stargazer, these spectacular cosmic nebulas are waiting for you to discover and appreciate their awe-inspiring splendor. So, grab your telescope or binoculars, and embark on a celestial journey to witness these galactic marvels for yourself.
--------------------------------------------------------------------------------
/exampleSite/content/posts/2023/10-24__Unveiling-the-secrets-of-black-holes-a-journey-into-the-heart-of-darkness.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Unveiling the Secrets of Black Holes: A Journey into the Heart of Darkness"
3 | date: 2023-10-04T22:11:36+07:00
4 | slug: /unveiling-the-secrets-of-black-holes/
5 | description: Exploring the mysteries of black holes, the enigmatic cosmic phenomena.
6 | image: images/nadine-shaabana-ZPP-zP8HYG0-unsplash.jpg
7 | caption: Photo by Nadine Shaabana on Unsplash.
8 | categories:
9 | - astronomy
10 | tags:
11 | - black hole
12 | - space
13 | - relativity
14 | draft: false
15 | ---
16 |
17 | In the vast expanse of the cosmos, `there` are few objects as mysterious and awe-inspiring as black holes. These enigmatic cosmic phenomena, once thought of as nothing more than theoretical curiosities, have now become a central focus of astronomical research. In this article, we embark on a journey deep into the heart of darkness, unraveling some of the secrets that lie within.
18 |
19 | ## Black Holes: What and Why?
20 |
21 | Before delving deeper, let's understand what a black hole actually is. Black holes are the remnants of massive stars that have undergone a supernova explosion. When these stars collapse under their own gravity, they become incredibly dense, with gravity so strong that not even light can escape their grasp.
22 |
23 | ## The Beauty of Darkness
24 |
25 | We often imagine black holes as menacing objects that mercilessly devour anything that comes near them. However, in reality, black holes possess their own kind of beauty. They warp the fabric of spacetime around them, creating astonishing phenomena such as gravitational lensing and relativistic effects.
26 |
27 | ## Navigating Black Holes with General Relativity
28 |
29 | One of the keys to understanding black holes is Albert Einstein's Theory of General Relativity. This theory revolutionized our understanding of gravity and opened the door to comprehending extreme physical phenomena like black holes. With its equations, scientists can calculate the behavior of black holes and predict what might happen in their vicinity.
30 |
31 | ## Recent Discoveries and Future Missions
32 |
33 | The field of black hole astronomy is continually evolving. In recent years, discoveries such as the first image of a black hole and the detection of gravitational waves from black hole collisions have rocked the scientific world. Future missions to observe black holes, such as the James Webb Space Telescope, promise to unlock even more secrets.
34 |
35 | ## Conclusion: Unveiling the Darkness
36 |
37 | Unveiling the secrets of black holes is an ongoing journey. The deeper we delve, the more mysteries are revealed, and the further we peer into the cosmic heart of darkness. In this quest, scientists and astronomers serve as galactic explorers, guiding us all toward a deeper understanding of this mysterious and wondrous universe.
38 |
39 | Whether you're a researcher, an astronomy enthusiast, or simply curious about the secrets of the cosmos, one thing is certain: black holes will continue to be a focal point of research and a marvel of the universe that never ceases to astound us all.
40 |
41 | ```html
42 | {{ define "main" }}
43 |
44 | {{- partial "hero.html" . -}}
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
Latest News
53 |
54 |
55 | View all
56 |
57 |
58 |
59 |
60 | {{- partial "card-list-horizontal.html" . -}}
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
Cetegories News
69 |
70 |
71 | View all
72 |
73 |
74 |
75 |
76 | {{- partial "card-list-horizontal.html" . -}}
77 |
78 |
79 |
80 |
81 |
82 | {{ end }}
83 | ```
84 |
--------------------------------------------------------------------------------
/exampleSite/hugo.toml:
--------------------------------------------------------------------------------
1 | baseURL = 'https://pehtheme-hugo.netlify.app/'
2 | languageCode = 'en-us'
3 | title = 'Pehtheme'
4 | theme = 'pehtheme-hugo'
5 |
6 | paginate = '6' # <- Set the desired number of posts per page
7 | summaryLength = '20' # <- 20 words are approximately 160 characters
8 | googleAnalytics = 'G-MEASUREMENT_ID' # <- Your GA-4
9 | disqusShortname = 'your-disqus-shortname' # <- Get form here : https://disqus.com
10 |
11 | [params]
12 | # Meta description, not exceeding 160 characters, used for the meta description within the HTML head
13 | description = 'Pehtheme Hugo Lite: A minimalist Hugo theme, built with TailwindCSS, for efficient performance and minimalism.'
14 | mainSections = 'posts'
15 |
16 | [author]
17 | name = 'Anthony Arphan'
18 | bio = 'Debitis assumenda esse dignissimos aperiam delectus maxime tenetur repudiandae dolore'
19 | avatar = '/images/nasa-astronaut-unsplash.jpg'
20 | twitter = 'https://twitter.com/insertapps'
21 |
22 | [menu] # Menu management
23 | [[menu.main]]
24 | name = 'Home'
25 | pageRef = '/'
26 | weight = 10
27 | [[menu.main]]
28 | name = 'About'
29 | pageRef = '/about'
30 | weight = 15
31 | [[menu.main]]
32 | name = 'Tags'
33 | pageRef = '/tags'
34 | weight = 20
35 | [[menu.main]]
36 | name = 'Taxonomy'
37 | pageRef = '/tags/space/'
38 | weight = 25
39 |
40 | [module]
41 | [module.hugoVersion]
42 | extended = false
43 | min = "0.116.0"
44 | [module.mounts] # Directing the static folder to assets.
45 | source = 'assets'
46 | target = 'static'
--------------------------------------------------------------------------------
/exampleSite/input.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer components {
6 |
7 | .insert-link {
8 | @apply before:absolute before:content-[''] before:z-10 before:top-0 before:right-0 before:left-0 before:bottom-0 before:pointer-events-auto
9 | }
10 | }
11 |
12 | @layer utilities {
13 |
14 | .close {
15 | display: none;
16 | }
17 |
18 | .open {
19 | display: block;
20 | }
21 |
22 | }
--------------------------------------------------------------------------------
/exampleSite/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "pehtheme",
3 | "version": "1.0.0",
4 | "description": "An open-source Hugo theme lovingly crafted using Tailwind CSS.",
5 | "main": "index.js",
6 | "scripts": {
7 | "dev:generate": "npx tailwindcss -i ./assets/input.css -o ./themes/pehtheme-hugo/assets/css/main.css -w",
8 | "dev:hugo": "hugo server",
9 | "dev": "run-p dev:*",
10 | "build:generate": "npx tailwindcss -i ./assets/input.css -o ./themes/pehtheme/static/assets/css/main.css",
11 | "build:hugo": "hugo",
12 | "build": "run-p build:*"
13 | },
14 | "keywords": ["hugo", "tailwindcss"],
15 | "author": "Fauzan My",
16 | "license": "MIT",
17 | "devDependencies": {
18 | "@tailwindcss/typography": "^0.5.10",
19 | "autoprefixer": "^10.4.16",
20 | "npm-run-all": "^4.1.5",
21 | "postcss": "^8.4.31",
22 | "postcss-cli": "^10.1.0",
23 | "tailwindcss": "^3.3.3"
24 | }
25 | }
--------------------------------------------------------------------------------
/exampleSite/postcss.config.js:
--------------------------------------------------------------------------------
1 | postcss.config.js
2 |
3 | module.exports = {
4 | plugins: {
5 | tailwindcss: {},
6 | autoprefixer: {},
7 | }
8 | }
--------------------------------------------------------------------------------
/exampleSite/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: [
4 | "content/**/*.md",
5 | "./themes/pehtheme-hugo/**/*.{html,js}"
6 | ],
7 | theme: {
8 | extend: {},
9 | },
10 | plugins: [
11 | require('@tailwindcss/typography')
12 | ],
13 | }
--------------------------------------------------------------------------------
/hugo.toml:
--------------------------------------------------------------------------------
1 | baseURL = 'https://example.org/'
2 | languageCode = 'en-us'
3 | title = 'My New Hugo Site'
4 |
5 | [[menus.main]]
6 | name = 'Home'
7 | pageRef = '/'
8 | weight = 10
9 |
10 | [[menus.main]]
11 | name = 'Posts'
12 | pageRef = '/posts'
13 | weight = 20
14 |
15 | [[menus.main]]
16 | name = 'Tags'
17 | pageRef = '/tags'
18 | weight = 30
19 |
20 | [module]
21 | [module.hugoVersion]
22 | extended = false
23 | min = "0.116.0"
24 |
--------------------------------------------------------------------------------
/images/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/images/screenshot.png
--------------------------------------------------------------------------------
/images/tn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/images/tn.png
--------------------------------------------------------------------------------
/layouts/_default/baseof.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ partial "head.html" . }}
5 |
6 |
7 |
8 | {{- partial "header.html" . -}}
9 |
10 |
11 | {{- block "main" . }}{{ end -}}
12 |
13 |
14 | {{- partial "footer.html" . -}}
15 |
16 | {{- partialCached "footer/js.html" . }}
17 |
18 |
--------------------------------------------------------------------------------
/layouts/_default/home.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 |
4 |
5 | {{- range where .Site.RegularPages "Params.tags" "intersect" (slice "feature" ) | first 1 -}}
6 |
7 |
8 |
9 | {{- if .Params.image }}
10 |
11 | {{- if (strings.HasPrefix .Params.image "http") }}
12 |
13 |
14 |
15 | {{- else }}
16 |
17 | {{- with $imgfeature := resources.Get .Params.image }}
18 | {{ $imgfeature := $imgfeature.Resize "720x Q85" -}}
19 |
20 | {{- end }}
21 |
22 | {{- end }}
23 |
24 | {{- end }}
25 |
26 |
27 |
28 |
29 |
{{ .Date.Format "Jan 02, 2006" }}
30 |
31 |
32 |
33 | {{ end -}}
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | {{ $cat := "astronomy" }}
42 |
43 |
44 |
45 |
{{ $cat | humanize }}
46 |
47 |
View All
48 |
49 |
50 |
51 |
52 | {{ range where .Site.RegularPages "Params.categories" "intersect" (slice $cat ) | first 3 }}
53 |
54 | {{- partial "content/card" . -}}
55 |
56 | {{ end }}
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
Recent Post
71 |
72 |
73 |
74 |
75 |
76 | {{ $paginator := .Paginate ( where site.RegularPages "Type" "in" site.Params.mainSections) }}
77 |
78 | {{ range $paginator.Pages }}
79 |
80 | {{- partial "content/card" . -}}
81 |
82 | {{ end }}
83 |
84 |
85 |
86 |
87 |
88 |
89 | {{- if $paginator.HasPrev -}}
90 |
← Previous
91 | {{- end -}}
92 |
93 | {{- if $paginator.HasNext -}}
94 |
Next →
95 | {{- end -}}
96 |
97 |
98 |
99 |
100 |
101 |
102 | {{- partial "content/newsletter.html" . -}}
103 |
104 | {{ end }}
105 |
--------------------------------------------------------------------------------
/layouts/_default/list.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 | {{- partial "content/breadcrumb.html" . -}}
4 |
5 |
6 |
7 |
8 |
9 | {{ .Title | humanize }}
10 |
11 |
12 |
13 | {{ range ( .Paginator 6 ).Pages }}
14 |
15 | {{- partial "content/card.html" . -}}
16 |
17 | {{ end }}
18 |
19 |
20 |
21 |
22 |
23 |
24 | {{- if .Paginator.HasPrev -}}
25 |
← Previous
26 | {{- end -}}
27 |
28 | {{- if .Paginator.HasNext -}}
29 |
Next →
30 | {{- end -}}
31 |
32 |
33 |
34 |
35 |
36 |
37 | {{- partial "content/aside.html" . -}}
38 |
39 |
40 |
41 |
42 |
43 | {{ end }}
44 |
--------------------------------------------------------------------------------
/layouts/_default/single.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 | {{- partial "content/breadcrumb.html" . -}}
3 |
4 |
5 |
6 |
7 |
8 |
47 |
48 |
49 |
50 | {{- if .Params.image }}
51 |
52 | {{- if ( strings.HasPrefix .Params.image "http" ) }}
53 |
54 |
55 |
56 | {{- else }}
57 |
58 | {{- with $image := resources.Get .Params.image }}
59 | {{- $image := $image.Resize "750x" }}
60 |
61 | {{- end }}
62 |
63 | {{- end }}
64 |
65 | {{- end }}
66 |
67 | {{- if ( isset .Params "caption" ) }}
68 | {{ .Params.caption }}
69 | {{- end }}
70 |
71 |
72 |
73 |
74 |
75 |
76 | {{- .Content -}}
77 |
78 |
79 |
80 | {{- partial "terms.html" (dict "taxonomy" "tags" "page" .) -}}
81 |
82 |
83 |
84 |
157 |
158 |
159 |
160 |
161 |
162 |
163 | {{- partial "content/aside.html" . -}}
164 |
165 |
166 |
167 |
168 |
169 | {{ end }}
170 |
--------------------------------------------------------------------------------
/layouts/_default/terms.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 | {{- partial "content/breadcrumb.html" . -}}
4 |
5 |
6 |
7 |
29 |
30 |
31 |
32 | {{- partial "content/aside.html" . -}}
33 |
34 |
35 |
36 |
37 |
38 | {{ end }}
--------------------------------------------------------------------------------
/layouts/page/single.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | {{ .Title }}
19 |
20 |
21 |
22 |
23 |
24 | {{- .Content -}}
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | {{- partial "content/aside.html" . -}}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | {{ end }}
--------------------------------------------------------------------------------
/layouts/partials/content/aside-banner.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
Adversitiment
6 |
7 |
--------------------------------------------------------------------------------
/layouts/partials/content/aside.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{- partial "content/aside-banner.html" -}}
4 |
5 |
6 |
7 |
Recent Post
8 |
9 | {{ range where .Site.RegularPages "Type" "posts" | first 5}}
10 |
11 | {{- partial "content/list-post.html" . -}}
12 |
13 | {{ end }}
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/layouts/partials/content/breadcrumb.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{- range .Ancestors.Reverse }}
4 |
5 | {{ .LinkTitle }}
6 |
7 | {{- end }}
8 |
9 |
--------------------------------------------------------------------------------
/layouts/partials/content/card.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{- if .Params.image }}
8 |
9 | {{- if (strings.HasPrefix .Params.image "http") }}
10 |
11 |
12 |
13 | {{- else }}
14 |
15 | {{- with $imgcard := resources.Get .Params.image -}}
16 | {{- $imgcard := $imgcard.Process "resize 750x" -}}
17 |
18 | {{- end }}
19 |
20 | {{- end }}
21 |
22 | {{- end }}
23 |
24 |
25 |
26 |
27 |
28 |
{{ .Date.Format "Jan 02, 2006" }}
29 |
30 |
{{ .LinkTitle }}
31 |
32 |
{{ .Params.description }}
33 |
34 |
35 |
--------------------------------------------------------------------------------
/layouts/partials/content/list-post.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{- if .Params.image }}
6 |
7 | {{- if (strings.HasPrefix .Params.image "http") }}
8 |
9 |
10 |
11 | {{- else }}
12 |
13 | {{- with $imglist := resources.Get .Params.image -}}
14 | {{- $imglist := $imglist.Crop "250x250 Center" -}}
15 |
16 | {{- end }}
17 |
18 | {{- end }}
19 |
20 | {{- end }}
21 |
22 |
23 |
24 |
{{ .LinkTitle }}
25 |
26 |
--------------------------------------------------------------------------------
/layouts/partials/content/newsletter.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Stay In The Loop! Subscribe to Our Newsletter.
8 |
9 |
Join our community of enthusiasts and stay informed. Just enter your email below, and we'll make sure you're always in the know!
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/layouts/partials/content/social-media.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | {{ .Site.Title }}
14 |
15 |
16 |
17 | Write with love. Minimalism design. Clean code and built in Rembele, Gayo Highland.
18 |
19 |
20 |
Lorem ipsum dolor sit amet consectetur adipisicing, elit. At nulla, dolorum cumque ad. Officia voluptas excepturi distinctio maiores reiciendis minima aliquid aspernatur. Ullam tenetur saepe debitis, libero, in rerum vero?
21 |
22 |
23 |
24 |
25 |
26 | {{ partial "content/social-media.html" . }}
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | {{ range .Site.Menus.main }}
35 | {{ .Name }}
36 | {{ end }}
37 |
38 |
39 |
40 |
41 |
42 |
Copyright © {{ now.Year }}. All rights reserved. Insertapps.com
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/layouts/partials/footer/js.html:
--------------------------------------------------------------------------------
1 | {{- with resources.Get "js/insertoggle.js" }}
2 | {{- if eq hugo.Environment "development" }}
3 | {{- with . | js.Build }}
4 |
5 | {{- end }}
6 | {{- else }}
7 | {{- $opts := dict "minify" true }}
8 | {{- with . | js.Build $opts | fingerprint }}
9 |
10 | {{- end }}
11 | {{- end }}
12 | {{- end }}
--------------------------------------------------------------------------------
/layouts/partials/head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}
5 |
6 |
7 | {{- partialCached "head/css.html" . -}}
8 | {{- partialCached "head/favicon.html" . -}}
9 | {{- /* template "_internal/google_analytics.html" . */ -}}
--------------------------------------------------------------------------------
/layouts/partials/head/css.html:
--------------------------------------------------------------------------------
1 | {{- with resources.Get "css/main.css" }}
2 | {{- if eq hugo.Environment "development" }}
3 |
4 | {{- else }}
5 | {{- with . | minify | fingerprint }}
6 |
7 | {{- end }}
8 | {{- end }}
9 | {{- end }}
10 |
--------------------------------------------------------------------------------
/layouts/partials/head/favicon.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/layouts/partials/header.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | {{ if .IsHome}}
17 | {{ else }}
{{ end }}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | {{- partial "menu.html" (dict "menuID" "main" "page" .) -}}
30 | {{- partial "search.html" . -}}
31 |
--------------------------------------------------------------------------------
/layouts/partials/menu.html:
--------------------------------------------------------------------------------
1 | {{- /*
2 | Renders a menu for the given menu ID.
3 |
4 | @context {page} page The current page.
5 | @context {string} menuID The menu ID.
6 |
7 | @example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
8 | */}}
9 |
10 | {{- $page := .page }}
11 | {{- $menuID := .menuID }}
12 |
13 | {{- with index site.Menus $menuID }}
14 |
19 | {{- end }}
20 |
21 | {{- define "partials/inline/menu/walk.html" }}
22 | {{- $page := .page }}
23 | {{- range .menuEntries }}
24 | {{- $attrs := dict "href" .URL }}
25 | {{- /* Add the "rounded-full border px-6 py-2 bg-zinc-100 hover:bg-zinc-200" class to all links */}}
26 | {{- $attrs = merge $attrs (dict "class" "rounded-full border px-6 py-2 bg-zinc-100 hover:bg-zinc-200") }}
27 |
28 | {{- if $page.IsMenuCurrent .Menu . }}
29 | {{- /* Add the "active:bg-zinc-300" class if the link is the current page */}}
30 | {{- $attrs = merge $attrs (dict "class" (printf "%s %s" $attrs.class "border-zinc-400")) }}
31 | {{- /* Add the "aria-current" attribute */}}
32 | {{- $attrs = merge $attrs (dict "aria-current" "page") }}
33 | {{- else if $page.HasMenuCurrent .Menu .}}
34 | {{- /* Add the "ancestor" class if the link is an ancestor of the current page */}}
35 | {{- $attrs = merge $attrs (dict "class" "ancestor") }}
36 | {{- /* Add the "aria-current" attribute */}}
37 | {{- $attrs = merge $attrs (dict "aria-current" "true") }}
38 | {{- end }}
39 |
40 | {{ or (T .Identifier) .Name | safeHTML }}
47 | {{- with .Children }}
48 |
49 | {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
50 |
51 | {{- end }}
52 |
53 | {{- end }}
54 | {{- end }}
55 |
--------------------------------------------------------------------------------
/layouts/partials/script.html:
--------------------------------------------------------------------------------
1 | {{- with resources.Get "js/insertoggle.js" }}
2 | {{- if eq hugo.Environment "development" }}
3 | {{- with . | js.Build }}
4 |
5 | {{- end }}
6 | {{- else }}
7 | {{- $opts := dict "minify" true }}
8 | {{- with . | js.Build $opts | fingerprint }}
9 |
10 | {{- end }}
11 | {{- end }}
12 | {{- end }}
--------------------------------------------------------------------------------
/layouts/partials/search.html:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/layouts/partials/terms.html:
--------------------------------------------------------------------------------
1 | {{- /*
2 | For a given taxonomy, renders a list of terms assigned to the page.
3 |
4 | @context {page} page The current page.
5 | @context {string} taxonomy The taxonony.
6 |
7 | @example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
8 | */}}
9 |
10 | {{- $page := .page }}
11 | {{- $taxonomy := .taxonomy }}
12 |
13 | {{- with $page.GetTerms $taxonomy }}
14 | {{- $label := (index . 0).Parent.LinkTitle }}
15 |
16 |
17 |
18 | {{ $label }}:
19 | {{- range . }}
20 | {{ .LinkTitle }}
21 | {{- end }}
22 |
23 |
24 | {{- end }}
25 |
--------------------------------------------------------------------------------
/static/favicon-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/static/favicon-32.png
--------------------------------------------------------------------------------
/static/favicon-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/static/favicon-64.png
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/static/favicon.ico
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fauzanmy/pehtheme-hugo/bb2df75ceb48f38fb4fe2b4493d96c43f7c1c5f0/static/favicon.png
--------------------------------------------------------------------------------
/static/favicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/theme.toml:
--------------------------------------------------------------------------------
1 | name = 'Pehtheme Hugo'
2 | license = 'MIT'
3 | licenselink = 'https://github.com/fauzanmy/pehtheme-hugo/blob/main/LICENSE'
4 | description = 'Pehtheme Hugo : A minimalist Hugo theme built with TailwindCSS, for efficient performance and minimalism'
5 |
6 | # The home page of the theme, where the source can be found
7 | homepage = 'https://github.com/fauzanmy/pehtheme-hugo'
8 |
9 | # If you have a running demo of the theme
10 | demosite = 'https://pehtheme-hugo.netlify.app/'
11 |
12 | # Taxonomy terms
13 | tags = ['blog', 'responsive', 'light', 'tailwindcss']
14 | features = ['tailwindcss', 'two-column', 'sidebar', 'horizontal-menu']
15 |
16 | # If the theme has multiple authors
17 |
18 | [author]
19 | name = 'Fauzan My'
20 | homepage = 'https://fzn.my.id/'
--------------------------------------------------------------------------------