mirror of
https://github.com/morten-olsen/morten-olsen.github.io.git
synced 2026-02-08 01:46:28 +01:00
foo
This commit is contained in:
2
.github/workflows/publish.yml
vendored
2
.github/workflows/publish.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- name: Install
|
- name: Install
|
||||||
uses: docker://ghcr.io/morten-olsen/node-latex:main
|
uses: docker://ghcr.io/morten-olsen/node-latex:main
|
||||||
with:
|
with:
|
||||||
args: pnpm install
|
args: pnpm install --no-frozen-lockfile
|
||||||
- name: Build 🔧
|
- name: Build 🔧
|
||||||
uses: docker://ghcr.io/morten-olsen/node-latex:main
|
uses: docker://ghcr.io/morten-olsen/node-latex:main
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -40,10 +40,6 @@ const build = async (cwd: string, config: Config) => {
|
|||||||
profile: data.profile,
|
profile: data.profile,
|
||||||
});
|
});
|
||||||
|
|
||||||
resumeData.subscribe(() => {
|
|
||||||
console.log('resume');
|
|
||||||
});
|
|
||||||
|
|
||||||
const resumeUrl = createLatex({
|
const resumeUrl = createLatex({
|
||||||
bundler,
|
bundler,
|
||||||
path: '/resume',
|
path: '/resume',
|
||||||
@@ -92,9 +88,6 @@ const build = async (cwd: string, config: Config) => {
|
|||||||
profile: data.profile,
|
profile: data.profile,
|
||||||
pdfUrl: Observable.link([pdf.item], async () => pdf.url),
|
pdfUrl: Observable.link([pdf.item], async () => pdf.url),
|
||||||
});
|
});
|
||||||
article.subscribe(() => {
|
|
||||||
console.log('updated', slug);
|
|
||||||
});
|
|
||||||
createPage({
|
createPage({
|
||||||
path: `/articles/${slug}`,
|
path: `/articles/${slug}`,
|
||||||
props,
|
props,
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ const createArticles = ({ bundler, cwd, pattern }: ArticleOptions) => {
|
|||||||
const file = createFile({ path });
|
const file = createFile({ path });
|
||||||
const article = file.pipe(async (raw) => {
|
const article = file.pipe(async (raw) => {
|
||||||
const { data, content } = grayMatter(raw);
|
const { data, content } = grayMatter(raw);
|
||||||
const { title, slug, cover, color } = data;
|
const { title, slug, cover, color, ...rest } = data;
|
||||||
const cwd = dirname(path);
|
const cwd = dirname(path);
|
||||||
const markdown = await markdownBundleImages({
|
const markdown = await markdownBundleImages({
|
||||||
cwd,
|
cwd,
|
||||||
@@ -40,6 +40,7 @@ const createArticles = ({ bundler, cwd, pattern }: ArticleOptions) => {
|
|||||||
bundler,
|
bundler,
|
||||||
});
|
});
|
||||||
const result: Article = {
|
const result: Article = {
|
||||||
|
...rest,
|
||||||
title,
|
title,
|
||||||
raw: content,
|
raw: content,
|
||||||
cover,
|
cover,
|
||||||
|
|||||||
@@ -18,11 +18,10 @@ const createPositions = ({ cwd, pattern, bundler }: PositionOptions) => {
|
|||||||
pattern,
|
pattern,
|
||||||
cwd,
|
cwd,
|
||||||
create: (path) => {
|
create: (path) => {
|
||||||
console.log('c', path);
|
|
||||||
const file = createFile({ path });
|
const file = createFile({ path });
|
||||||
const position = file.pipe(async (raw) => {
|
const position = file.pipe(async (raw) => {
|
||||||
const { data, content } = grayMatter(raw);
|
const { data, content } = grayMatter(raw);
|
||||||
const { title } = data;
|
const { title, ...rest } = data;
|
||||||
const cwd = dirname(path);
|
const cwd = dirname(path);
|
||||||
const markdown = await markdownBundleImages({
|
const markdown = await markdownBundleImages({
|
||||||
cwd,
|
cwd,
|
||||||
@@ -30,6 +29,7 @@ const createPositions = ({ cwd, pattern, bundler }: PositionOptions) => {
|
|||||||
bundler,
|
bundler,
|
||||||
});
|
});
|
||||||
const result = {
|
const result = {
|
||||||
|
...rest,
|
||||||
company: data.company,
|
company: data.company,
|
||||||
title,
|
title,
|
||||||
from: data.from,
|
from: data.from,
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ info:
|
|||||||
value: Copenhagen, DK
|
value: Copenhagen, DK
|
||||||
- name: Github
|
- name: Github
|
||||||
value: https://github.com/morten-olsen
|
value: https://github.com/morten-olsen
|
||||||
|
- name: Webpage
|
||||||
|
value: https://mortenolsen.pro
|
||||||
skills:
|
skills:
|
||||||
- name: Typescript
|
- name: Typescript
|
||||||
level: 5
|
level: 5
|
||||||
@@ -30,7 +32,15 @@ skills:
|
|||||||
level: 5
|
level: 5
|
||||||
- name: Docker
|
- name: Docker
|
||||||
level: 4
|
level: 4
|
||||||
|
- name: Terraform
|
||||||
|
level: 4
|
||||||
|
- name: Github Actions
|
||||||
|
level: 4
|
||||||
- name: NextJS
|
- name: NextJS
|
||||||
level: 3
|
level: 3
|
||||||
|
- name: Amazon Web Services
|
||||||
|
level: 3
|
||||||
- name: Fastify
|
- name: Fastify
|
||||||
level: 3
|
level: 3
|
||||||
|
- name: C\#
|
||||||
|
level: 3
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ company: Haastrup IT
|
|||||||
title: Web developer
|
title: Web developer
|
||||||
from: 2009
|
from: 2009
|
||||||
to: 2010
|
to: 2010
|
||||||
|
resume: false
|
||||||
---
|
---
|
||||||
|
|
||||||
I have worked as a part time project koordinator and systems developer, sitting with responsibility for a wide variety of projects including projects for "Københavns Kommune" (Navision reporting software) and "Syddanmarks kommune" (Electronic application processing system). Most projects were made in C#, but also PHP, VB, ActionScript. In addtion to that i maintained the in-house hosting setup.
|
I have worked as a part time project koordinator and systems developer, sitting with responsibility for a wide variety of projects including projects for "Københavns Kommune" (Navision reporting software) and "Syddanmarks kommune" (Electronic application processing system). Most projects were made in C#, but also PHP, VB, ActionScript. In addtion to that i maintained the in-house hosting setup.
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ company: Sydbank
|
|||||||
title: IT Hotline
|
title: IT Hotline
|
||||||
from: 2007
|
from: 2007
|
||||||
to: 2009
|
to: 2009
|
||||||
|
resume: false
|
||||||
---
|
---
|
||||||
|
|
||||||
I work as a part-time supporter of customers (private and business) and staff, on Sydbanks different electronic banking systems. Mostly telephonic bug finding and PC setup.
|
I work as a part-time supporter of customers (private and business) and staff, on Sydbanks different electronic banking systems. Mostly telephonic bug finding and PC setup.
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
\setlength{\columnseprule}{0.1pt}
|
\setlength{\columnseprule}{0.1pt}
|
||||||
%\setlength{\columnsep}{1.5cm}
|
%\setlength{\columnsep}{1.5cm}
|
||||||
\def \columncount {2}
|
\def \columncount {2}
|
||||||
\def \skillcolumncount {2}
|
\def \skillcolumncount {3}
|
||||||
|
\def \infocolumncount {2}
|
||||||
|
|
||||||
\pagestyle{fancy}
|
\pagestyle{fancy}
|
||||||
\fancyhf{}
|
\fancyhf{}
|
||||||
@@ -46,11 +47,11 @@
|
|||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
\hrule
|
\hrule
|
||||||
\vspace{0.5cm}
|
\vspace{0.5cm}
|
||||||
\ifnum\skillcolumncount>1
|
\ifnum\infocolumncount>1
|
||||||
\begin{multicols}{\skillcolumncount}
|
\begin{multicols}{\infocolumncount}
|
||||||
\fi
|
\fi
|
||||||
}{
|
}{
|
||||||
\ifnum\skillcolumncount>1
|
\ifnum\infocolumncount>1
|
||||||
\end{multicols}
|
\end{multicols}
|
||||||
\fi
|
\fi
|
||||||
\end{minipage}
|
\end{minipage}
|
||||||
@@ -119,7 +120,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\begin{cvtitle}{<%-profile.name%>}{<%-profile.imagePath%>}{<%-profile.tagline%>}
|
\begin{cvtitle}{<%-profile.name%>}{<%-profile.imagePath%>}{<%-profile.tagline%>}
|
||||||
<% for (let info of profile.info) { %>
|
<% for (let info of profile.info) { %>
|
||||||
\cvinfo{<%-info.name%>}{<%-info.value%>}
|
\cvinfo{<%-info.name%>}{<%-info.value%>}
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
<%-profile.about%>
|
<%-profile.about%>
|
||||||
\end{columns}
|
\end{columns}
|
||||||
|
|
||||||
\section*{Platform and languages}
|
\section*{Platforms and languages}
|
||||||
Platforms and languages which I have worked with. The list is a shortened down version\\\\
|
Platforms and languages which I have worked with. The list is a shortened down version\\\\
|
||||||
\begin{cvskills}
|
\begin{cvskills}
|
||||||
<% for (let skill of profile.skills.sort((a, b) => b.level - a.level)) { %>
|
<% for (let skill of profile.skills.sort((a, b) => b.level - a.level)) { %>
|
||||||
@@ -140,7 +140,7 @@ Platforms and languages which I have worked with. The list is a shortened down v
|
|||||||
\end{cvskills}
|
\end{cvskills}
|
||||||
|
|
||||||
\section*{Experience}
|
\section*{Experience}
|
||||||
<% for (let exp of positions.sort((a, b) => new Date(b.from) - new Date(a.from))) { %>
|
<% for (let exp of positions.filter(p => p.resume !== false).sort((a, b) => new Date(b.from) - new Date(a.from))) { %>
|
||||||
\begin{cvexp}{<%-exp.company%>}{<%-exp.from%>}{<%-exp.to%>}{<%-exp.title%>}
|
\begin{cvexp}{<%-exp.company%>}{<%-exp.from%>}{<%-exp.to%>}{<%-exp.title%>}
|
||||||
<%-exp.content%>
|
<%-exp.content%>
|
||||||
\end{cvexp}
|
\end{cvexp}
|
||||||
|
|||||||
Reference in New Issue
Block a user