17 |
18 | {/for}
19 |
--------------------------------------------------------------------------------
/blog/content/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | title: Hello, world! I’m Roq — a fun little SSG (Static Site Generator) with a Java soul and Quarkus energy.
3 | description: A static site generator (SSG) that makes it fun and easy to build websites and blogs. It’s built with Java and Quarkus under the hood—but you don’t need to know them.
4 | name: I am ROQ
5 | simple-name: ROQ
6 | image: roq-icon.svg
7 | icon: ico.png
8 | social-twitter: quarkusio
9 | social-facebook:
10 | social-github: quarkiverse/quarkus-roq
11 | social-linkedin: quarkusio
12 | layout: :theme/index
13 | paginate:
14 | collection: posts
15 | size: 10
16 | ---
17 |
A blog under the Roq
18 |
19 | If you haven't yet, be sure to check out our getting started page!
20 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-09-19-drafts-and-future.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Easily manage Drafts and Future articles in Roq"
3 | date: 2024-09-19 10:45:00 +0200
4 | description: Roq SSG introduces a new feature that allows you to hide or show draft and future articles using simple Quarkus configurations. This update gives developers greater control over which content is visible, improving content management and workflow.
5 | image: https://plus.unsplash.com/premium_photo-1664197369206-597ffd51f65c?q=80&w=3540&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
6 | tags: frontmatter, guide
7 | author: ia3andy
8 | ---
9 |
10 | Roq just made content management easier with a cool new feature that lets you control drafts and future articles directly in your configuration. No more messing around with hard-to-track content—now you can manage everything through the Quarkus config:
11 |
12 | ```shell
13 | quarkus dev -site.drafts -site.future`
14 | ```
15 |
16 | This is using frontmatter data in articles and pages `draft: true` and `date: 2024-09-19 10:45:00 +0200` to take the decision.
17 |
18 | By default, both options are set to `false`, meaning that drafts and future pages will stay hidden until you’re ready to reveal them. All you need to do is update these configs when you're ready to publish.
19 |
20 | This simple feature adds flexibility and control, making your publishing process more streamlined. Happy content managing!
21 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-09-23-seo.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Out of the box awesome SEO
3 | image: https://images.unsplash.com/photo-1562577309-2592ab84b1bc?q=80&w=3474&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
4 | description: Learn how to implement SEO in Roq in a blink of an eye.
5 | author: ia3andy
6 | tags: seo, frontmatter, guide, cool-stuff
7 | date: 2024-09-23 14:00:00 +0200
8 | ---
9 |
10 | Adding SEO is as easy as adding this tag to your `` section:
11 |
12 | ```html
13 | \{#seo page site /}
14 | ```
15 |
16 | It will automatically use the Frontmatter data to fill the tags. Read the Roq documentation for more...
17 |
18 | Like this:
19 |
20 | ```html
21 | {#seo page site /}
22 | ```
23 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-10-08-tagging.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: :theme/post
3 | title: The first Roq plugin is for tagging (with pagination)
4 | image: tagging.png
5 | description: We introduced the first Roq plugin, it is for collection tagging & with pagination support!
6 | author: ia3andy
7 | tags: plugin, frontmatter, guide, cool-stuff
8 | series: roq-plugins
9 | ---
10 |
11 | My mind is getting blown by how much Quarkus was made for Static Site Generation. I just implemented a new plugin to generate tag pages and that was soooo easy.
12 |
13 | To use it:
14 |
15 | ```xml
16 |
17 | io.quarkiverse.roq
18 | quarkus-roq-plugin-tagging
19 | ...
20 |
21 | ```
22 |
23 | and adding a new `layouts/tag.html` page or any layout with `tagging: [name of collection]` as FM data.
24 |
25 | For more info [check out the doc](https://iamroq.com/docs/plugins/#plugin-tagging).
26 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-10-10-rss-feed.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: RSS Feed of your blog posts
3 | description: Automatically generate an RSS feed of your blog links.
4 | image: https://images.unsplash.com/photo-1520636902994-f596446c3728?q=80&w=3198&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
5 | tags: plugin,frontmatter,guide
6 | author: melloware
7 | aliases: [rss]
8 | ---
9 |
10 | Adding RSS is as easy as adding this tag to your `` section:
11 |
12 | ```html
13 | \{#rss site /}
14 | ```
15 |
16 | Like this:
17 |
18 | ```
19 | {#rss site /}
20 |
21 | ```
22 |
23 | It will automatically utilize the Frontmatter data from all your blog posts to generate a valid Atom RSS feed link at `rss.xml`. Ensure you create an `rss.xml` file at the root of your site and include this single line of code:
24 |
25 | ```html
26 | \{#include fm/rss.html /}
27 | ```
28 |
29 | The Atom Syndication Format is an XML language used for web feeds. A web feed (also called ‘news feed’ or ‘RSS feed’) is a data format used for providing users with frequently updated content. Content distributors syndicate a web feed, thereby allowing users to subscribe a channel to it. A typical scenario of web-feed use might involve the following: a content provider publishes a feed link on its site which end users can register with an aggregator program (also called a feed reader or a newsreader) running on their own machines.
30 |
31 | ```xml
32 | {#include fm/rss.html}
33 | ```
34 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-10-22-asciidoc.adoc:
--------------------------------------------------------------------------------
1 | ---
2 | title: Write your blog posts in AsciiDoc
3 | description: Automatically generate html from AsciiDoc content
4 | img: https://images.unsplash.com/photo-1455390582262-044cdead277a?q=80&w=3198&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
5 | tags: plugin, frontmatter, guide
6 | author: jtama
7 | aliases: [asciidoc]
8 | series: roq-plugins
9 | ---
10 |
11 | Writing content is AsciiDoc format is an absolut no brainer. Roq provides a plugin to handle it transparently for you.
12 |
13 | To use it, you need to add the `quarkus-roq-plugin-asciidoc' to your project.
14 |
15 | [%collapsible]
16 | ====
17 | You can do that using several ways :
18 |
19 | [qanda]
20 | Manually::
21 | [source,xml]
22 | .pom.xml
23 | ----
24 |
25 | io.quarkiverse.roq
26 | quarkus-roq-plugin-asciidoc
27 | $\{quarkus-roq.version\}
28 |
29 | ----
30 |
31 | Using the Quarkus cli::
32 | [source,shell]
33 | ----
34 | quarkus extension add io.quarkiverse.roq:quarkus-roq-plugin-asciidoc
35 | ----
36 |
37 | Using the Maven::
38 | [source,shell]
39 | ----
40 | ./mvnw quarkus:add-extension -Dextensions="io.quarkiverse.roq:quarkus-roq-plugin-asciidoc"
41 | ----
42 |
43 | Using the Gradle::
44 | [source,shell]
45 | ----
46 | ./gradlew addExtension --extensions="io.quarkiverse.roq:quarkus-roq-plugin-asciidoc"
47 | ----
48 | ====
49 |
50 | Once done, you can start writing your blog posts in AsciiDoc format.
--------------------------------------------------------------------------------
/blog/content/posts/2024-10-31-roq-with-blogs/generator-runtime-discussion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/content/posts/2024-10-31-roq-with-blogs/generator-runtime-discussion.png
--------------------------------------------------------------------------------
/blog/content/posts/2024-11-14-qrcode.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Need a QR Code?
3 | image: https://images.unsplash.com/photo-1726255294277-57c46883bd94?q=80&w=3870&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
4 | description: Add a QR Code to your Roq website.
5 | author: ia3andy
6 | tags: guide,cool-stuff,plugin
7 | date: 2024-11-14 14:00:00 +0200
8 | series: roq-plugins
9 | ---
10 |
11 | Need to add a scannable QR Code to your website? Whether it's for a restaurant menu, event ticket, or any other use case where you want to make your content easily accessible via mobile devices, the Roq QR Code plugin has you covered.
12 |
13 | **Step 1:** Add the QRCode plugin in your dependencies file:
14 |
15 | ```xml
16 |
17 | io.quarkiverse.roq
18 | quarkus-roq-plugin-qrcode
19 | ...
20 |
21 | ```
22 |
23 | **Step 2:** Add the QRCode tag to your template with all the parameters you need:
24 |
25 | ```html
26 | \{#qrcode value="https://luigis.com/menu/" alt="Luigi's Menu" foreground="#000066" background="#FFFFFF" width=300 height=300 /}
27 | ```
28 |
29 | It will render a QR Code like this:
30 |
31 |
34 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-12-06-series/series.foo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/content/posts/2024-12-06-series/series.foo.png
--------------------------------------------------------------------------------
/blog/content/posts/2024-12-26-page-files/dina-badamshina-j7vbBmTHmjY-unsplash.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/content/posts/2024-12-26-page-files/dina-badamshina-j7vbBmTHmjY-unsplash.jpg
--------------------------------------------------------------------------------
/blog/content/posts/2024-12-26-page-files/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Static attached files for posts and pages
3 | image: dina-badamshina-j7vbBmTHmjY-unsplash.jpg
4 | description: |
5 | This Christmas, I’m Roq-ing a cool new feature (inspired by Hugo 😅): it is possible to attach static files to posts and pages. They will be served relative to the page. 🎁🤩
6 | author: ia3andy
7 | tags: frontmatter, cool-stuff
8 | ---
9 |
10 | This Christmas, I’m Roq-ing a cool new feature (inspired by Hugo 😅): it is possible to attach static files to posts and pages. They will be served relative to the page. 🎁🤩
11 |
12 | I love it because it allows to put all the content related to one page or post in the same place. Bonus, images are displayed on previews since they are relative to the template.
13 |
14 | For example here is a sample pdf: [link](sample.pdf).
15 |
16 |
17 | **Fun fact:** [@parisjug](https://www.parisjug.org/) is already using this feature on their site (which is on Hugo 🤪)!
18 |
19 | The doc for this feature is [here](https://iamroq.com/docs/basics/#page-files).
20 |
--------------------------------------------------------------------------------
/blog/content/posts/2024-12-26-page-files/sample.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/content/posts/2024-12-26-page-files/sample.pdf
--------------------------------------------------------------------------------
/blog/content/posts/2025-01-08-sitemap.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Easily Generate a `sitemap.xml` for Your Site with Roq"
3 | description: "Learn how to quickly set up and customize a sitemap.xml for your site using the Roq plugin."
4 | tags: plugin,frontmatter,guide,cool-stuff
5 | image: https://images.unsplash.com/photo-1488628176578-4ffd5fdbc900?q=80&w=4142&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
6 | author: ia3andy
7 | ---
8 |
9 | Creating a `sitemap.xml` for your site has never been easier! With the Sitemap plugin, you can automatically generate a well-structured sitemap for search engines to crawl your pages efficiently.
10 |
11 | ## Installation
12 |
13 | To get started, install the plugin by running the following command:
14 |
15 | ```shell
16 | quarkus ext add quarkus-roq-plugin-sitemap
17 | ```
18 |
19 | ## Setting Up the Sitemap
20 |
21 | Next, create a new sitemap file in the `content/sitemap.xml`:
22 |
23 |
24 | ```xml
25 |
26 | \{#include fm/sitemap.xml}
27 | ```
28 |
29 | And that's it! Your sitemap is now ready.
30 |
31 | ## Excluding Pages from the Sitemap
32 |
33 | If there are pages you don't want included in the sitemap, simply set the `sitemap` property to `false` in the FM of those pages. For example:
34 |
35 | ```yaml
36 | ---
37 | title: "Hidden Page"
38 | sitemap: false
39 | ---
40 | ```
41 |
42 | ## Accessing Your Sitemap
43 |
44 | Once your site is up and running, you can view your sitemap by navigating to:
45 |
46 | ```
47 | http://localhost:8080/sitemap.xml
48 | ```
49 |
50 | Congratulations! You’ve successfully set up a `sitemap.xml` for your site.
51 |
--------------------------------------------------------------------------------
/blog/content/posts/2025-01-28-roq-and-roll-test/c'est de la poussière d'étoile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/content/posts/2025-01-28-roq-and-roll-test/c'est de la poussière d'étoile.jpg
--------------------------------------------------------------------------------
/blog/content/posts/2025-03-24-updating-roq/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "No pain updates with Roq"
3 | description: One of the most overlooked aspects when choosing a Static Site Generator (SSG) is how easy it is to keep your project up to date. Many developers have struggled with complex upgrade processes, dependency conflicts, and breaking changes when using traditional SSGs like Jekyll or Hugo.
4 | image: https://images.unsplash.com/photo-1585776245991-cf89dd7fc73a?q=80&w=3999&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
5 | tags: blogging
6 | ---
7 |
8 | One of the most overlooked aspects when choosing a Static Site Generator (SSG) is how easy it is to keep your project up to date. Many developers have struggled with complex upgrade processes, dependency conflicts, and breaking changes when using traditional SSGs like Jekyll or Hugo.
9 |
10 | With **Roq**, upgrading is refreshingly simple.
11 |
12 | ## Updating Roq: A One-Command Upgrade
13 |
14 | Roq is built on **Quarkus**, which provides a streamlined upgrade process via the Quarkus CLI. To update Roq to the latest version, all you need to do is run:
15 |
16 | ```sh
17 | quarkus update
18 | ```
19 |
--------------------------------------------------------------------------------
/blog/content/posts/2025-04-04-lunr/index.adoc:
--------------------------------------------------------------------------------
1 | ---
2 | title: 🔎 Your users deserve searching capabilities!
3 | description: No third party service needed 🚀
4 | img: https://images.unsplash.com/photo-1554696468-19f8c7a71ad5?q=80&w=1740&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D
5 | tags: plugin, frontmatter, guide
6 | author: jtama
7 | ---
8 |
9 | So your site is growing larger and larger and so it becomes harder and harder to find anything you wrote more than a few weeks ago.
10 | And that is frustrating.
11 |
12 | [.text-center]
13 | __**Words vanish, writing remains**__
14 |
15 | Yes... But if it remains buried deep in a pile of posts, it won't be of any use to any one.
16 |
17 | It seems you need to add a search engine to your site.
18 |
19 | But... you choose static generation for a reason, right ? Economy of resources, matters to you. And so you don't want to add a full-blown search engine like ElasticSearch or Solr.
20 |
21 | And guess what ? We couldn't agree more **with you** 🤩. We think you are _perfectly_ right, and that people should listen to you more. At least that's what we do. 👂
22 |
23 | So we did a bit of research and found out exactly what you need :
24 |
25 | https://lunrjs.com/[Lunr.js], it's a small, full-text search engine written in JavaScript. It runs in the browser based on a static generated json index and don't need any other third party services ✨.
26 |
27 | **Tadddaaah! ** We wrote a Lunr.js plugin for Roq.
28 |
29 | image::search.png[Search]
30 |
31 | 👉 Full documentation is available link:/docs/plugins/#plugin-lunr[here], don't wait any longer, go check it out.
32 |
--------------------------------------------------------------------------------
/blog/content/posts/2025-04-04-lunr/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/content/posts/2025-04-04-lunr/search.png
--------------------------------------------------------------------------------
/blog/content/roqers.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Roqers
3 | description: |
4 | Sites built with Roq! See what fellow Roqers have created—and share your own story.
5 | layout: :theme/page
6 | ---
7 |
8 | # 🎸 Roqers
9 |
10 | **You created a site with Roq? Please share the link with a small description in the comments and give us your experience.**
11 |
12 |
13 |
28 |
--------------------------------------------------------------------------------
/blog/content/rss.xml:
--------------------------------------------------------------------------------
1 | {#include fm/rss.html}
--------------------------------------------------------------------------------
/blog/content/search-index.json:
--------------------------------------------------------------------------------
1 | {#include fm/search-index.json}
--------------------------------------------------------------------------------
/blog/content/sitemap.xml:
--------------------------------------------------------------------------------
1 | {#include fm/sitemap.xml}
--------------------------------------------------------------------------------
/blog/data/authors.yml:
--------------------------------------------------------------------------------
1 | jtama:
2 | name: "Jérôme Tama"
3 | avatar: "https://github.com/jtama.png"
4 | job: Architect/Tech Lead
5 | profile: "https://x.com/jtama_"
6 | nickname: "jtama"
7 | bio: "Passionate about Java, Quarkus, containers, and documentation as code, I mainly develop, train, and sometimes contribute to OSS projects"
8 | ia3andy:
9 | name: "Andy Damevin"
10 | avatar: "https://github.com/ia3andy.png"
11 | job: Principal Software Engineer
12 | profile: "https://x.com/ia3andy"
13 | nickname: "ia3andy"
14 | bio: "I am happy to wake up every day and make the Java world a better place with Quarkus. I am mostly a backend developer but I am not that bad at doing web apps either in my spare time, in fact, you can be the judge of that since Roq is my baby :-)"
15 | mcruzdev:
16 | name: "Matheus Cruz"
17 | avatar: "https://github.com/mcruzdev.png"
18 | profile: "https://x.com/mcruzdev"
19 | job: Senior Software Engineer
20 | nickname: "mcruzdev"
21 | bio: "I am a passionate learner, open-source enthusiast, and Java developer with a drive for continuous improvement. When I’m not coding, you can find me on the Brazilian Jiu Jitsu mats, playing the guitar, or exploring new challenges. I believe in the power of community, collaboration, and creativity—both in and outside of tech."
--------------------------------------------------------------------------------
/blog/data/events.yml:
--------------------------------------------------------------------------------
1 | - title: "Quarkus Insight - What is Quarkus Roq?"
2 | description: "Andy Damevin, Matheus Cruz and Melloware join us to discuss Quarkus Roq, which includes tooling for generating a static website with Quarkus."
3 | date: "2024-11-11"
4 | link: https://www.youtube.com/quarkusio/live
5 | - title: "Roq 1.0"
6 | description: "Roq 1.0 is out, it's time to Roq with blogs!"
7 | date: "2024-10-31"
8 | link: https://docs.quarkiverse.io/quarkus-roq/dev/index.html#generate
9 | - title: "Roq 1.0 Beta"
10 | description: "You can start building your site or blog with Roq. More features will come to cover all the needs you can expect from an awesome SSG!"
11 | date: "2024-10-20"
12 |
--------------------------------------------------------------------------------
/blog/data/menu.yml:
--------------------------------------------------------------------------------
1 | nav:
2 | - title: "Blog"
3 | path: "/"
4 | icon: "fa-regular fa-newspaper"
5 | - title: "Events"
6 | path: "/events/"
7 | icon: "fa fa-calendar"
8 | - title: "About"
9 | path: "/about/"
10 | icon: "fa fa-thumbs-up"
11 | - title: "Roqers"
12 | path: "/roqers/"
13 | icon: "fa fa-guitar"
14 | doc:
15 | - title: "Getting Started"
16 | path: "/docs/getting-started/"
17 | icon: "fa fa-bolt"
18 | - title: "Roq the Basics"
19 | path: "/docs/basics/"
20 | icon: "fa fa-guitar"
21 | - title: "Publishing"
22 | path: "/docs/publishing/"
23 | icon: "fa fa-rocket"
24 | - title: "Plugins"
25 | path: "/docs/plugins/"
26 | icon: "fa-solid fa-hill-rockslide"
27 | - title: "Advanced stuff"
28 | path: "/docs/advanced/"
29 | icon: "fa-solid fa-truck-monster"
30 |
31 |
--------------------------------------------------------------------------------
/blog/public/googlefb811abf43ab0eb2.html:
--------------------------------------------------------------------------------
1 | google-site-verification: googlefb811abf43ab0eb2.html
--------------------------------------------------------------------------------
/blog/public/images/iamroq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/public/images/iamroq.png
--------------------------------------------------------------------------------
/blog/public/images/ico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/public/images/ico.png
--------------------------------------------------------------------------------
/blog/public/images/roq-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/public/images/roq-icon.png
--------------------------------------------------------------------------------
/blog/public/images/tagging.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/quarkiverse/quarkus-roq/a09ddaf80c261c416930728cde61e39feb25ee76/blog/public/images/tagging.png
--------------------------------------------------------------------------------
/blog/src/main/asciidoc-templates/document.html.slim:
--------------------------------------------------------------------------------
1 | - if document.attributes['toc']
2 | - toc = converter.convert(document, 'toc')
3 | div.asciidoc
4 | aside.toc.sidebar
5 | div.toc-menu
6 | = toc
7 | article.doc.asciidoctor
8 | h1.page = document.doctitle
9 | aside.toc.embedded
10 | h3 Contents
11 | = toc
12 | = content
13 | - else
14 | div.asciidoc
15 | article.doc.asciidoctor
16 | h1.page = document.doctitle
17 | = content
18 |
--------------------------------------------------------------------------------
/blog/src/main/java/Events.java:
--------------------------------------------------------------------------------
1 | import io.quarkiverse.roq.data.runtime.annotations.DataMapping;
2 | import java.time.LocalDate;
3 | import java.util.List;
4 |
5 | @DataMapping(value = "events", parentArray = true)
6 | public record Events(List list) {
7 |
8 | public record Event(String title, String description, String date, String link) {
9 |
10 | public LocalDate parsedDate() {
11 | return LocalDate.parse(date);
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/blog/src/main/resources/messages/roq_theme_en.properties:
--------------------------------------------------------------------------------
1 | contact_title=Social
--------------------------------------------------------------------------------
/blog/src/main/resources/web/app/main.js:
--------------------------------------------------------------------------------
1 | import hljs from 'highlight.js';
2 | import 'highlight.js/scss/a11y-dark.scss';
3 |
4 | hljs.highlightAll();
--------------------------------------------------------------------------------
/blog/templates/layouts/doc.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: :theme/main
3 | bodyClass: documentation
4 | ---
5 |
6 | {#insert /}
--------------------------------------------------------------------------------
/blog/templates/layouts/roq-default/default.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: theme-layouts/roq-default/default
3 | ---
4 |
5 | {#insert /}
6 |
7 | {#head}
8 | {#search-script /}
9 |
10 |
11 |
12 | {/}
13 |
14 |
--------------------------------------------------------------------------------
/blog/templates/layouts/roq-default/main.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: theme-layouts/roq-default/main
3 | ---
4 |
5 | {#search-overlay /}
6 | {#insert /}
7 |
8 | {#menu}
9 | {#search-button /}
10 | {#include partials/roq-default/sidebar-menu menu=cdi:menu.nav /}
11 | {#include partials/roq-default/sidebar-menu menu=cdi:menu.doc menuTitle="Doc" /}
12 | {/}
13 |
14 | {#footer}
15 |
24 | {/}
--------------------------------------------------------------------------------
/blog/templates/layouts/roq-default/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: theme-layouts/roq-default/post
3 | ---
4 |
5 | {@io.quarkiverse.roq.frontmatter.runtime.model.DocumentPage page}
6 |
7 | {#include partials/roq-series /}
8 |
9 | {#insert /}
10 |
11 | {#article-end}
12 |
13 |
28 | {/}
29 |
--------------------------------------------------------------------------------
/blog/templates/partials/doc/doc-attributes.adoc:
--------------------------------------------------------------------------------
1 | :toc: macro
2 | :toc-title: Contents
3 | :sectanchors: true
4 | :toclevels: 1
5 | :title: {page.title}
--------------------------------------------------------------------------------
/blog/templates/partials/doc/edit-contrib.adoc:
--------------------------------------------------------------------------------
1 | NOTE: If you find any issue or missing info, be awesome and link:https://github.com/quarkiverse/quarkus-roq/edit/main/blog/content/docs/{name}.adoc[edit this document] to help others Roqers.
2 |
--------------------------------------------------------------------------------
/blog/templates/partials/doc/start-roq.adoc:
--------------------------------------------------------------------------------
1 |
2 | 1. 👉 *Install* the https://quarkus.io/guides/cli-tooling[Quarkus CLI,window=_blank].
3 | 2. 🚀 **Generate the starter app** using the CLI (you can change the name), or via https://code.quarkus.io/?a=roq-with-blog&e=io.quarkiverse.roq%3Aquarkus-roq[code.quarkus.io,window=_blank]
4 | +
5 | [source,shell]
6 | ----
7 | quarkus create app roq-with-blog -x=io.quarkiverse.roq:quarkus-roq
8 | ----
9 |
10 | 3. 🎮 *start dev-mode*:
11 | +
12 | [source,shell]
13 | ----
14 | cd roq-with-blog
15 | quarkus dev
16 | ----
17 |
18 | 4. 💻 Your site is available on *link:http://localhost:8080[localhost,window=_blank]* for dev
19 | 5. 🍾 Time to **link:{site.url('docs/basics/')}[Roq the basics]**!
20 | 6. ☀️ If you found some happiness with Roq, please support us:
21 | +
22 | ++++
23 |
24 | Star
25 | ++++
26 |
--------------------------------------------------------------------------------
/blog/templates/partials/github-pages.adoc:
--------------------------------------------------------------------------------
1 | [[github-pages]]
2 | == Deploy to GitHub Pages
3 |
4 | Check if you already have the `.github/workflows/deploy.yml` file, if you don't create it:
5 |
6 | ..github/workflows/deploy.yml
7 | [source,yaml]
8 | ----
9 | ## Deploy to GH-Pages for your Quarkus Roq blog.
10 | name: Roq Site Deploy
11 |
12 | on:
13 | push:
14 | branches: [ main ] # Switch to the branch which should be deployed to GitHub Pages
15 | workflow_dispatch:
16 |
17 | jobs:
18 | build:
19 | runs-on: ubuntu-latest
20 | steps:
21 | - uses: actions/checkout@v4
22 | - name: Generate Roq Site
23 | uses: quarkiverse/quarkus-roq@v1
24 | with:
25 | github-token: ${{ secrets.GITHUB_TOKEN }} # Used to automatically get the GitHub Pages url
26 | deploy:
27 | environment:
28 | name: github-pages
29 | url: ${{ steps.deployment.outputs.page_url }}
30 | permissions:
31 | pages: write # to deploy to Pages
32 | id-token: write # to verify the deployment originates from an appropriate source
33 | runs-on: ubuntu-latest
34 | needs: build
35 | steps:
36 | - name: Deploy to GitHub Pages
37 | id: deployment
38 | uses: actions/deploy-pages@v4
39 | ----
40 |
41 | Then to enable GitHub Pages:
42 |
43 | 1. *Open* your GitHub repository page
44 | 2. **Go to** Settings->Page
45 | 3. *Pick:* `Source: GitHub Actions`, that's enough (no save button)
46 |
47 | It's all good, restart your deploy workflow and enjoy!
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/blog/templates/partials/roq-default/sidebar-copyright.html:
--------------------------------------------------------------------------------
1 |
2 |