mirror of
https://gitlab.com/Titan-C/org-cv.git
synced 2024-11-14 18:48:30 +00:00
start with landing page and documentation
This commit is contained in:
parent
f60778e5d7
commit
71c33fc77d
9 changed files with 314 additions and 29 deletions
15
.gitlab-ci.yml
Normal file
15
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
image: najeraoscar/latex-emacs-min
|
||||||
|
|
||||||
|
test:
|
||||||
|
script:
|
||||||
|
- apt-get update
|
||||||
|
- wget https://github.com/gohugoio/hugo/releases/download/v0.39/hugo_0.39_Linux-64bit.deb
|
||||||
|
- dpkg -i hugo*.deb
|
||||||
|
- hugo version
|
||||||
|
- cd doc; hugo
|
||||||
|
except:
|
||||||
|
- master
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- doc/public
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "doc/themes/project-landing-page"]
|
||||||
|
path = doc/themes/project-landing-page
|
||||||
|
url = https://github.com/nsomar/github-project-landing-page.git
|
23
doc/config.toml
Normal file
23
doc/config.toml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
baseURL = "http://example.org/"
|
||||||
|
languageCode = "en-us"
|
||||||
|
title = "Org CV backend export"
|
||||||
|
theme = "project-landing-page"
|
||||||
|
|
||||||
|
[params]
|
||||||
|
description = "Org-mode backend exporters for CV"
|
||||||
|
author_url = "http://blog.oscarnajera.com"
|
||||||
|
author = "Titan-C"
|
||||||
|
project_url = "https://gitlab.com/Titan-C/org-cv/"
|
||||||
|
|
||||||
|
first_color="#f8f8f8"
|
||||||
|
first_border_color="#e7e7e7"
|
||||||
|
first_text_color="#333"
|
||||||
|
|
||||||
|
second_color="white"
|
||||||
|
second_text_color="#333"
|
||||||
|
|
||||||
|
header_color="#f8f8f8"
|
||||||
|
header_text_color="rgb(51, 51, 51)"
|
||||||
|
|
||||||
|
header_link_color="#777"
|
||||||
|
header_link_hover_color="rgb(51, 51, 51)"
|
65
doc/content/img/intro-bg.svg
Normal file
65
doc/content/img/intro-bg.svg
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="500px" height="500px" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||||
|
<!-- Generator: Sketch 3.4.2 (15857) - http://www.bohemiancoding.com/sketch -->
|
||||||
|
<title>app-icon-board</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<defs>
|
||||||
|
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-1">
|
||||||
|
<feOffset dx="0" dy="5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||||
|
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||||
|
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.07 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||||
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<path id="path-2" d="M358.425522,314.612533 C386.918372,292.429159 386.914634,256.459893 358.425522,234.27943 L241.487748,143.236439 C212.994898,121.053065 166.795121,121.055976 138.306009,143.236439 L21.3682358,234.27943 C-7.12461463,256.462804 -7.12087586,292.43207 21.3682358,314.612533 L138.306009,405.655524 C166.79886,427.838898 212.998637,427.835987 241.487748,405.655524 L358.425522,314.612533 Z"></path>
|
||||||
|
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-3">
|
||||||
|
<feOffset dx="0" dy="5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||||
|
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||||
|
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.07 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||||
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<path id="path-4" d="M358.425522,251.312533 C386.918372,229.129159 386.914634,193.159893 358.425522,170.97943 L241.487748,79.9364388 C212.994898,57.753065 166.795121,57.7559759 138.306009,79.9364388 L21.3682358,170.97943 C-7.12461463,193.162804 -7.12087586,229.13207 21.3682358,251.312533 L138.306009,342.355524 C166.79886,364.538898 212.998637,364.535987 241.487748,342.355524 L358.425522,251.312533 Z"></path>
|
||||||
|
<linearGradient x1="48.3081043%" y1="100%" x2="48.3081043%" y2="0%" id="linearGradient-5">
|
||||||
|
<stop stop-color="#FBAD3F" offset="0%"></stop>
|
||||||
|
<stop stop-color="#FF3727" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<path id="path-6" d="M358.425522,188.012533 C386.918372,165.829159 386.914634,129.859893 358.425522,107.67943 L241.487748,16.6364388 C212.994898,-5.54693499 166.795121,-5.54402414 138.306009,16.6364388 L21.3682358,107.67943 C-7.12461463,129.862804 -7.12087586,165.83207 21.3682358,188.012533 L138.306009,279.055524 C166.79886,301.238898 212.998637,301.235987 241.487748,279.055524 L358.425522,188.012533 Z"></path>
|
||||||
|
<filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="filter-7">
|
||||||
|
<feOffset dx="0" dy="5" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
|
||||||
|
<feGaussianBlur stdDeviation="2.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
|
||||||
|
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.07 0" in="shadowBlurOuter1" type="matrix" result="shadowMatrixOuter1"></feColorMatrix>
|
||||||
|
<feMerge>
|
||||||
|
<feMergeNode in="shadowMatrixOuter1"></feMergeNode>
|
||||||
|
<feMergeNode in="SourceGraphic"></feMergeNode>
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<path id="path-8" d="M200.994876,73.9239587 C263.044575,114.073764 244.072268,164.565185 244.072268,164.565185 C244.072268,164.565185 250.763903,172.169315 254.10972,181.598436 C257.455537,191.027557 257.418671,202.585834 256.81034,202.889999 C256.20201,203.194165 248.358468,189.810896 234.643147,189.810896 C220.927827,189.810896 213.95991,202.889999 189.626699,202.889999 C134.8381,202.889999 111.076041,157.949594 111.076041,157.949594 C111.076041,157.949594 135.181133,175.210967 160.426846,174.602637 C185.672559,173.994306 192.668351,166.694342 192.668351,166.694342 C192.668351,166.694342 181.380146,157.248766 161.947669,138.254896 C142.515192,119.261027 124.231186,93.0863657 124.231186,93.0863657 C124.231186,93.0863657 153.524357,116.302646 162.92028,123.131903 C172.316203,129.961159 181.712126,136.150173 181.712126,136.150173 C181.712126,136.150173 172.612293,126.333119 166.205982,118.436791 C159.799671,110.540463 143.393593,86.6988967 143.393593,86.6988967 C143.393593,86.6988967 168.55586,109.416546 180.003776,118.436789 C191.451693,127.457032 213.351587,142.665292 213.351587,142.665292 C213.351587,142.665292 226.544752,112.552938 200.994876,73.9239587 Z"></path>
|
||||||
|
</defs>
|
||||||
|
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||||
|
<g id="app-icon-board" sketch:type="MSArtboardGroup" transform="translate(-150.000000, -1.000000)">
|
||||||
|
<g id="icon" sketch:type="MSLayerGroup" transform="translate(210.000000, 40.000000)">
|
||||||
|
<g id="Bottom" filter="url(#filter-1)" stroke-width="2">
|
||||||
|
<use stroke="#333333" fill="#333333" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-2"></use>
|
||||||
|
<use stroke-opacity="0.1" stroke="#363338" fill="none" xlink:href="#path-2"></use>
|
||||||
|
</g>
|
||||||
|
<g id="Middle" filter="url(#filter-3)" stroke-width="2">
|
||||||
|
<use stroke="#666666" fill="#666666" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-4"></use>
|
||||||
|
<use stroke-opacity="0.1" stroke="#363338" fill="none" xlink:href="#path-4"></use>
|
||||||
|
</g>
|
||||||
|
<g id="Top">
|
||||||
|
<use stroke="#42C88A" stroke-width="2" fill="url(#linearGradient-5)" sketch:type="MSShapeGroup" xlink:href="#path-6"></use>
|
||||||
|
<use stroke-opacity="0.1" stroke="#000000" stroke-width="1" fill="#42C88A" xlink:href="#path-6"></use>
|
||||||
|
</g>
|
||||||
|
<g id="countour" filter="url(#filter-7)" stroke="#363338" stroke-width="2" opacity="0.5">
|
||||||
|
<use fill="#363338" fill-rule="evenodd" sketch:type="MSShapeGroup" xlink:href="#path-8"></use>
|
||||||
|
<use stroke-opacity="0.1" fill="none" xlink:href="#path-8"></use>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.7 KiB |
75
doc/content/post/basic_config.md
Normal file
75
doc/content/post/basic_config.md
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
+++
|
||||||
|
title = "Basic Org file"
|
||||||
|
author = ["Óscar Nájera"]
|
||||||
|
draft = false
|
||||||
|
weight = 1002
|
||||||
|
+++
|
||||||
|
|
||||||
|
The basic structure of an org file containing your CV is shown next.
|
||||||
|
|
||||||
|
|
||||||
|
## Personal contact information {#personal-contact-information}
|
||||||
|
|
||||||
|
`TITLE` and `AUTHOR` are standard org options. But on `TITLE` you put your
|
||||||
|
foreseen job.
|
||||||
|
|
||||||
|
| Field | Description |
|
||||||
|
|----------|----------------------------------------------------|
|
||||||
|
| TITLE | Desired job |
|
||||||
|
| AUTHOR | Who you are? |
|
||||||
|
| ADDRESS | Mailing address, this can span over multiple lines |
|
||||||
|
| HOMEPAGE | URL of your website |
|
||||||
|
| MOBILE | Mobile phone |
|
||||||
|
| GITHUB | GitHub user |
|
||||||
|
| GITLAB | GitLab user |
|
||||||
|
| LINKEDIN | Linkedin username |
|
||||||
|
| PHOTO | path to photo file |
|
||||||
|
|
||||||
|
```org
|
||||||
|
#+TITLE: My dream job
|
||||||
|
#+AUTHOR: John Doe
|
||||||
|
|
||||||
|
#+ADDRESS: My Awesome crib
|
||||||
|
#+ADDRESS: Fantastic city -- Planet Earth
|
||||||
|
#+MOBILE: (+9) 87654321
|
||||||
|
#+HOMEPAGE: example.com
|
||||||
|
#+GITHUB: Titan-C
|
||||||
|
#+GITLAB: Titan-C
|
||||||
|
#+LINKEDIN: oscar-najera
|
||||||
|
#+PHOTO: smile.jpg
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use org-modes hierarchical structure to describe your CV. To make a
|
||||||
|
specific subtree an item describing an experience point (Job you have,
|
||||||
|
degree you pursued, etc.) you use the org properties drawer and with the
|
||||||
|
`:CV_ENV: cventry` property. You should also include the `FROM` and `TO`
|
||||||
|
properties defining the span of the event, as `LOCATION` and `EMPLOYER`.
|
||||||
|
|
||||||
|
```org
|
||||||
|
* Employement
|
||||||
|
** One job
|
||||||
|
:PROPERTIES:
|
||||||
|
:CV_ENV: cventry
|
||||||
|
:FROM: <2014-09-01>
|
||||||
|
:TO: <2017-12-07>
|
||||||
|
:LOCATION: a city, a country
|
||||||
|
:EMPLOYER: The employer
|
||||||
|
:END:
|
||||||
|
|
||||||
|
I write about awesome stuff I do.
|
||||||
|
** Other job
|
||||||
|
:PROPERTIES:
|
||||||
|
:CV_ENV: cventry
|
||||||
|
:FROM: <2013-09-01>
|
||||||
|
:TO: <2014-08-07>
|
||||||
|
:LOCATION: my city, your country
|
||||||
|
:EMPLOYER: The other employer
|
||||||
|
:END:
|
||||||
|
|
||||||
|
I write about awesome stuff I do.
|
||||||
|
|
||||||
|
* Other stuff I do
|
||||||
|
- I work a lot
|
||||||
|
- I sleep a lot
|
||||||
|
- I eat a lot
|
||||||
|
```
|
23
doc/content/post/installation.md
Normal file
23
doc/content/post/installation.md
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
+++
|
||||||
|
title = "Installation"
|
||||||
|
author = ["Óscar Nájera"]
|
||||||
|
draft = false
|
||||||
|
weight = 1001
|
||||||
|
+++
|
||||||
|
|
||||||
|
This project is not on MELPA so you have to do a manual installation. First
|
||||||
|
clone this git repository.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://gitlab.com/Titan-C/org-cv.git
|
||||||
|
```
|
||||||
|
|
||||||
|
There are various modules to perform the export. As of now `ox-moderncv`,
|
||||||
|
`ox-altacv`, `ox-hugocv`. Choose any or all that you prefer for install. I
|
||||||
|
use `use-package` to manage the installation for example of `ox-moderncv`.
|
||||||
|
|
||||||
|
```emacs-lisp
|
||||||
|
(use-package ox-moderncv
|
||||||
|
:load-path "path_to_repository/org-cv/"
|
||||||
|
:init (require 'ox-moderncv))
|
||||||
|
```
|
78
doc/content/post/latex_export.md
Normal file
78
doc/content/post/latex_export.md
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
+++
|
||||||
|
title = "Latex Exporter"
|
||||||
|
author = ["Óscar Nájera"]
|
||||||
|
draft = false
|
||||||
|
weight = 1003
|
||||||
|
+++
|
||||||
|
|
||||||
|
## Using modern-cv {#using-modern-cv}
|
||||||
|
|
||||||
|
[moderncv](https://www.ctan.org/tex-archive/macros/latex/contrib/moderncv) is a standard \\(\LaTeX\\) package that you can find in many of your
|
||||||
|
latex distributions. For I maintain for personal purposes a fork of it to
|
||||||
|
better work with my use case at <https://github.com/Titan-C/moderncv.git>
|
||||||
|
Feel free to use any or even your personal fork for your desired use case.
|
||||||
|
|
||||||
|
To configure the export for moderncv you need the addition options in your
|
||||||
|
org file.
|
||||||
|
|
||||||
|
```org
|
||||||
|
# CV theme - options include: 'casual' (default), 'classic', 'oldstyle' and 'banking'
|
||||||
|
#+CVSTYLE: banking
|
||||||
|
# CV color - options include: 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'
|
||||||
|
#+CVCOLOR: green
|
||||||
|
```
|
||||||
|
|
||||||
|
When exporting you can call the following function to get the latex file.
|
||||||
|
|
||||||
|
```emacs-lisp
|
||||||
|
(org-export-to-file 'moderncv "moderncv.tex")
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Using alta-cv {#using-alta-cv}
|
||||||
|
|
||||||
|
[AltaCV](https://github.com/liantze/AltaCV) is another project to generate a CV, you will need to install it
|
||||||
|
yourself. I maintain a fork too at <https://github.com/Titan-C/AltaCV.git>
|
||||||
|
because I need extra features and I encourage to use this for on the
|
||||||
|
sections branch.
|
||||||
|
|
||||||
|
The style of this CV is more involved and you need some configuration in
|
||||||
|
your org file to get it to work. First define the margins, the large margin
|
||||||
|
to the right is to allow for a second column.
|
||||||
|
|
||||||
|
```org
|
||||||
|
#+LATEX_HEADER: \geometry{left=1cm,right=9cm,marginparwidth=6.8cm,marginparsep=1.2cm,top=1.25cm,bottom=1.25cm}
|
||||||
|
```
|
||||||
|
|
||||||
|
Content on the right column has the same structure of a org file, but you
|
||||||
|
need to enclose it in the `\marginpar{}` command as shown next.
|
||||||
|
|
||||||
|
```org
|
||||||
|
#+latex: \marginpar{
|
||||||
|
```
|
||||||
|
|
||||||
|
```org
|
||||||
|
* Main Interests
|
||||||
|
- Free/Libre and Open Source Software (FLOSS)
|
||||||
|
- Free food
|
||||||
|
- Free beer
|
||||||
|
|
||||||
|
* Programming Languages
|
||||||
|
- Python
|
||||||
|
- C/C++
|
||||||
|
- EmacsLisp
|
||||||
|
- Bash
|
||||||
|
- JavaScript
|
||||||
|
- PHP
|
||||||
|
|
||||||
|
* Languages
|
||||||
|
|
||||||
|
- *English* Fluent
|
||||||
|
- *German* Fluent
|
||||||
|
- *Spanish* Native
|
||||||
|
- *French* Intermediate
|
||||||
|
```
|
||||||
|
|
||||||
|
```org
|
||||||
|
#+latex: }
|
||||||
|
```
|
1
doc/themes/project-landing-page
vendored
Submodule
1
doc/themes/project-landing-page
vendored
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit b639b771b6b799629a7e7e9b4ab068bcda423d7c
|
60
readme.org
60
readme.org
|
@ -1,21 +1,19 @@
|
||||||
#+TITLE: Org exporter for curriculum vitae
|
#+TITLE: Org exporter for curriculum vitae
|
||||||
#+AUTHOR: Óscar Nájera
|
#+AUTHOR: Óscar Nájera
|
||||||
#+EMAIL: hello@oscarnajera.com
|
#+EMAIL: hello@oscarnajera.com
|
||||||
#+DATE: 2018 Mar 22
|
|
||||||
#+LATEX_HEADER: \usepackage[top=2cm,bottom=2.5cm,left=3cm,right=3cm]{geometry}
|
#+HUGO_BASE_DIR: doc
|
||||||
#+LATEX_HEADER: \usepackage{indentfirst}
|
#+HUGO_SECTION: post
|
||||||
#+LATEX_CLASS_OPTIONS: [a4paper,12pt]
|
#+HUGO_WEIGHT: auto
|
||||||
#+STARTUP: hideblocks
|
|
||||||
#+OPTIONS: toc:nil num:nil
|
|
||||||
# This is for syntax highlight
|
|
||||||
#+LaTeX_HEADER: \usepackage{minted}
|
|
||||||
#+LaTeX_HEADER: \usemintedstyle{friendly}
|
|
||||||
|
|
||||||
This project aims to generate from an org-mode file with reasonably ordered
|
This project aims to generate from an org-mode file with reasonably ordered
|
||||||
items a latex file which compiles into a reasonably nice CV. In the same
|
items a latex file which compiles into a reasonably nice CV. In the same
|
||||||
spirit the org-mode file must export to markdown so that it can be uses for
|
spirit the org-mode file must export to markdown so that it can be uses for
|
||||||
web based CV.
|
web based CV.
|
||||||
* Installation
|
* Installation
|
||||||
|
:PROPERTIES:
|
||||||
|
:EXPORT_FILE_NAME: installation
|
||||||
|
:END:
|
||||||
This project is not on MELPA so you have to do a manual installation. First
|
This project is not on MELPA so you have to do a manual installation. First
|
||||||
clone this git repository.
|
clone this git repository.
|
||||||
#+BEGIN_SRC bash
|
#+BEGIN_SRC bash
|
||||||
|
@ -24,15 +22,18 @@ git clone https://gitlab.com/Titan-C/org-cv.git
|
||||||
|
|
||||||
There are various modules to perform the export. As of now =ox-moderncv=,
|
There are various modules to perform the export. As of now =ox-moderncv=,
|
||||||
=ox-altacv=, =ox-hugocv=. Choose any or all that you prefer for install. I
|
=ox-altacv=, =ox-hugocv=. Choose any or all that you prefer for install. I
|
||||||
use =use-package= to manage my installed packages like this.
|
use =use-package= to manage the installation for example of =ox-moderncv=.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(use-package ox-moderncv
|
(use-package ox-moderncv
|
||||||
:load-path "~/dev/org-cv/"
|
:load-path "path_to_repository/org-cv/"
|
||||||
:init (require 'ox-moderncv))
|
:init (require 'ox-moderncv))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Basic Org file
|
* Basic Org file
|
||||||
|
:PROPERTIES:
|
||||||
|
:EXPORT_FILE_NAME: basic_config
|
||||||
|
:END:
|
||||||
The basic structure of an org file containing your CV is shown next.
|
The basic structure of an org file containing your CV is shown next.
|
||||||
** Personal contact information
|
** Personal contact information
|
||||||
=TITLE= and =AUTHOR= are standard org options. But on =TITLE= you put your
|
=TITLE= and =AUTHOR= are standard org options. But on =TITLE= you put your
|
||||||
|
@ -50,7 +51,7 @@ foreseen job.
|
||||||
| LINKEDIN | Linkedin username |
|
| LINKEDIN | Linkedin username |
|
||||||
| PHOTO | path to photo file |
|
| PHOTO | path to photo file |
|
||||||
|
|
||||||
#+BEGIN_SRC org :tangle basic_cv.org
|
#+BEGIN_SRC org :tangle doc/basic_cv.org
|
||||||
,#+TITLE: My dream job
|
,#+TITLE: My dream job
|
||||||
,#+AUTHOR: John Doe
|
,#+AUTHOR: John Doe
|
||||||
|
|
||||||
|
@ -69,7 +70,7 @@ specific subtree an item describing an experience point (Job you have,
|
||||||
degree you pursued, etc.) you use the org properties drawer and with the
|
degree you pursued, etc.) you use the org properties drawer and with the
|
||||||
=:CV_ENV: cventry= property. You should also include the =FROM= and =TO=
|
=:CV_ENV: cventry= property. You should also include the =FROM= and =TO=
|
||||||
properties defining the span of the event, as =LOCATION= and =EMPLOYER=.
|
properties defining the span of the event, as =LOCATION= and =EMPLOYER=.
|
||||||
#+BEGIN_SRC org :tangle workcontent.org
|
#+BEGIN_SRC org :tangle doc/workcontent.org
|
||||||
,* Employement
|
,* Employement
|
||||||
,** One job
|
,** One job
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
@ -98,6 +99,10 @@ I write about awesome stuff I do.
|
||||||
- I eat a lot
|
- I eat a lot
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
* Latex Exporter
|
* Latex Exporter
|
||||||
|
:PROPERTIES:
|
||||||
|
:EXPORT_FILE_NAME: latex_export
|
||||||
|
:END:
|
||||||
|
|
||||||
** Using modern-cv
|
** Using modern-cv
|
||||||
[[https://www.ctan.org/tex-archive/macros/latex/contrib/moderncv][moderncv]] is a standard \(\LaTeX\) package that you can find in many of your
|
[[https://www.ctan.org/tex-archive/macros/latex/contrib/moderncv][moderncv]] is a standard \(\LaTeX\) package that you can find in many of your
|
||||||
latex distributions. For I maintain for personal purposes a fork of it to
|
latex distributions. For I maintain for personal purposes a fork of it to
|
||||||
|
@ -106,7 +111,7 @@ Feel free to use any or even your personal fork for your desired use case.
|
||||||
|
|
||||||
To configure the export for moderncv you need the addition options in your
|
To configure the export for moderncv you need the addition options in your
|
||||||
org file.
|
org file.
|
||||||
#+BEGIN_SRC org :tangle moderncv.org
|
#+BEGIN_SRC org :tangle doc/moderncv.org
|
||||||
# CV theme - options include: 'casual' (default), 'classic', 'oldstyle' and 'banking'
|
# CV theme - options include: 'casual' (default), 'classic', 'oldstyle' and 'banking'
|
||||||
,#+CVSTYLE: banking
|
,#+CVSTYLE: banking
|
||||||
# CV color - options include: 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'
|
# CV color - options include: 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'
|
||||||
|
@ -114,7 +119,7 @@ org file.
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
# Next block is to generate exports
|
# Next block is to generate exports
|
||||||
#+BEGIN_SRC org :exports none :tangle moderncv.org
|
#+BEGIN_SRC org :exports none :tangle doc/moderncv.org
|
||||||
#+include: basic_cv.org
|
#+include: basic_cv.org
|
||||||
#+include: sideactivities.org
|
#+include: sideactivities.org
|
||||||
#+include: workcontent.org
|
#+include: workcontent.org
|
||||||
|
@ -123,13 +128,6 @@ When exporting you can call the following function to get the latex file.
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
(org-export-to-file 'moderncv "moderncv.tex")
|
(org-export-to-file 'moderncv "moderncv.tex")
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
or you can have a hook to do the export when you save a file.
|
|
||||||
#+BEGIN_SRC org
|
|
||||||
# Local Variables:
|
|
||||||
# eval: (add-hook 'after-save-hook #'org-hugo-export-wim-to-md-after-save :append :local)
|
|
||||||
# End:
|
|
||||||
#+END_SRC
|
|
||||||
** Using alta-cv
|
** Using alta-cv
|
||||||
[[https://github.com/liantze/AltaCV][AltaCV]] is another project to generate a CV, you will need to install it
|
[[https://github.com/liantze/AltaCV][AltaCV]] is another project to generate a CV, you will need to install it
|
||||||
yourself. I maintain a fork too at https://github.com/Titan-C/AltaCV.git
|
yourself. I maintain a fork too at https://github.com/Titan-C/AltaCV.git
|
||||||
|
@ -139,19 +137,19 @@ sections branch.
|
||||||
The style of this CV is more involved and you need some configuration in
|
The style of this CV is more involved and you need some configuration in
|
||||||
your org file to get it to work. First define the margins, the large margin
|
your org file to get it to work. First define the margins, the large margin
|
||||||
to the right is to allow for a second column.
|
to the right is to allow for a second column.
|
||||||
#+BEGIN_SRC org :tangle altacv.org
|
#+BEGIN_SRC org :tangle doc/altacv.org
|
||||||
,#+LATEX_HEADER: \geometry{left=1cm,right=9cm,marginparwidth=6.8cm,marginparsep=1.2cm,top=1.25cm,bottom=1.25cm}
|
,#+LATEX_HEADER: \geometry{left=1cm,right=9cm,marginparwidth=6.8cm,marginparsep=1.2cm,top=1.25cm,bottom=1.25cm}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
# Next block is to generate exports
|
# Next block is to generate exports
|
||||||
#+BEGIN_SRC org :exports none :tangle altacv.org
|
#+BEGIN_SRC org :exports none :tangle doc/altacv.org
|
||||||
#+include: basic_cv.org
|
#+include: basic_cv.org
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
Content on the right column has the same structure of a org file, but you
|
Content on the right column has the same structure of a org file, but you
|
||||||
need to enclose it in the =\marginpar{}= command as shown next.
|
need to enclose it in the =\marginpar{}= command as shown next.
|
||||||
#+BEGIN_SRC org :tangle altacv.org
|
#+BEGIN_SRC org :tangle doc/altacv.org
|
||||||
,#+latex: \marginpar{
|
,#+latex: \marginpar{
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
#+BEGIN_SRC org :tangle sideactivities.org
|
#+BEGIN_SRC org :tangle doc/sideactivities.org
|
||||||
,* Main Interests
|
,* Main Interests
|
||||||
- Free/Libre and Open Source Software (FLOSS)
|
- Free/Libre and Open Source Software (FLOSS)
|
||||||
- Free food
|
- Free food
|
||||||
|
@ -173,14 +171,14 @@ need to enclose it in the =\marginpar{}= command as shown next.
|
||||||
- *French* Intermediate
|
- *French* Intermediate
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
# Next block is to generate exports
|
# Next block is to generate exports
|
||||||
#+BEGIN_SRC org :exports none :tangle altacv.org
|
#+BEGIN_SRC org :exports none :tangle doc/altacv.org
|
||||||
#+include: sideactivities.org
|
#+include: sideactivities.org
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
#+BEGIN_SRC org :tangle altacv.org
|
#+BEGIN_SRC org :tangle doc/altacv.org
|
||||||
,#+latex: }
|
,#+latex: }
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
# Next block is to generate exports
|
# Next block is to generate exports
|
||||||
#+BEGIN_SRC org :exports none :tangle altacv.org
|
#+BEGIN_SRC org :exports none :tangle doc/altacv.org
|
||||||
#+include: workcontent.org
|
#+include: workcontent.org
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
@ -225,3 +223,7 @@ getting down the subtrees and getting to the latex output.
|
||||||
This looks like a fancy way to avoid repetition. Have a look too trying to
|
This looks like a fancy way to avoid repetition. Have a look too trying to
|
||||||
imitate that behavior for the other personal tags of social media,url,phones.
|
imitate that behavior for the other personal tags of social media,url,phones.
|
||||||
* DONE Markdown exporter for integration with hugo blog
|
* DONE Markdown exporter for integration with hugo blog
|
||||||
|
* Local Variables :ARCHIVE:
|
||||||
|
# Local Variables:
|
||||||
|
# eval: (add-hook 'after-save-hook #'org-hugo-export-wim-to-md-after-save :append :local)
|
||||||
|
# End:
|
||||||
|
|
Loading…
Reference in a new issue