From 496c8dd6fd80dd16bc8cbe248921f5d431151703 Mon Sep 17 00:00:00 2001 From: Ondrej Vlach Date: Sun, 26 Nov 2023 21:16:35 +0100 Subject: [PATCH] wip --- Cargo.lock | 2 +- src/lib.rs | 4 +- src/tools/tera.rs | 7 + templates/default.html.tera | 272 ++++++++++++++++-------------------- 4 files changed, 133 insertions(+), 152 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e4b1d9b..98e4a4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1133,7 +1133,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "ovlach_data" version = "0.1.0" -source = "git+https://glpat-Ju_qUN9Yh8qa5rEnd6T7:glpat-Ju_qUN9Yh8qa5rEnd6T7@gitlab.nanobyte.cz/ondrej/ov-site-api-data.git?branch=add_missing_fields#16c3522851e763b883c1bdc2a235bad039f943d9" +source = "git+https://glpat-Ju_qUN9Yh8qa5rEnd6T7:glpat-Ju_qUN9Yh8qa5rEnd6T7@gitlab.nanobyte.cz/ondrej/ov-site-api-data.git?branch=add_missing_fields#c37450f5ea327f95325d4f2cc587a392e6e3bc9f" dependencies = [ "chrono", "rocket", diff --git a/src/lib.rs b/src/lib.rs index 8a02666..e2f1eb6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,7 +4,7 @@ use std::collections::HashMap; use rocket::{*, fairing::AdHoc}; use rocket_dyn_templates::{Template, tera::Value}; use ::serde::Deserialize; -use tools::tera::{static_filter, translate_filter, calculate_age, insert_space_every}; +use tools::tera::{static_filter, translate_filter, calculate_age, insert_space_every, lang_entity}; pub mod routes; pub mod services; @@ -34,6 +34,8 @@ pub fn rocket_builder() -> Rocket { engines.tera.register_filter("translate", translate_filter); engines.tera.register_filter("calculate_age", calculate_age); engines.tera.register_filter("insert_space_every", insert_space_every); + // filters specific to API + engines.tera.register_filter("lang_entity", lang_entity); Ok(()) }) ).attach( diff --git a/src/tools/tera.rs b/src/tools/tera.rs index 12ffceb..b8edb4a 100644 --- a/src/tools/tera.rs +++ b/src/tools/tera.rs @@ -22,6 +22,13 @@ pub fn translate_filter( return Ok(rocket_dyn_templates::tera::Value::String(format!("{}", value.as_str().unwrap()))); // TODO: fix-me here! } +pub fn lang_entity( + value: &Value, + args: &HashMap +) -> Result { + return Ok(rocket_dyn_templates::tera::Value::String(format!("{}", value.as_str().unwrap()))); // TODO: fix-me here! +} + pub fn insert_space_every( value: &Value, args: &HashMap diff --git a/templates/default.html.tera b/templates/default.html.tera index 0c4101c..1ae85c9 100644 --- a/templates/default.html.tera +++ b/templates/default.html.tera @@ -4,183 +4,155 @@
+
-
-
-
-
-
-
-
-

{{ cv.person.name }} {{ cv.person.surname }}

-

{{ "DevOPS engineer/backend web developer" | translate }}

+
+
+
+
+
+
+
+

{{ cv.person.name }} {{ cv.person.surname }}

+

{{ "DevOPS engineer/backend web developer" | translate }}

+
+
+ +
+
-
- -
-
-
-
-
-
-

{{ "About Me" | translate }}

-

LoremIPSUM chat gpt pomuze!

-
-
-
-

Bio

-
-
Age
-
-
-
{{ cv.person.birthday | calculate_age }}
-
-
-
Email
-
-
-
{{ cv.person.email }}
-
-
-
Phone
-
-
-
+ {{cv.person.phone | insert_space_every(times=3) }}
-
- {% if cv.person.address %} +
+
+
+

{{ "About Me" | translate }}

+

LoremIPSUM chat gpt pomuze!

+
+
+
+

Bio

-
Address
+
Age
-
{{ cv.person.address }}
+
{{ cv.person.birthday | calculate_age }}
- {% endif %} +
+
Email
+
+
+
{{ cv.person.email }}
+
+
+
Phone
+
+
+
+ {{cv.person.phone | insert_space_every(times=3) }}
+
+ {% if cv.person.address %} +
+
Address
+
+
+
{{ cv.person.address }}
+
+ {% endif %} +
-
-
-

Professional Skills

-
-
-
HTML -
-
Master
-
+
+

{{ "Professional Skills" | translate }}

+
+
+ {% set arr_cnt = cv.skills | length %} + {% set split_index = arr_cnt / 2 | round(method="ceil") %} + {% for skill in cv.skills | slice(start = 0, end = split_index) %} + {{ split_index}} +
{{ skill.name }} +
+
+ {{ skill.skill}} +
+
+
+ {% endfor %}
-
CSS -
-
Expert
-
-
-
JavaScript -
-
Advance
-
-
-
WordPress -
-
Advance
-
-
-
-
-
Adobe Photoshop -
-
Master
-
-
-
Adobe Illustrator -
-
Expert
-
-
-
Sketch -
-
Expert
-
-
-
Adobe XD -
-
Beginner
+
+ {% for skill in cv.skills | slice(start = split_index) %} + {{ split_index}} +
{{ skill.name }} +
+
+ {{ skill.skill}} +
+
+ {% endfor %}
-
+
-
-

Work Experience

-
-
-
-
Frontend Developer at Creative Agency
-
-
-
May, 2015 - Present
-
Leverage agile frameworks to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition.
-
-
-
-
-
Graphic Designer at Design Studio
-
-
-
June, 2013 - May, 2015
-
Override the digital divide with additional clickthroughs from DevOps. Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.
-
-
-
-
-
Junior Web Developer at Indie Studio
-
-
-
Jan, 2011 - May, 2013
-
User generated content in real-time will have multiple touchpoints for offshoring. Organically grow the holistic world view of disruptive innovation via workplace diversity and empowerment.
-
+
+

{{ "Professional Skills" | translate }}

+
+ {% for job in cv.jobs %} +
+
+
{{ job.title | lang_entity }} at {{ job.company }}
+
+
+
May, 2015 - Present
+
{{ job.description | lang_entity }}
+
+
+ {% endfor %}
-

Education