https://github.com/avivyaish/markdownishcv

A simple CV using Markdown, HTML and CSS

https://github.com/avivyaish/markdownishcv

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.3%) to scientific vocabulary

Keywords

curriculum-vitae cv resume resume-builder resume-generator resume-maker resume-template
Last synced: 6 months ago · JSON representation

Repository

A simple CV using Markdown, HTML and CSS

Basic Info
  • Host: GitHub
  • Owner: AvivYaish
  • License: mit
  • Default Branch: main
  • Homepage:
  • Size: 50.8 KB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
curriculum-vitae cv resume resume-builder resume-generator resume-maker resume-template
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

MarkdownishCV

  • Easily tailor your CV by adding/removing sections by wrapping them with HTML tags with uniquely named classes (using Beautiful Soup)
  • Create PDF versions of your CV (using pandoc and weasyprint)
  • Insert page breaks into PDF output using <div class="page-break"></div>
  • CV also looks nice when used as a webpage
  • Sample files:
    • cv.pdf: PDF version of the sample
    • code.py: cleans up code and creates PDF output
    • style.css: provides styling for PDF outputs when using weasyprint, defines the page break tag
    • main.md: sample input file
    • clean.md: cleaned sample

cv.pdf

image

code.py

```python import re import subprocess from pathlib import Path from bs4 import BeautifulSoup, Comment

Wrap double space in
, otherwise they will be removed

soup = BeautifulSoup(Path('./main.md').read_text().replace(' ', "

  
"))

Remove HTML comments enclosed in <!-- -->

for comment in soup.find_all(string=lambda text:isinstance(text, Comment)): comment.extract()

Remove certain sections if you want to, according to their class

for attr in [ # 'paragraph', # 'education', # 'papers', 'skills', ]: for item in soup.find_all(attrs={'class': attr}): item.extract()

Remove unnecessary HTML code

output = str(soup) for attr in ['', '', '', '', '', '', '

', '
']: output = output.replace(attr, '')

Create a clean output .md file

cleanfile = Path('./clean.md') cleanfile.write_text(output, encoding=None, errors=None)

Convert the .md to .pdf

print(subprocess.Popen(f'pandoc {clean_file} --css style.css --pdf-engine=weasyprint --metadata title="" --from markdown+startnum -o cv.pdf', cwd=Path('.').absolute(), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.read()) ```

style.css

```css @media print { @page { size: A4 portrait;

    @bottom-center {
        content: counter(page) " of " counter(pages);
    }
}

}

html { font-size: 8pt; font-family: 'Palatino'; }

body { margin: 0; padding: 0; }

a { text-decoration: none; color: rgb(44, 44, 128); }

h1 { margin-top: 0; margin-bottom: 0; }

h2 { font-size: 10pt; margin-top: -2pt; border-bottom: 0.75pt solid; border-bottom-color: black; }

h4 { margin-top: 4pt; margin-bottom: -5pt; }

ul, ol { padding-left: 1rem; }

.page-break { page-break-after: always; } ```

main.md

```markdown

Your Name

✉ your@email.com | 𝕏 your_x_twitter | 👤 yourdomain.com

## Paragraph Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Education

  • 2024 - 2024 Degree 1. Institute. Host: Your Host
    Some description.
    More text. <!-- Comment for yourself -->
  • 2023 - 2024 Degree 2. Institute. Host: Your Host
    🏆 Award
  • 2023 - 2023 Degree 3. Institute. Host: Your Host
    • Sub-list.
    • Another item.

Papers

  1. CONF'24 Paper 1
    Authors: Your Name, Friend's Name
    In: Proceedings
    🏆 Award 1
    🏆 Award 2
  2. CONF'24 Paper 2
    Authors: Your Name, Friend's Name
    In: Proceedings

Skills

  • Skill 1
    • Sub-skill 1
    • Sub-skill 2
  • Skill 2
  • Skill 3

```

clean.md

```markdown

Your Name

✉ your@email.com | 𝕏 yourxtwitter | 👤 yourdomain.com

Paragraph

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Education

  • 2024 - 2024 Degree 1. Institute. Host: Your Host
    Some description.
    More text.
  • 2023 - 2024 Degree 2. Institute. Host: Your Host
    🏆 Award
  • 2023 - 2023 Degree 3. Institute. Host: Your Host
    • Sub-list.
    • Another item.

Papers

  1. CONF'24 Paper 1
    Authors: Your Name, Friend's Name
    In: Proceedings
    🏆 Award 1
    🏆 Award 2
  2. CONF'24 Paper 2
    Authors: Your Name, Friend's Name
    In: Proceedings

Skills

  • Skill 1
    • Sub-skill 1
    • Sub-skill 2
  • Skill 2
  • Skill 3

```

Owner

  • Name: Aviv Yaish
  • Login: AvivYaish
  • Kind: user
  • Company: The Hebrew University

Computer science PhD candidate, with an interest in cryptocurrencies, distributed ledgers, game theory and artificial intelligence.

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2