2018-04-05 01:07:59 +00:00
#+TITLE : Org exporter for curriculum vitae
2018-03-22 16:37:00 +00:00
#+AUTHOR : Óscar Nájera
#+EMAIL : hello@oscarnajera.com
2018-04-18 22:44:54 +00:00
#+HUGO_BASE_DIR : doc
#+HUGO_SECTION : post
#+HUGO_WEIGHT : auto
2018-03-22 16:37:00 +00:00
2018-05-01 18:44:16 +00:00
* Goal: Export backend for CV
:PROPERTIES:
:EXPORT_FILE_NAME: goal
:END:
2020-06-01 22:10:44 +00:00
This project exports an org-mode file with reasonably structured items into
a latex file, which compiles into a nice CV. In the same spirit the
org-mode file may export to markdown so that it can be used for a web based
CV.
2018-05-02 00:24:44 +00:00
- Online documentation in [[https://titan-c.gitlab.io/org-cv/ ]]
2018-05-06 19:48:42 +00:00
- Development happens in the gitlab repository: https://gitlab.com/Titan-C/org-cv
- There is a mirror in github for backup: https://github.com/Titan-C/org-cv
2018-05-02 00:24:44 +00:00
2020-06-01 22:10:44 +00:00
This project dog feeds itself and produces the examples on this
documentation page directly.
2018-04-18 17:22:01 +00:00
* Installation
2018-04-18 22:44:54 +00:00
:PROPERTIES:
:EXPORT_FILE_NAME: installation
:END:
2018-04-18 21:02:48 +00:00
This project is not on MELPA so you have to do a manual installation. First
clone this git repository.
#+BEGIN_SRC bash
git clone https://gitlab.com/Titan-C/org-cv.git
#+END_SRC
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
2018-04-18 22:44:54 +00:00
use =use-package= to manage the installation for example of =ox-moderncv= .
2018-04-18 21:02:48 +00:00
#+BEGIN_SRC emacs-lisp
(use-package ox-moderncv
2018-04-18 22:44:54 +00:00
:load-path "path_to_repository/org-cv/ "
2018-04-18 21:02:48 +00:00
:init (require 'ox-moderncv))
#+END_SRC
2018-04-18 17:22:01 +00:00
* Basic Org file
2018-04-18 22:44:54 +00:00
:PROPERTIES:
:EXPORT_FILE_NAME: basic_config
:END:
2018-04-18 21:02:48 +00:00
The basic structure of an org file containing your CV is shown next.
2018-04-18 21:24:09 +00:00
** Personal contact information
2018-05-01 20:32:05 +00:00
=TITLE= , =AUTHOR= and =EMAIL= are standard org options. But on =TITLE= you
put your foreseen job.
2018-04-18 21:24:09 +00:00
2018-05-01 21:02:29 +00:00
#+attr_html : :class table table-striped
2018-04-18 21:24:09 +00:00
| Field | Description |
|----------+----------------------------------------------------|
| TITLE | Desired job |
2020-06-01 22:10:44 +00:00
| AUTHOR | Who are you? |
2018-05-01 20:32:05 +00:00
| EMAIL | Your contact email |
2018-04-18 21:24:09 +00:00
| 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 |
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle basic_cv.org
2018-04-18 17:22:01 +00:00
,#+TITLE: My dream job
,#+AUTHOR: John Doe
2018-05-01 16:36:58 +00:00
,#+email: john@doe.lost
2023-10-21 23:21:23 +00:00
,#+options: tags:nil
2018-04-18 17:22:01 +00:00
,#+ADDRESS: My Awesome crib
,#+ADDRESS: Fantastic city -- Planet Earth
,#+MOBILE: (+9) 87654321
,#+HOMEPAGE: example.com
,#+GITHUB: Titan-C
,#+GITLAB: Titan-C
2018-04-18 21:24:09 +00:00
,#+LINKEDIN: oscar-najera
2018-04-19 01:07:52 +00:00
,#+PHOTO: smile.png
2018-04-18 21:24:09 +00:00
#+END_SRC
2018-04-18 21:02:48 +00:00
2018-04-18 21:24:09 +00:00
You can use org-modes hierarchical structure to describe your CV. To make a
2023-10-21 20:14:27 +00:00
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 entry, as well as =LOCATION= and =EMPLOYER= .
Because work isn't everything we do, it is more meaningful to label differently
the host of those other events like studies, events, certifications, etc. Thus
=HOST= , =ORGANIZATION= , =INSTITUTION= , =SCHOOL= , =EMPLOYER= or =EVENT= are all
equivalent and the first match in that order has precedence.
=DATE= is a shortcut for =FROM= and =TO= when you have a single date in mind
instead of a range. Both =FROM= and =TO= override =DATE= .
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle workcontent.org
2023-10-21 23:21:23 +00:00
,* Employement :cventries:
,** One job :cventry:
2018-04-18 17:22:01 +00:00
:PROPERTIES:
:CV_ENV: cventry
:FROM: <2014-09-01 >
:TO: <2017-12-07 >
:LOCATION: a city, a country
:EMPLOYER: The employer
:END:
2018-04-18 21:24:09 +00:00
2018-04-18 21:35:46 +00:00
I write about awesome stuff I do.
2023-10-21 23:21:23 +00:00
,** Other job :cventry:
2018-04-18 21:35:46 +00:00
:PROPERTIES:
:CV_ENV: cventry
:FROM: <2013-09-01 >
:TO: <2014-08-07 >
:LOCATION: my city, your country
:EMPLOYER: The other employer
:END:
2018-04-18 17:22:01 +00:00
I write about awesome stuff I do.
2018-04-18 21:07:19 +00:00
2018-04-18 17:22:01 +00:00
,* Other stuff I do
- I work a lot
- I sleep a lot
- I eat a lot
#+END_SRC
* Latex Exporter
2018-04-18 22:44:54 +00:00
:PROPERTIES:
:EXPORT_FILE_NAME: latex_export
:END:
2018-04-18 17:22:01 +00:00
** Using modern-cv
2018-04-18 21:02:48 +00:00
[[https://www.ctan.org/tex-archive/macros/latex/contrib/moderncv ][moderncv ]] is a standard \(\LaTeX\) package that you can find in many of your
2020-06-01 22:10:44 +00:00
latex distributions. I maintain a fork of it, to 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.
2018-04-18 21:02:48 +00:00
2023-10-21 20:14:27 +00:00
To configure the export for moderncv you need the additional options in your
2018-04-18 21:02:48 +00:00
org file.
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle moderncv.org
2018-04-18 21:02:48 +00:00
# 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
#+END_SRC
2018-04-18 21:35:46 +00:00
# Next block is to generate exports
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :exports none :tangle moderncv.org
2018-04-18 21:35:46 +00:00
#+include : basic_cv.org
#+include : sideactivities.org
#+include : workcontent.org
#+END_SRC
2018-04-18 21:02:48 +00:00
When exporting you can call the following function to get the latex file.
2018-04-18 21:07:19 +00:00
#+BEGIN_SRC emacs-lisp
2018-04-18 21:02:48 +00:00
(org-export-to-file 'moderncv "moderncv.tex")
2018-05-01 18:44:16 +00:00
(org-latex-compile "moderncv.tex")
2018-04-18 21:02:48 +00:00
#+END_SRC
2018-05-01 18:44:16 +00:00
#+BEGIN_EXPORT md
2018-05-01 23:32:50 +00:00
<object data="moderncv.org.pdf" type="application/pdf" width="100%" height="500px" >
<p >Alternative text - include a link <a href="moderncv.org.pdf" >to the PDF!</a ></p >
2018-05-01 18:44:16 +00:00
</object >
#+END_EXPORT
2018-04-18 17:22:01 +00:00
** Using alta-cv
2018-04-18 21:02:48 +00:00
[[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
2018-04-25 13:10:34 +00:00
because I need extra features and I encourage to use this fork on the
=sections= branch.
2018-04-18 21:02:48 +00:00
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.
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle altacv.org
2018-05-01 20:32:05 +00:00
,#+LATEX_HEADER: \geometry{left=1cm,right=9cm,marginparwidth=6.8cm,marginparsep=1.2cm,top=1.25cm,bottom=1.25cm}
2018-04-18 21:02:48 +00:00
#+END_SRC
2018-04-18 21:35:46 +00:00
# Next block is to generate exports
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :exports none :tangle altacv.org
2018-04-18 21:35:46 +00:00
#+include : basic_cv.org
#+END_SRC
2018-04-18 21:02:48 +00:00
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.
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle altacv.org
2018-04-18 21:07:19 +00:00
,#+latex: \marginpar{
2018-04-18 21:35:46 +00:00
#+END_SRC
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle sideactivities.org
2018-04-18 21:07:19 +00:00
,* Main Interests
2018-04-18 21:02:48 +00:00
- Free/Libre and Open Source Software (FLOSS)
- Free food
- Free beer
2018-03-22 16:37:00 +00:00
2018-05-01 18:44:16 +00:00
,* Programming
2018-04-18 21:02:48 +00:00
- Python
- C/C++
- EmacsLisp
- Bash
- JavaScript
- PHP
2018-04-18 21:07:19 +00:00
,* Languages
2018-04-18 21:02:48 +00:00
- *English* Fluent
- *German* Fluent
- *Spanish* Native
- *French* Intermediate
2018-04-18 21:35:46 +00:00
#+END_SRC
# Next block is to generate exports
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :exports none :tangle altacv.org
2018-04-18 21:35:46 +00:00
#+include : sideactivities.org
#+END_SRC
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :tangle altacv.org
2018-04-18 21:07:19 +00:00
,#+latex: }
2018-04-18 21:02:48 +00:00
#+END_SRC
2018-04-18 21:35:46 +00:00
# Next block is to generate exports
2018-04-19 01:07:52 +00:00
#+BEGIN_SRC org :exports none :tangle altacv.org
2018-04-18 21:35:46 +00:00
#+include : workcontent.org
#+END_SRC
2018-04-18 21:07:19 +00:00
2018-04-25 13:10:34 +00:00
When exporting you can call the following function to get the latex file.
#+BEGIN_SRC emacs-lisp
2018-05-01 18:44:16 +00:00
(org-export-to-file 'altacv "altacv.tex")
(org-latex-compile "altacv.tex")
2018-04-25 13:10:34 +00:00
#+END_SRC
2018-05-01 18:44:16 +00:00
#+BEGIN_EXPORT md
2018-05-01 23:32:50 +00:00
<object data="altacv.org.pdf" type="application/pdf" width="100%" height="500px" >
<p >Alternative text - include a link <a href="altacv.org.pdf" >to the PDF!</a ></p >
2018-05-01 18:44:16 +00:00
</object >
#+END_EXPORT
2019-12-07 19:46:35 +00:00
** Using AwesomeCV
[[https://github.com/posquit0/Awesome-CV ][AwesomeCV ]] is another LaTeX template for producing nice-looking
2021-07-07 08:31:49 +00:00
CVs and cover letters. This style also supports some additional options. For example:
#+BEGIN_SRC org :tangle awesomecv.org
# CV color - options include: 'awesome-red (default), 'awesome-emerald,
# 'awesome-skyblue', 'awesome-pink', 'awesome-orange', 'awesome-nephritis',
# 'awesome-concrete' and 'awesome-darknight', plus any standard color names.
,#+CVCOLOR: awesome-red
# Specify the position and style of the photo
,#+PHOTOSTYLE: right,noedge
#+END_SRC
# Next block is to generate exports
#+BEGIN_SRC org :exports none :tangle awesomecv.org
#+include : basic_cv.org
#+include : sideactivities.org
#+include : workcontent.org
#+END_SRC
When exporting you can call the following function to get the latex file.
#+BEGIN_SRC emacs-lisp
(org-export-to-file 'awesomecv "awesomecv.tex")
(org-latex-compile "awesomecv.tex")
#+END_SRC
Note that AwesomeCV uses the =fontspec= package, so you need to set =org-latex-compiler= to =lualatex= or =xelatex= for it to work.
In addition to the regular document attributes, the following are supported:
2019-12-07 20:29:22 +00:00
#+attr_html : :class table table-striped
2021-03-20 08:43:22 +00:00
| Field | Description |
|-----------------+-------------------------------------------------------------|
| PHOTOSTYLE | Style of photo to use. Comma-separated values can include |
| | circle/rectangle,edge/noedge,left/right. |
| CVCOLOR | Color of highlights. |
2023-10-21 20:14:27 +00:00
| STACKOVERFLOW | Stack overflow info, must be specified as "=ID username=" |
2021-03-20 08:43:22 +00:00
| FONTDIR | Directory where the fonts can be found, defaults |
2023-10-21 20:14:27 +00:00
| | to =fonts/= (as in the standard AwesomeCV) |
2021-03-20 08:43:22 +00:00
| CVHIGHLIGHTS | Whether to colorize highlights. Defaults to true |
| QUOTE | Optional quote to include at the top of the CV |
| FIRSTNAME | First name to be shown in the CV. By default the first |
| | space-separated part of AUTHOR is used. |
| LASTNAME | Last name to be shown in the CV. By default the second |
| | space-separated part of AUTHOR is used. |
| CVFOOTER_LEFT | Text to include in the left footer. None by default |
| CVFOOTER_MIDDLE | Text to include in the middle footer. None by default. |
| CVFOOTER_RIGHT | Text to include in the right footer. None by default. |
| LATEX_TITLE | Text to use as the title section. \makecvheader by default. |
2021-07-07 08:31:49 +00:00
| | (Can specify \makecvheader[R] to justify to the right) |
*** CV environments
2019-12-07 20:29:22 +00:00
2021-07-07 08:31:49 +00:00
AwesomeCV supports a few additional types of environment types in =CV_ENV= ,
including =cvemployer= , =cvskills= , =cvhonors= and =cvschool= (see full list below).
Some of these support additional property fields:
2019-12-07 19:46:35 +00:00
#+attr_html : :class table table-striped
2023-10-21 20:14:27 +00:00
| Field | Description |
|-----------+----------------------------------------------------------------------|
| FROM | Start date of the entry |
| TO | End date of the entry |
2019-12-07 19:46:35 +00:00
| DATE | Shortcut to specify both =FROM= and =TO= as the same date. |
2023-10-21 20:14:27 +00:00
| | Both =FROM= and =TO= override =DATE=. |
| EMPLOYER | Employer or organization, can also be specified |
| | as =ORGANIZATION=, =SCHOOL=, =EVENT= or =POSITION= (different |
| | names make more sense depending on the type of environment) |
| LABEL | In =cvsubentry= environments, adds the given text to the left |
| | of the date range, can be used to add additional information |
| | to the entry. |
| RIGHT_IMG | path to an image to include floating to the right of a =cventry=, |
2019-12-07 19:46:35 +00:00
| | a =cvsubentry= or =cvschool= entry. Meant to be used to show a logo. |
2023-10-21 20:14:27 +00:00
| PAGEBREAK | Causes a LaTeX =\clearpage= statement to be inserted in the |
| | exported output before the heading. |
2019-12-07 19:46:35 +00:00
2021-07-07 08:31:49 +00:00
All the supported values of =CV_ENV= for CVs are described below.
2019-12-07 19:46:35 +00:00
2021-07-07 08:31:49 +00:00
**** =cventries=
2019-12-07 19:46:35 +00:00
Enclose all the subheaders in a =cventries= environment. Subheaders can
be of type =cventry= , =cvschool= , or =cvemployer= .
2021-07-07 08:31:49 +00:00
**** =cvhonors=
2019-12-07 19:46:35 +00:00
Enclose all the subheaders in a =cvhonors= environment. Subheaders must
be of type =cvhonor=
2021-07-07 08:31:49 +00:00
**** =cventry=
2019-12-07 19:46:35 +00:00
Converts to a =\cventry= command. Supports attributes =FROM= , =TO= , =DATE= ,
=EMPLOYER= , =LOCATION= , =RIGHT_IMG= .
2021-07-07 08:31:49 +00:00
**** =cvsubentry=
2019-12-07 19:46:35 +00:00
Converts to a =\cvsubentry= command. Supports attributes =FROM= , =TO= , =DATE= ,
=LABEL= =RIGHT_IMG= .
2021-07-07 08:31:49 +00:00
**** =cvemployer=
2019-12-07 19:46:35 +00:00
Converts to a =\cventry= with only the title line. Supports attributes
=FROM= , =TO= , =DATE= and =LOCATION= .
2021-07-07 08:31:49 +00:00
**** =cvschool=
2019-12-07 19:46:35 +00:00
Converts to a =\cventry= . The headline should contain the degree
obtained, shown as the main title. Supports attributes =LOCATION= ,
=SCHOOL= , =FROM= , =TO= , =DATE= and =RIGHT_IMG= .
2021-07-07 08:31:49 +00:00
**** =cvhonor=
2019-12-07 19:46:35 +00:00
Converts to a =\cvhonor= command (must be inside a =cvhonors=
headline). Supports attributes =LOCATION= , =EMPLOYER= (in this case =EVENT=
or =POSITION= might be more semantically accurate, and can also be
used), =FROM= , =TO= , =DATE= .
2021-07-07 08:31:49 +00:00
**** =cvskills=
2019-12-07 19:46:35 +00:00
Converts to a =\cvskills= environment. The headline must contain a
[[https://orgmode.org/manual/Plain-lists.html ][description list ]], which gets converted into a sequence of =\cvskill=
commands, with the term as the skill title and the description as its
contents.
2021-07-07 08:31:49 +00:00
#+BEGIN_EXPORT md
<object data="awesomecv.org.pdf" type="application/pdf" width="100%" height="500px" >
<p >Alternative text - include a link <a href="awesomecv.org.pdf" >to the PDF!</a ></p >
</object >
#+END_EXPORT
2021-03-20 08:43:22 +00:00
2021-07-07 08:31:49 +00:00
*** Cover letter environments
AwesomeCV also supports generating cover letters. For this, =CV_ENV= can have a few additional values, shown below.
2021-03-20 08:43:22 +00:00
2021-07-07 08:31:49 +00:00
**** =letterheader=
This environment provides heading/signature information for a cover letter. Supports attributes =RECIPIENT= . =EMPLOYER= , =LOCATION= , =LETTER_OPENING= , =LETTER_CLOSING= , =LETTER_ATTACHED= , =DATE= , =DATEFORMAT= .
Note that the text within the heading is not exported! You can use this, for example, to keep notes about your application or the employer. For example:
2021-07-07 20:00:41 +00:00
#+BEGIN_SRC org :exports none :tangle awesome-letter.org
#+include : basic_cv.org
#+END_SRC
2021-07-07 08:31:49 +00:00
#+begin_src org :tangle awesome-letter.org
,* Recipient
:PROPERTIES:
:CV_ENV: letterheader
:RECIPIENT: International Recruiting team
:EMPLOYER: Employer Co.
:LOCATION: Someplace, the world
:LETTER_OPENING: Dear International Recruiting team
:LETTER_CLOSING: Kind regards,
:LETTER_ATTACHED: Curriculum Vitae
:END:
2021-03-20 08:43:22 +00:00
2021-07-07 08:31:49 +00:00
Title and content are not exported.
Add any notes about the recipient here
They will *not* be exported.
#+end_src
2021-03-20 08:43:22 +00:00
2021-07-07 08:31:49 +00:00
#+attr_html : :class table table-striped
| Field | Description |
|-----------------+-----------------------------------------------------------------------------------|
| RECIPIENT | Addressee E.g. Company Recruitment Team |
| EMPLOYER | Company name |
| LOCATION | Company address |
| LETTER_OPENING | Letter opening, E.g. Dear Ms./Mr./Dr. LastName |
| LETTER_CLOSING | Letter closing, E.g. Yours Sincerely, |
| DATE | The date used for the letter, uses \\today as default if unspecified |
| DATEFORMAT | Specify an alternative date format for the letter header |
| | E.g. %e %M %Y might provide 19 March 2021 |
| LETTER_ATTACHED | Attachments to the letter, will be listed at the bottom. E.g. "Curriculum Vitae" |
**** =cvletter=
Converts to a =\cvletter= environment. This holds the content of a cover letter. The body can be subdivided using =lettersection= headings. The heading title is converted to a title line at the top of the letter.
#+begin_src org :tangle awesome-letter.org
,* Application for the position of /Awesome Job/ (job reference #123456)
:PROPERTIES:
:CV_ENV: cvletter
:END:
2021-03-20 08:43:22 +00:00
2021-07-07 08:31:49 +00:00
,** About Me
:PROPERTIES:
:CV_ENV: lettersection
:END:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus.
,** Why Employer Co.?
:PROPERTIES:
:CV_ENV: lettersection
:END:
Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum varius nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus varius blandit.
,** Why me?
:PROPERTIES:
:CV_ENV: lettersection
:END:
Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim varius pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis.
#+end_src
**** =cvletter_notitle=
2021-05-11 22:18:54 +00:00
Same as =cvletter= , but does not include a letter title at the top.
2021-07-07 08:31:49 +00:00
**** =lettersection=
2021-03-20 08:43:22 +00:00
Converts to a =\lettersection= command. These are the headline portions of a cover letter.
2021-07-07 08:31:49 +00:00
#+BEGIN_EXPORT md
<object data="awesome-letter.org.pdf" type="application/pdf" width="100%" height="500px" >
<p >Alternative text - include a link <a href="awesome-letter.org.pdf" >to the PDF!</a ></p >
</object >
#+END_EXPORT
2018-05-06 15:52:37 +00:00
* Markdown Hugo Exporter
:PROPERTIES:
:EXPORT_FILE_NAME: hugo_export
:END:
If your target is not a PDF file but a website, this exporter extends the
[[https://ox-hugo.scripter.co/ ][ox-hugo ]] exporter backend. So be sure to install that too.
To export, there is nothing fancy to keep track of, but as an example I
exclude some tags during export.
#+BEGIN_SRC emacs-lisp
(let ((org-export-exclude-tags '("noexport" "latexonly")))
(org-export-to-file 'hugocv "hugocv.md"))
#+END_SRC
You are responsible for styling your website.
2020-06-01 22:10:44 +00:00
* License
:PROPERTIES:
:EXPORT_FILE_NAME: license
:END:
#+begin_quote
org-cv
Copyright (C) 2018-2020 Óscar Nájera
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
#+end_quote
* Tips
:PROPERTIES:
:EXPORT_FILE_NAME: tips
:END:
If you have found this project useful. Please consider giving back. You can
kindly tip me for this project
- Stellar :: GDPTOFND6HSE5AVHPRXOCJFOA6NPFB65JAEWKTN23EBUGBB2AU4PLIBD
- liberapay :: [[https://liberapay.com/Titan-C/ ][Titan-C ]]
#+BEGIN_EXPORT md
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" >
<input type="hidden" name="cmd" value="_s-xclick" / >
<input type="hidden" name="hosted_button_id" value="Y3VB5VL7PD3QC" / >
<input type="image" src="https://www.paypalobjects.com/en_US/DK/i/btn/btn_donateCC_LG.gif" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" / >
<img alt="" border="0" src="https://www.paypal.com/en_DE/i/scr/pixel.gif" width="1" height="1" / >
</form >
#+END_EXPORT
2018-05-01 18:44:16 +00:00
2018-04-18 22:44:54 +00:00
* Local Variables :ARCHIVE:
# Local Variables:
# eval: (add-hook 'after-save-hook #'org-hugo-export-wim-to-md-after-save :append :local)
# End: