Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ayfri/portfolio
My online portfolio.
https://github.com/ayfri/portfolio
kobweb kotlin-website portfolio portfolio-website
Last synced: 10 days ago
JSON representation
My online portfolio.
- Host: GitHub
- URL: https://github.com/ayfri/portfolio
- Owner: Ayfri
- License: gpl-3.0
- Created: 2022-06-23T22:24:00.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-06T23:38:35.000Z (2 months ago)
- Last Synced: 2024-10-12T09:22:48.967Z (26 days ago)
- Topics: kobweb, kotlin-website, portfolio, portfolio-website
- Language: Kotlin
- Homepage: https://ayfri.com
- Size: 4.65 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Portfolio
This is the source code of my Portfolio, [ayfri.com](https://ayfri.com).
The website is made with [Kobweb](https://kobweb.varabyte.com/), a Kotlin Web Framework made on top of Compose HTML with static site generation.
## How to run
To run the website, you need to have the JDK installed on your computer.
Then, you can run the following command:
```shell
./gradlew kobwebStart
```Add `-t` for live reload.
Add `-PkobwebEnv=PROD` to run in production mode.
Add `-PkobwebRunLayout=STATIC` to run in static mode (HTML generation, slower to live reload).### Exporting the website
To export the website, you can run the following command:
```shell
./gradlew kobwebExport
```Add `-PkobwebEnv=PROD` to export in production mode.
Add `-PkobwebRunLayout=STATIC` to export in static mode (HTML generation).The website will be exported in the `.kobweb/client` directory.
## Articles
The articles are written in `src/jsMain/resources/markdown/articles` in Markdown format with a front matter.
During the build, the articles are converted to HTML and added to the website.### Front matter
Here's an example of a front matter:
```yaml
nav-title: Kore Hello World
title: Creating an Hello World Datapack with Kore
description: Learn how to create a simple Minecraft datapack that displays a "Hello World" message using the Kore library.
keywords: minecraft, datapack, kore, kotlin, tutorial
date-created: 2024-05-19
date-modified: 2024-05-19
root: .layouts.DocLayout
routeOverride: /articles/kore-hello-world/index
```The `nav-title` is the slug of the page and what will be displayed for SEO.
The `title` is the title of the article that will be displayed in the article list.
The `description` is the description of the article that will be used everywhere.
The `keywords` are the keywords of the article that will be used for SEO.
The `date-created` is the date the article was created.
The `date-modified` is the date the article was last modified.
The `root` is the layout of the article, usually `.layouts.DocLayout` (which means the article will be displayed with the `src/jsMain/kotlin/layouts/DocLayout.kt` layout).
The `routeOverride` is the route of the article, it's the URL of the article.## License
This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.