Ansible role for resume viewing.
As an example, click the link below for my resume.
None.
Variable specifications are listed below (see also default/main.yml
):
resume_view_resume
- description: The structured resume data to be viewed
- aliases:
resume
- required:
true
- type:
dict
- defaults:
{
'contact': {
'first_name': '<first_name>',
'middle_name': '<middle_name>',
'last_name': '<last_name>',
'phone': '<phone>',
'email': '<email>',
'linkedin': '<linkedin>',
'github': '<github>'
},
'summary': '<This is an example summary sentence. This is an example summary sentence. This is an example summary sentence. This is an example summary sentence.>',
'experience': [
{
'title': '<title>',
'company': '<company>',
'location': '<location>',
'start_date': '<start_date>',
'end_date': '<end_date>',
'description':
[
'This is an example description sentence.',
'This is an example description sentence. This is an example description sentence. This is an example description sentence.',
'This is an example description sentence. This is an example description sentence.'
]
},
{
'title': '<title>',
'company': '<company>',
'location': '<location>',
'start_date': '<start_date>',
'end_date': '<end_date>',
'description':
[
'This is an example description sentence.',
'This is an example description sentence. This is an example description sentence. This is an example description sentence.',
'This is an example description sentence. This is an example description sentence.'
]
},
{
'title': '<title>',
'company': '<company>',
'location': '<location>',
'start_date': '<start_date>',
'end_date': '<end_date>',
'description':
[
'This is an example description sentence.',
'This is an example description sentence. This is an example description sentence. This is an example description sentence.',
'This is an example description sentence. This is an example description sentence.'
]
}
]
}
resume_viewer_title_header_template
- description: The template used when rendering the title header.
- aliases: None.
- required:
false
- type:
str
- defaults:
{{ [ resume_viewer_resume.contact.first_name,
resume_viewer_resume.contact.middle_name,
resume_viewer_resume.contact.last_name] |
select('string') |
join(' ') }}
resume_viewer_title_body_template
- description: The template used when rendering the title body.
- aliases: None.
- required:
false
- type:
str
- defaults:
"{{ omit }}"
resume_viewer_summary_header_template
- description: The template used when rendering the summary header.
- aliases: None.
- required:
false
- type:
str
- defaults:
Summary
resume_viewer_summary_body_template
- description: The template used when rendering the summary body.
- aliases: None.
- required:
false
- type:
str
- defaults:
{{ resume_viewer_resume.summary | wordwrap(60) | indent(4, first=True) }}
resume_viewer_experience_header_template
- description: The template used when rendering the experience header.
- aliases: None.
- required:
false
- type:
str
- defaults:
Experience
resume_viewer_experience_body_template
- description: The template used when rendering the experience body.
Note
: The experience list is iterated through. This template is rendered for each item. Reference the item using the valuejob
. - aliases: None.
- required:
false
- type:
str
- defaults:
- description: The template used when rendering the experience body.
{{ (job.title+' @ '+job.company) | indent(4, first=True) }}
{{ (job.start_date+' - '+ job.end_date) | indent(4, first=True) }}
{{ job.location | indent(4, first=True) }}
{{ '------------------------------------------------------------------------' | indent(4, first=True) }}
{% for item in job.description %}
- {{ item | wordwrap(60) | indent(6) }}
{% endfor %}
resume_viewer_contact_header_template
- description: The template used when rendering the contact header.
- aliases: None.
- required:
false
- type:
str
- defaults:
Contact Information
resume_viewer_contact_body_template
- description: The template used when rendering the contact body.
- aliases: None.
- required:
false
- type:
str
- defaults:
{% for key, value in resume_viewer_resume.contact.items() %}
{% if key in ['mobile', 'email', 'linkedin', 'github'] %}
{{ "- %-10s: %s" | format((key | capitalize), value) | wordwrap(60) | indent(4, first=True) }}
{% endif %}
{% endfor %}
None.
- hosts: localhost
gather_facts: false
roles:
- theque5t.resume_viewer
Output:
PLAY [localhost] ***************************************************************
TASK [theque5t.resume_viewer : <first_name> <middle_name> <last_name>] *********
[theque5t.resume_viewer : <first_name> <middle_name> <last_name>]
Press enter to continue, Ctrl+C to interrupt:
ok: [localhost]
TASK [theque5t.resume_viewer : Summary] ****************************************
[theque5t.resume_viewer : Summary]
<This is an example summary sentence. This is an example
summary sentence. This is an example summary sentence. This
is an example summary sentence.>
:
ok: [localhost]
TASK [theque5t.resume_viewer : Experience] *************************************
[theque5t.resume_viewer : Experience]
<title> @ <company>
<start_date> - <end_date>
<location>
------------------------------------------------------------------------
- This is an example description sentence.
- This is an example description sentence. This is an example
description sentence. This is an example description
sentence.
- This is an example description sentence. This is an example
description sentence.
:
^Mok: [localhost] => (item=)
[theque5t.resume_viewer : Experience]
<title> @ <company>
<start_date> - <end_date>
<location>
------------------------------------------------------------------------
- This is an example description sentence.
- This is an example description sentence. This is an example
description sentence. This is an example description
sentence.
- This is an example description sentence. This is an example
description sentence.
:
^Mok: [localhost] => (item=)
[theque5t.resume_viewer : Experience]
<title> @ <company>
<start_date> - <end_date>
<location>
------------------------------------------------------------------------
- This is an example description sentence.
- This is an example description sentence. This is an example
description sentence. This is an example description
sentence.
- This is an example description sentence. This is an example
description sentence.
:
ok: [localhost] => (item=)
TASK [theque5t.resume_viewer : Contact Information] ****************************
[theque5t.resume_viewer : Contact Information]
- Linkedin : <linkedin>
- Github : <github>
- Email : <email>
:
ok: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
MIT
This role was created in 2020 by Trevor Highfill(@theque5t).