Readme up to date

Squashed commit of the following:

commit d57376d7b1eb8ac3f3bf50ef539281c6fcace963
Author: Jarno Rankinen <50285623+0ranki@users.noreply.github.com>
Date:   Sat Feb 10 22:55:29 2024 +0200

    Update CONFIGURATION.md

commit f20c6538f71706e4447658c8efabec5e0562c1b4
Author: Jarno Rankinen <50285623+0ranki@users.noreply.github.com>
Date:   Sat Feb 10 22:48:35 2024 +0200

    Update README.md, WIP

commit 64ce61218bcbb4a28a6b15b457205fe98bb1d5e8
Author: Jarno Rankinen <50285623+0ranki@users.noreply.github.com>
Date:   Sat Feb 10 22:45:51 2024 +0200

    Create CONFIGURATION.md, WIP

commit 516084b985fe50be1aeed83a7b06435645e1b153
Author: Jarno Rankinen <50285623+0ranki@users.noreply.github.com>
Date:   Sat Feb 10 22:15:01 2024 +0200

    WIP Update README.md

commit b387cbbfb87e621c100664efce8e183c269eaea4
Author: Jarno Rankinen <50285623+0ranki@users.noreply.github.com>
Date:   Sat Feb 10 22:13:09 2024 +0200

    WIP Update README.md

commit 6166b18c19cdedfd5f21bbf33d92b466c3a10af7
Author: Jarno Rankinen <50285623+0ranki@users.noreply.github.com>
Date:   Sat Feb 10 22:01:07 2024 +0200

    WIP Update README.md

commit 01d0e798c9
Author: Jarno Rankinen <jarno@oranki.net>
Date:   Sat Feb 10 21:32:00 2024 +0200

    Intermediate commit, update README.md
This commit is contained in:
Jarno Rankinen 2024-02-10 22:57:07 +02:00
parent e861a2ff85
commit c405556e9c
2 changed files with 221 additions and 5 deletions

151
CONFIGURATION.md Normal file
View File

@ -0,0 +1,151 @@
## YAML Configuration
The configuration file is read for each request, there's no need to stop the server
to make edits.
### `basepath`
Defaults to empty, set if you want to serve under a subpath
```YAML
basepath: "/cv"
```
### `theme`
Sets the default theme that is loaded when people visit your CV
```YAML
theme: "dark"
```
### `meta` section
These values correspond to tags in the `<head> section.
- `meta.title` sets the `<title>` meta tag content
- `meta.github-corner` enables/disables the GitHub link to this repo in the top-right corner
- `meta.favicon` is still WIP, will point to a local or remote favicon assett
- `meta.language` sets the language for the headings in the document (e.g. SUMMARY), also the `<meta name="language">` tag
- Others correspond to `<meta name="tag name">`
```YAML
meta:
robots: "index, follow"
language: "en-EN"
author: "Mickey Mouse"
theme-color: "#bd93f9"
title: ""
description: ""
favicon: ""
github-corner: false
```
## `profile` (the main content definitions)
### Main info fields
Other info fields are quite self-explanatory, except
- `profile.photo`
- Can be a local file. In this case the path is relative
to the photo to use, meaning `./data/photo/`, `data/photo/`
and `/data/photo/` all mean a folder under the directory the
binary is in. **NOT AN ABSOLUTE OS PATH**
- Can be a URL to a remote asset
- `profile.summary` Can be written on multiple lines by using the
standard YAML `>`, `|` etc selectors, and can additionally
contain HTML. For example multiple paragraphs using `<p></p>`
```YAML
profile:
name: "Mickey Mouse"
title: "Professional job applicant"
city: "City, Country"
phone: "+358 xx xxx xxxx"
email: "your@email.com"
photo: "./data/photo/Mickey_Mouse_Steamboat_Willie.jpg"
summary: >-
Insert summary here. Multiple
lines can be used, but line breaks are determined
by the renderer
```
### `profile.experience`
A YAML List of previous jobs. Noteworthy is the description,
which is also a list of items, corresponding to e.g. different
tasks or responsibilities
```YAML
profile:
experience:
- company: Company 1
location: City, country
title: Professional employee
period: "03/2023 - "
description:
- Each item in this list
- Will be a new item
- In the CV
- company: Company 2
location: City, country
title: Professional employee
period: "03/2022 - 03/2023"
description:
- Each item in this list
- Will be a new item
- In the CV
- company: Company 3
location: City, country
title: Professional employee
period: "03/2021 - 03/2022"
description:
- Each item in this list
- Will be a new item
- In the CV
```
### `profile.education`
A YAML list of prior education history items. These may not fit
every imaginable education, but the fields are not named in the
resulting CV, so they can be used a bit creatively.
- `profile.education.degree` is the main title
- `profile.education.name` is the subtitle
```YAML
profile:
education:
- degree: B.S. in Job interviews
name: Job interviewee
faculty: School for Job applicants
city: City, Country
period: 1/1996 - 12/1996
- degree: Undergraduate of CV Authoring
name: Technical writer
faculty: School for Job applicants
city: City, Country
period: 1/1995 - 12/1995
```
### `profile.skills`, `profile.languages`
- name and the amount of starts to give each (1-5)
```YAML
profile:
skills:
- name: Skill 1
level: 1
- name: Skill 2
level: 2
- name: Skill 3
level: 3
- name: Skill 4
level: 4
- name: Skill 5
level: 5
languages:
- name: Language 1
level: 5
- name: Language 2
level: 4
- name: Language 1
level: 3
- name: Language 2
level: 2
```
### `profile.certificates`
Other mentionable courses, etc that don't quite fit the others, for example
driver's license, any certificate like CKAD
```YAML
profile:
certificates:
- name: Certified Kubernetes Application Developer
- name: Driver's License (commercial)
```

View File

@ -1,8 +1,73 @@
# Go-resume
# Go-resume ![Static Badge](https://img.shields.io/badge/WIP-yellow)
## Work in progress
A dynamic resume site using [Bulma CSS](https://github.com/jgthms/bulma) written in Go.
A dynamic resume site server using [Bulma CSS](https://github.com/jgthms/bulma) written in Go.
Get up and running easily by defining the content in a single YAML file.
Shamelessly copied from [mazipan's](https://github.com/mazipan) [bulma-resume-template](https://github.com/mazipan/bulma-resume-template).
If you have a public server, can serve the website on port 3000 (HTTP). Or run locally only to
generate a PDF.
### Live example: [https://oranki.net/cv](https://oranki.net/cv)
### Screenshots:
#### Desktop
![kuva](https://github.com/0ranki/go-resume/assets/50285623/4d918f31-a922-45d7-b2e6-67d4a44ebedb)
#### Mobile:
![kuva](https://github.com/0ranki/go-resume/assets/50285623/3d0252c2-2450-47b2-b2c4-bcf448db9f75)
### PDF
The resume can be exported fairly well to PDF by using your browser's built-in printing function.
Just configure your resume.yaml, run the server locally, open the page in your browser and press
"Print to PDF". Feedback is welcome, the result is not perfect, but subjectively as good as most
of the free Word templates I've come across.
**Note:** Printing the dark version doesn't quite work yet
## Usage (see [CONFIGURATION.md](CONFIGURATION.md))
- Download one of the pre-built binaries from releases or build yourself
- Update YAML (see separate document for details)
- Start the server
- The content is updated live, so you can make edits while the server is
running
### Reverse proxy
Running behind a reverse proxy is simple, e.g. for NGINX:
```
server {
listen 80;
listen [::]:80;
server_name my-cv.example.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name my-cv.example.com;
ssl_certificate "/path/to/cert";
ssl_certificate_key "/path/to/key";
location / {
proxy_set_header X-Forwarded-For $real_ip; # Not really necessary
proxy_pass http://localhost:3000;
}
}
```
If you want to run under a subpath, set `basepath` in the config YAML and change the
location block to the same, e.g. `basepath: "/cv"` in YAML, and
```
...
location /cv {
proxy_pass http://localhost:3000;
}
...
```
### Planned, but still missing features:
- Socials list
- Contact / contact info so it won't cause a spam wave
## Special thanks
Shamelessly adapted to Go from [mazipan's](https://github.com/mazipan) [bulma-resume-template](https://github.com/mazipan/bulma-resume-template).