{"version":1,"lectureId":"01M1GCXZVKK274P250TZB6MC10","attempt":0,"publication":{"slug":"structuring-cv-data-in-rendercv-headers-sections-and-entry-types","title":"Structuring CV Data in RenderCV: Headers, Sections, and Entry Types","subject":"computer-science","summary":"RenderCV builds a typeset CV from a single YAML file, and almost everything you decide about content lives under one key. This lecture works through that key field by field: the header, with its optional name, headline, location, emails, phone numbers, websites, photo, social networks and custom connections; the sections dictionary, whose keys are the printed titles and whose values are lists of entries; the one rule that a section holds a single entry type; all nine entry types with their required and optional fields, from education and experience through publications to the one field types; and the Markdown and Typst formatting that every text field accepts, including the extra keys a template can read.","metaDescription":"A field by field tour of RenderCV's cv key: header connections, the sections dictionary, all nine entry types, Markdown and Typst text.","transcript":"RenderCV takes one YAML file and gives you back a typeset PDF. Everything you write about yourself lives under a single top level key, and that key is what this lecture is about: the header at the top, the sections underneath it, and the nine entry types the sections are built from. Here is the start of such a file. The key is called cv, and it holds the whole of your content. Under it, three plain strings. A name, a headline, and a location. None of them is compulsory, and none of them is parsed: they are printed as you typed them. Then one more key, sections, and everything below the header hangs off it. Its keys are the titles you want printed. Here a summary, written as a single line of text, and then an experience section with one job in it. Now put the finished page beside it. The name is set largest, across the top, with the headline and the location under it. Each key under sections becomes a heading with a rule beneath it, and the entries you listed are set below that. The second key gives the second heading, in the order you wrote them. So the file has two halves. The header fields, which are all optional, and the sections, which carry the content. We will take the header first, then the one rule every section has to obey, and then each entry type in turn. The header is everything above the first section heading. Every field in it is optional, so begin with a blank page and add only what you want on it. Under cv, the name comes first. It is the line set largest, across the top. A headline goes under it, one short line for your role. Then a location, printed exactly as you typed it. Next, the ways to reach you: an email address, a phone number, and a website. These are gathered into one row of links beneath your name. Write the phone number in full international form. How it is displayed, national, international, or E164, is decided over in the design half of the file, by this long field name. Add a photo, and RenderCV places the image itself on the page. Emails, phone numbers and websites can each be a list rather than a single value. One address looks like this. Several of them look like this: the key on its own, then a list underneath. They are printed in the order you wrote them. Networks that RenderCV knows about have a field of their own. Social networks takes a list, and each item is a pair: which network, and your username on it. Two pairs here, LinkedIn and GitHub. Each pair becomes one link, carrying that network's own icon, and the address is built for you. For anything else there are custom connections. Give the text you want shown, the address behind it, and the name of a Font Awesome icon. Leave the address out and the item is printed as plain text beside its icon, which is a tidy way to show something that is not a link. The icon names themselves come from the Font Awesome search page. That is the header: nine fields, every one of them optional, and RenderCV lays out whatever you provide. Now the sections underneath it. On the finished page a section is just a title, a rule under it, and the entries beneath. In the file, one section is one key with a list under it. So sections is a dictionary, not a list. Its keys are the titles you want printed, and its values are lists of entries. A title can be any string, and it is printed exactly as written. Nothing about that name tells RenderCV what kind of entries are inside. Which means one section can be written in several ways. Here is the same job, three times over. First as an experience entry, with the company and the position as separate keys. Second, the same job as a normal entry. One name, and the dates. Everything else about it is optional. Third, as bullet entries: one line each, with the emphasis written in Markdown. Same section title, three quite different layouts. So the name of a section never decides its entry type. You pick the type that suits the content, section by section. There is one rule to obey. Here a section starts as an experience entry, and then a school is added underneath it as an education entry. RenderCV will not take it. Mixing two types inside one section is refused, so keep one type per section and open a second section for the other. One dictionary of titled sections, and one entry type inside each. Next, the types themselves. RenderCV gives you nine entry types. They differ in the keys they accept and in how they are laid out on the page. Four of them carry dates and highlights, and this part is about those four: education, experience, publication, and normal. The remaining five are the compact ones, a single line or a single field each, and they come later. Start with the education entry, for a school. It has nine fields, and only two of them are required. Those two are the institution, and the area you studied. Everything else may be left out. The degree is a field of its own, so BS, MSc or PhD sits apart from the subject. Dates come as a pair, a start date and an end date, in year and month form. There is also a plain date field, which takes any string you like and overrides that pair, so you use one or the other, never both. Then a location, and highlights, which is a list of strings. Each string in it becomes one bullet under the entry. The experience entry has exactly the same shape, with two different keys at the front: the company, and the position you held there. Everything after that is the pattern you already know: the two dates, with the word present for a job you still hold, then a location, a summary, and the highlights, one line for each accomplishment you want to list. A publication entry needs a title and a list of authors. Write the authors as they should be printed, and wrap your own name in single asterisks to have it emphasised in the list. The rest is optional. A journal or venue, a DOI, a link, and a date. The identifier and the link are rendered for you as addresses. The normal entry is the general purpose one. It needs a single key, the name, and it is what you reach for when nothing more specific fits. Its optional fields are the familiar set: the dates, a location, a summary and highlights. Projects, awards, certificates and talks all sit happily in one of these. The one line entry has two fields, and both are required: a label, and the details that belong to it. It is what most people use for skills. On the page the label is set in bold, and the details follow it on the same line. One pair, one line. A second pair gives a second line, and a whole skills section is usually four or five of them, stacked. Three of the nine types have exactly one field each. The bullet entry carries a single string, and it is printed as one bullet point. The numbered entry works the same way, except the items are counted for you, upward from one, in the order you wrote them. The reversed numbered entry counts the other way, downward, which is what you want for a publication list where the newest paper comes first. All three take one field and nothing else, so they are the cheapest way to put a plain list on the page. And the last type has no keys whatsoever. You write the string itself, as an item of the list, and that is the entire entry. Each string becomes its own paragraph, which makes this the natural choice for a summary at the top of a CV. That is all nine types. Every text field in the file accepts Markdown, and there are four forms worth knowing. Two asterisks around a phrase make it bold. Square brackets round the words, then round brackets round the address, give you a link. A single asterisk either side is italic, and backticks set a phrase apart as code, which is handy for file names and flags. Because the PDF is typeset with Typst, Typst's own notation is available in those same fields. Surround an expression with double dollar signs and it is set as mathematics. Typst commands work as well. Write a hash, then the command name, then the content in square brackets. The emphasis command, spelled e m p h, gives you italics, exactly like the phrase standing on the right. One last thing about entries. You may add keys of your own to any of them. Here an experience entry carries a revenue figure, which is not part of any schema. By default nothing happens: the extra key is accepted and then ignored, so it is safe to keep notes in the file. It becomes useful when a template asks for it. The templates field in the design half of the file can print any key you have written, wherever you want it on the page. So, four things to take away. Your content lives under the cv key, and every field of the header is optional. Sections are a dictionary, where the keys are the titles that get printed and the values are lists of entries. Each section holds a single entry type, chosen from the nine. And every text field in the whole file takes Markdown and Typst, while any spare key you write sits quietly until a template calls for it. That is the content half of RenderCV, from top to bottom.","watch":{"version":1,"scenes":[{"title":"One File, Two Halves","start":0,"end":89.05575,"objects":{"card":"a Title that says \"RenderCV in Practice — Structuring CV Data in RenderCV: Headers, Sections, and Entry Types\"","heading":"a Heading that says \"One File, Two Halves\"","math":"a Math [text] that says \"$upright(\"cv:\")$\"","math_2":"a Math [text] that says \"$upright(\" name: John Doe\")$\"","math_3":"a Math [text] that says \"$upright(\" headline: Machine Learning Engineer\")$\"","math_4":"a Math [text] that says \"$upright(\" location: San Francisco, CA\")$\"","math_5":"a Math [text] that says \"$upright(\" sections:\")$\"","math_6":"a Math [text] that says \"$upright(\" summary:\")$\"","math_7":"a Math [text] that says \"$upright(\" - Ten years of distributed systems.\")$\"","math_8":"a Math [text] that says \"$upright(\" experience:\")$\"","math_9":"a Math [text] that says \"$upright(\" - company: Acme Corp\")$\"","p_exp_body":"a Line [gray] drawn in page (start=(0.6, 3.5), end=(4.9, 3.5))","p_exp_rule":"a Line [blue] drawn in page (start=(0.6, 4.0), end=(5.4, 4.0))","p_exp_title":"a Math [text] that says \"$upright(\"Experience\")$\" drawn in page","p_headline":"a Math [text] that says \"$upright(\"Machine Learning Engineer\")$\" drawn in page","p_location":"a Math [text] that says \"$upright(\"San Francisco, CA\")$\" drawn in page","p_name":"a Math [text] that says \"$upright(\"John Doe\")$\" drawn in page","p_sum_body":"a Line [gray] drawn in page (start=(0.6, 5.1), end=(4.7, 5.1))","p_sum_rule":"a Line [blue] drawn in page (start=(0.6, 5.6), end=(5.4, 5.6))","p_sum_title":"a Math [text] that says \"$upright(\"Summary\")$\" drawn in page","page":"a Figure (x_range=(0.0, 6.0), y_range=(0.0, 8.4), aspect=(3.0, 4.2))","sheet":"a Polygon [gray] drawn in page (vertices=((0.25, 0.2), (5.75, 0.2), (5.75, 8.2), (0.25, 8.2)), filled=False)"},"beats":[{"start":0,"say":"RenderCV takes one YAML file and gives you back a typeset PDF. Everything you write about yourself lives under a single top level key, and that key is what this lecture is about: the header at the top, the sections underneath it, and the nine entry types the sections are built from.","live":[],"does":[[0,"card is shown on the screen, written out."],[1.8092187560738582,"card: enter:write-left-to-right."],[17.6355,"card is hidden from the screen — left the board."]]},{"start":18.8355,"say":"Here is the start of such a file. The key is called cv, and it holds the whole of your content.","live":null,"does":[[18.8355,"heading is shown on the screen, written out."],[22.179,"math is shown on the screen, written out."]]},{"start":26.006999999999998,"say":"Under it, three plain strings. A name, a headline, and a location. None of them is compulsory, and none of them is parsed: they are printed as you typed them.","live":["math","heading"],"does":[[29.326999999999998,"math_2 is shown on the screen, written out."],[30.046999999999997,"math_3 is shown on the screen, written out."],[30.824999999999996,"math_4 is shown on the screen, written out."]]},{"start":37.985,"say":"Then one more key, sections, and everything below the header hangs off it.","live":["math","math_2","math_3","math_4","heading"],"does":[[39.378,"math_5 is shown on the screen, written out."]]},{"start":43.4145,"say":"Its keys are the titles you want printed. Here a summary, written as a single line of text, and then an experience section with one job in it.","live":["math","math_2","math_3","math_4","math_5","heading"],"does":[[46.909000000000006,"math_6 is shown on the screen, written out."],[48.744,"math_7 is shown on the screen, written out."],[49.917,"math_8 is shown on the screen, written out."],[51.287,"math_9 is shown on the screen, written out."],[52.19199999999999,"math moves to a new place on the board."],[52.19199999999999,"math_2 moves to a new place on the board."],[52.19199999999999,"math_3 moves to a new place on the board."],[52.19199999999999,"math_4 moves to a new place on the board."],[52.19199999999999,"math_5 moves to a new place on the board."],[52.19199999999999,"math_6 moves to a new place on the board."],[52.19199999999999,"math_7 moves to a new place on the board."],[52.19199999999999,"math_8 moves to a new place on the board."],[52.19199999999999,"math_9 moves to a new place on the board."]]},{"start":52.791999999999994,"say":"Now put the finished page beside it. The name is set largest, across the top, with the headline and the location under it.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","math_8","math_9","heading"],"does":[[52.791999999999994,"page is shown on the screen, written out."],[52.791999999999994,"sheet is shown on the screen, written out."],[56.297999999999995,"p_name is shown on the screen, written out."],[58.584999999999994,"p_headline is shown on the screen, written out."],[59.955,"p_location is shown on the screen, written out."]]},{"start":61.333,"say":"Each key under sections becomes a heading with a rule beneath it, and the entries you listed are set below that.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","math_8","math_9","heading","page","sheet","p_name","p_headline","p_location"],"does":[[61.913999999999994,"math_6 is indicated — a transient flash."],[63.423,"p_sum_title is shown on the screen, written out."],[63.992,"p_sum_rule is shown on the screen, written out."],[66.78999999999999,"p_sum_body is shown on the screen, written out."]]},{"start":68.50399999999999,"say":"The second key gives the second heading, in the order you wrote them.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","math_8","math_9","heading","page","sheet","p_name","p_headline","p_location","p_sum_title","p_sum_rule","p_sum_body"],"does":[[69.02699999999999,"math_8 is indicated — a transient flash."],[70.269,"p_exp_title is shown on the screen, written out."],[70.44076702862785,"p_exp_rule is shown on the screen, written out."],[71.63899999999998,"p_exp_body is shown on the screen, written out."]]},{"start":73.70199999999998,"say":"So the file has two halves. The header fields, which are all optional, and the sections, which carry the content. We will take the header first, then the one rule every section has to obey, and then each entry type in turn.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","math_8","math_9","heading","page","sheet","p_name","p_headline","p_location","p_sum_title","p_sum_rule","p_sum_body","p_exp_title","p_exp_rule","p_exp_body"],"does":[[76.90599999999998,"p_name is indicated — a transient flash."],[79.32099999999998,"p_sum_title is indicated — a transient flash."],[88.01408333333332,"heading is hidden from the screen — left the board."],[88.01408333333332,"math is hidden from the screen — left the board."],[88.01408333333332,"math_2 is hidden from the screen — left the board."],[88.01408333333332,"math_3 is hidden from the screen — left the board."],[88.01408333333332,"math_4 is hidden from the screen — left the board."],[88.01408333333332,"math_5 is hidden from the screen — left the board."],[88.01408333333332,"math_6 is hidden from the screen — left the board."],[88.01408333333332,"math_7 is hidden from the screen — left the board."],[88.01408333333332,"math_8 is hidden from the screen — left the board."],[88.01408333333332,"math_9 is hidden from the screen — left the board."],[88.01408333333332,"page is hidden from the screen — left the board."],[88.01408333333332,"sheet is hidden from the screen — page left the board."],[88.01408333333332,"p_name is hidden from the screen — page left the board."],[88.01408333333332,"p_headline is hidden from the screen — page left the board."],[88.01408333333332,"p_location is hidden from the screen — page left the board."],[88.01408333333332,"p_sum_title is hidden from the screen — page left the board."],[88.01408333333332,"p_sum_rule is hidden from the screen — page left the board."],[88.01408333333332,"p_sum_body is hidden from the screen — page left the board."],[88.01408333333332,"p_exp_title is hidden from the screen — page left the board."],[88.01408333333332,"p_exp_rule is hidden from the screen — page left the board."],[88.01408333333332,"p_exp_body is hidden from the screen — page left the board."]]}]},{"title":"The Header","start":89.05575,"end":212.93027083333334,"objects":{"cap_many":"a Tex [text] that says \"Or a list of them\"","cap_one":"a Tex [text] that says \"A single value\"","head_conn":"a Heading that says \"Networks and Custom Links\"","head_fields":"a Heading that says \"The Header Fields\"","head_many":"a Heading that says \"One Value, or a List\"","i_call":"a Polygon [yellow] drawn in row (vertices=((0.6, 0.85), (1.0, 0.85), (1.0, 1.25), (0.6, 1.25)), fill_opacity=0.55)","i_git":"a Polygon [blue] drawn in row (vertices=((0.6, 1.75), (1.0, 1.75), (1.0, 2.15), (0.6, 2.15)), fill_opacity=0.55)","i_linked":"a Polygon [blue] drawn in row (vertices=((0.6, 2.65), (1.0, 2.65), (1.0, 3.05), (0.6, 3.05)), fill_opacity=0.55)","math":"a Math [text] that says \"$upright(\"cv:\")$\"","math_10":"a Math [text] that says \"$upright(\" email:\")$\"","math_11":"a Math [text] that says \"$upright(\" - john@example.com\")$\"","math_12":"a Math [text] that says \"$upright(\" - j.doe@acme.com\")$\"","math_13":"a Math [text] that says \"$upright(\" social_networks:\")$\"","math_14":"a Math [text] that says \"$upright(\" - network: LinkedIn\")$\"","math_15":"a Math [text] that says \"$upright(\" username: johndoe\")$\"","math_16":"a Math [text] that says \"$upright(\" - network: GitHub\")$\"","math_17":"a Math [text] that says \"$upright(\" username: johndoe\")$\"","math_18":"a Math [text] that says \"$upright(\" custom_connections:\")$\"","math_19":"a Math [text] that says \"$upright(\" - placeholder: Book a call\")$\"","math_2":"a Math [text] that says \"$upright(\" name: John Doe\")$\"","math_20":"a Math [text] that says \"$upright(\" url: https://cal.com/johndoe\")$\"","math_21":"a Math [text] that says \"$upright(\" fontawesome_icon: calendar-days\")$\"","math_3":"a Math [text] that says \"$upright(\" headline: Machine Learning Engineer\")$\"","math_4":"a Math [text] that says \"$upright(\" location: San Francisco, CA\")$\"","math_5":"a Math [text] that says \"$upright(\" email: john@example.com\")$\"","math_6":"a Math [text] that says \"$upright(\" phone: '+14155551234'\")$\"","math_7":"a Math [text] that says \"$upright(\" website: https://johndoe.dev\")$\"","math_8":"a Math [text] that says \"$upright(\" photo: photo.jpg\")$\"","math_9":"a Math [text] that says \"$upright(\" email: john@example.com\")$\"","note_format":"a Tex [text] that says \"Display format: $upright(\"design.header.connections.phone_number_format\")$.\"","note_icons":"a Tex [text] that says \"Icon names come from the Font Awesome search page.\"","p_conn":"a Line [blue] labelled \"upright(\"connections\")\" drawn in page (start=(1.0, 6.1), end=(5.3, 6.1))","p_headline":"a Math [text] that says \"$upright(\"Machine Learning Engineer\")$\" drawn in page","p_location":"a Math [text] that says \"$upright(\"San Francisco, CA\")$\" drawn in page","p_name":"a Math [text] that says \"$upright(\"John Doe\")$\" drawn in page","p_photo":"a Polygon [gray] labelled \"upright(\"photo\")\" drawn in page (vertices=((0.55, 6.9), (1.55, 6.9), (1.55, 7.9), (0.55, 7.9)), fill_opacity=0.25)","page":"a Figure (x_range=(0.0, 6.0), y_range=(0.0, 8.4), aspect=(3.0, 4.2))","row":"a Figure (x_range=(0.0, 6.0), y_range=(0.0, 3.6), aspect=(3.0, 1.8))","sheet":"a Polygon [gray] drawn in page (vertices=((0.25, 0.2), (5.75, 0.2), (5.75, 8.2), (0.25, 8.2)), filled=False)","t_call":"a Math [text] that says \"$upright(\"Book a call\")$\" drawn in row","t_git":"a Math [text] that says \"$upright(\"johndoe\")$\" drawn in row","t_linked":"a Math [text] that says \"$upright(\"johndoe\")$\" drawn in row"},"beats":[{"start":89.05575,"say":"The header is everything above the first section heading. Every field in it is optional, so begin with a blank page and add only what you want on it.","live":[],"does":[[89.05575,"head_fields is shown on the screen, written out."],[95.11575,"page is shown on the screen, written out."],[95.11575,"sheet is shown on the screen, written out."]]},{"start":98.36325000000001,"say":"Under cv, the name comes first. It is the line set largest, across the top.","live":["page","head_fields","sheet"],"does":[[98.36325000000001,"page moves to a new place on the board."],[98.36325000000001,"math is shown on the screen, written out."],[99.66375000000001,"math_2 is shown on the screen, written out."],[102.39175,"p_name is shown on the screen, written out."]]},{"start":104.86125,"say":"A headline goes under it, one short line for your role. Then a location, printed exactly as you typed it.","live":["math","math_2","page","head_fields","sheet","p_name"],"does":[[105.41875,"math_3 is shown on the screen, written out."],[107.96175,"p_headline is shown on the screen, written out."],[109.30775,"math_4 is shown on the screen, written out."],[111.27075,"p_location is shown on the screen, written out."]]},{"start":112.74125000000001,"say":"Next, the ways to reach you: an email address, a phone number, and a website. These are gathered into one row of links beneath your name.","live":["math","math_2","math_3","math_4","page","head_fields","sheet","p_name","p_headline","p_location"],"does":[[115.62075,"math_5 is shown on the screen, written out."],[116.71175,"math_6 is shown on the screen, written out."],[117.66375,"math_7 is shown on the screen, written out."],[120.32275,"p_conn is shown on the screen, written out."]]},{"start":122.79124999999999,"say":"Write the phone number in full international form. How it is displayed, national, international, or E164, is decided over in the design half of the file, by this long field name.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","page","head_fields","sheet","p_name","p_headline","p_location","p_conn"],"does":[[126.81975,"math_6 is indicated — a transient flash."],[134.92374999999998,"note_format is shown on the screen, written out."]]},{"start":137.03325,"say":"Add a photo, and RenderCV places the image itself on the page.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","note_format","page","head_fields","sheet","p_name","p_headline","p_location","p_conn"],"does":[[137.68375,"math_8 is shown on the screen, written out."],[139.90075,"p_photo is shown on the screen, written out."],[141.81675,"head_fields is hidden from the screen — left the board."],[141.81675,"math is hidden from the screen — left the board."],[141.81675,"math_2 is hidden from the screen — left the board."],[141.81675,"math_3 is hidden from the screen — left the board."],[141.81675,"math_4 is hidden from the screen — left the board."],[141.81675,"math_5 is hidden from the screen — left the board."],[141.81675,"math_6 is hidden from the screen — left the board."],[141.81675,"math_7 is hidden from the screen — left the board."],[141.81675,"math_8 is hidden from the screen — left the board."],[141.81675,"note_format is hidden from the screen — left the board."],[141.81675,"page is hidden from the screen — left the board."],[141.81675,"sheet is hidden from the screen — page left the board."],[141.81675,"p_name is hidden from the screen — page left the board."],[141.81675,"p_headline is hidden from the screen — page left the board."],[141.81675,"p_location is hidden from the screen — page left the board."],[141.81675,"p_conn is hidden from the screen — page left the board."],[141.81675,"p_photo is hidden from the screen — page left the board."]]},{"start":142.41674999999998,"say":"Emails, phone numbers and websites can each be a list rather than a single value. One address looks like this.","live":[],"does":[[142.41674999999998,"head_many is shown on the screen, written out."],[146.15474999999998,"cap_one is shown on the screen, written out."],[148.34975,"math_9 is shown on the screen, written out."]]},{"start":150.54025,"say":"Several of them look like this: the key on its own, then a list underneath. They are printed in the order you wrote them.","live":["math_9","cap_one","head_many"],"does":[[150.94675,"cap_many is shown on the screen, written out."],[154.64974999999998,"math_10 is shown on the screen, written out."],[154.82650155631012,"math_11 is shown on the screen, written out."],[155.10285101867572,"math_12 is shown on the screen, written out."],[158.60825,"cap_many is hidden from the screen — left the board."],[158.60825,"cap_one is hidden from the screen — left the board."],[158.60825,"head_many is hidden from the screen — left the board."],[158.60825,"math_10 is hidden from the screen — left the board."],[158.60825,"math_11 is hidden from the screen — left the board."],[158.60825,"math_12 is hidden from the screen — left the board."],[158.60825,"math_9 is hidden from the screen — left the board."]]},{"start":159.20825,"say":"Networks that RenderCV knows about have a field of their own. Social networks takes a list, and each item is a pair: which network, and your username on it. Two pairs here, LinkedIn and GitHub.","live":[],"does":[[159.20825,"head_conn is shown on the screen, written out."],[164.75775,"math_13 is shown on the screen, written out."],[166.32574999999997,"math_14 is shown on the screen, written out."],[168.39175,"math_15 is shown on the screen, written out."],[170.01774999999998,"math_16 is shown on the screen, written out."],[170.4530345962291,"math_17 is shown on the screen, written out."]]},{"start":173.31074999999998,"say":"Each pair becomes one link, carrying that network's own icon, and the address is built for you.","live":["math_13","math_14","math_15","math_16","math_17","head_conn"],"does":[[173.31074999999998,"row is shown on the screen, written out."],[174.87875,"i_linked is shown on the screen, written out."],[174.87875,"t_linked is shown on the screen, written out."],[176.86374999999998,"i_git is shown on the screen, written out."],[176.86374999999998,"t_git is shown on the screen, written out."]]},{"start":180.11075,"say":"For anything else there are custom connections. Give the text you want shown, the address behind it, and the name of a Font Awesome icon.","live":["math_13","math_14","math_15","math_16","math_17","row","head_conn","i_linked","t_linked","i_git","t_git"],"does":[[181.59675,"math_18 is shown on the screen, written out."],[183.74474999999998,"math_19 is shown on the screen, written out."],[185.30075,"math_20 is shown on the screen, written out."],[186.80975,"math_21 is shown on the screen, written out."],[187.29775,"i_call is shown on the screen, written out."],[187.29775,"t_call is shown on the screen, written out."]]},{"start":189.83625,"say":"Leave the address out and the item is printed as plain text beside its icon, which is a tidy way to show something that is not a link. The icon names themselves come from the Font Awesome search page.","live":["math_13","math_14","math_15","math_16","math_17","math_18","math_19","math_20","math_21","row","head_conn","i_linked","t_linked","i_git","t_git","i_call","t_call"],"does":[[190.39375,"math_20 is hidden from the screen."],[200.43675000000002,"note_icons is shown on the screen, written out."]]},{"start":202.10424999999998,"say":"That is the header: nine fields, every one of them optional, and RenderCV lays out whatever you provide. Now the sections underneath it.","live":["math_13","math_14","math_15","math_16","math_17","math_18","math_19","math_21","note_icons","row","head_conn","i_linked","t_linked","i_git","t_git","i_call","t_call"],"does":[[208.69975,"t_call is indicated — a transient flash."],[211.88860416666668,"head_conn is hidden from the screen — left the board."],[211.88860416666668,"math_13 is hidden from the screen — left the board."],[211.88860416666668,"math_14 is hidden from the screen — left the board."],[211.88860416666668,"math_15 is hidden from the screen — left the board."],[211.88860416666668,"math_16 is hidden from the screen — left the board."],[211.88860416666668,"math_17 is hidden from the screen — left the board."],[211.88860416666668,"math_18 is hidden from the screen — left the board."],[211.88860416666668,"math_19 is hidden from the screen — left the board."],[211.88860416666668,"math_21 is hidden from the screen — left the board."],[211.88860416666668,"note_icons is hidden from the screen — left the board."],[211.88860416666668,"row is hidden from the screen — left the board."],[211.88860416666668,"i_linked is hidden from the screen — row left the board."],[211.88860416666668,"t_linked is hidden from the screen — row left the board."],[211.88860416666668,"i_git is hidden from the screen — row left the board."],[211.88860416666668,"t_git is hidden from the screen — row left the board."],[211.88860416666668,"i_call is hidden from the screen — row left the board."],[211.88860416666668,"t_call is hidden from the screen — row left the board."]]}]},{"title":"Sections and Their One Rule","start":212.93027083333334,"end":305.7998958333333,"objects":{"cap_a":"a Math [text] that says \"$upright(\"ExperienceEntry\")$\"","cap_b":"a Math [text] that says \"$upright(\"NormalEntry\")$\"","cap_c":"a Math [text] that says \"$upright(\"BulletEntry\")$\"","head_dict":"a Heading that says \"Sections Are a Dictionary\"","head_rule":"a Heading that says \"One Entry Type Per Section\"","head_three":"a Heading that says \"The Same Section, Three Ways\"","math":"a Math [text] that says \"$upright(\" sections:\")$\"","math_10":"a Math [text] that says \"$upright(\"experience:\")$\"","math_11":"a Math [text] that says \"$upright(\" - name: Acme Corp\")$\"","math_12":"a Math [text] that says \"$upright(\" start_date: 2020-01\")$\"","math_13":"a Math [text] that says \"$upright(\" end_date: present\")$\"","math_14":"a Math [text] that says \"$upright(\"experience:\")$\"","math_15":"a Math [text] that says \"$upright(\" - bullet: '**Acme Corp**'\")$\"","math_16":"a Math [text] that says \"$upright(\" - bullet: '**StartupXYZ**'\")$\"","math_17":"a Math [text] that says \"$upright(\"experience:\")$\"","math_18":"a Math [text] that says \"$upright(\" - company: Acme Corp\")$\"","math_19":"a Math [text] that says \"$upright(\" position: Senior Engineer\")$\"","math_2":"a Math [text] that says \"$upright(\" Anything You Like:\")$\"","math_20":"a Math [text] that says \"$upright(\" - institution: MIT\")$\"","math_21":"a Math [text] that says \"$upright(\" area: Computer Science\")$\"","math_3":"a Math [text] that says \"$upright(\" - first entry\")$\"","math_4":"a Math [text] that says \"$upright(\" - second entry\")$\"","math_5":"a Math [text] that says \"$upright(\"experience:\")$\"","math_6":"a Math [text] that says \"$upright(\" - company: Acme Corp\")$\"","math_7":"a Math [text] that says \"$upright(\" position: Senior Engineer\")$\"","math_8":"a Math [text] that says \"$upright(\" start_date: 2020-01\")$\"","math_9":"a Math [text] that says \"$upright(\" end_date: present\")$\"","note_keys":"a Text [text] that says \"Keys are the printed titles. Values are lists of entries.\"","page2":"a Figure (x_range=(0.0, 6.0), y_range=(0.0, 4.0), aspect=(3.0, 2.0))","rule_text":"a Tex [text] that says \"A section holds one entry type, and only one.\"","s_row1":"a Line [gray] drawn in page2 (start=(0.4, 2.5), end=(4.9, 2.5))","s_row2":"a Line [gray] drawn in page2 (start=(0.4, 2.0), end=(4.2, 2.0))","s_rule":"a Line [blue] drawn in page2 (start=(0.4, 3.0), end=(5.6, 3.0))","s_title":"a Math [text] that says \"$upright(\"Anything You Like\")$\" drawn in page2"},"beats":[{"start":212.93027083333334,"say":"On the finished page a section is just a title, a rule under it, and the entries beneath. In the file, one section is one key with a list under it.","live":[],"does":[[212.93027083333334,"head_dict is shown on the screen, written out."],[214.88027083333333,"page2 is shown on the screen, written out."],[214.88027083333333,"s_title is shown on the screen, written out."],[215.64727083333335,"s_rule is shown on the screen, written out."],[217.07527083333335,"s_row1 is shown on the screen, written out."],[217.250434079602,"s_row2 is shown on the screen, written out."]]},{"start":223.09677083333332,"say":"So sections is a dictionary, not a list. Its keys are the titles you want printed, and its values are lists of entries.","live":["page2","head_dict","s_title","s_rule","s_row1","s_row2"],"does":[[224.47827083333334,"page2 moves to a new place on the board."],[224.47827083333334,"note_keys is shown on the screen, written out."],[227.07927083333334,"math is shown on the screen, written out."],[227.75227083333334,"math_2 is shown on the screen, written out."],[229.50627083333333,"math_3 is shown on the screen, written out."],[229.80649276330212,"math_4 is shown on the screen, written out."]]},{"start":232.07977083333333,"say":"A title can be any string, and it is printed exactly as written. Nothing about that name tells RenderCV what kind of entries are inside.","live":["note_keys","math","math_2","math_3","math_4","page2","head_dict","s_title","s_rule","s_row1","s_row2"],"does":[[233.44927083333334,"math_2 is indicated — a transient flash."],[235.20327083333333,"s_title is indicated — a transient flash."],[240.16577083333334,"head_dict is hidden from the screen — left the board."],[240.16577083333334,"math is hidden from the screen — left the board."],[240.16577083333334,"math_2 is hidden from the screen — left the board."],[240.16577083333334,"math_3 is hidden from the screen — left the board."],[240.16577083333334,"math_4 is hidden from the screen — left the board."],[240.16577083333334,"note_keys is hidden from the screen — left the board."],[240.16577083333334,"page2 is hidden from the screen — left the board."],[240.16577083333334,"s_title is hidden from the screen — page2 left the board."],[240.16577083333334,"s_rule is hidden from the screen — page2 left the board."],[240.16577083333334,"s_row1 is hidden from the screen — page2 left the board."],[240.16577083333334,"s_row2 is hidden from the screen — page2 left the board."]]},{"start":240.76577083333333,"say":"Which means one section can be written in several ways. Here is the same job, three times over. First as an experience entry, with the company and the position as separate keys.","live":[],"does":[[240.76577083333333,"head_three is shown on the screen, written out."],[245.42827083333333,"cap_a is shown on the screen, written out."],[249.03827083333334,"math_5 is shown on the screen, written out."],[249.18666168249968,"math_6 is shown on the screen, written out."],[249.335052531666,"math_7 is shown on the screen, written out."],[249.47730379184438,"math_8 is shown on the screen, written out."],[249.56564811134808,"math_9 is shown on the screen, written out."]]},{"start":252.04177083333332,"say":"Second, the same job as a normal entry. One name, and the dates. Everything else about it is optional.","live":["math_5","math_6","math_7","math_8","math_9","cap_a","head_three"],"does":[[254.03827083333334,"cap_b is shown on the screen, written out."],[255.78027083333333,"math_10 is shown on the screen, written out."],[255.97271244692143,"math_11 is shown on the screen, written out."],[256.16515406050956,"math_12 is shown on the screen, written out."],[256.3109035855962,"math_13 is shown on the screen, written out."]]},{"start":260.47877083333333,"say":"Third, as bullet entries: one line each, with the emphasis written in Markdown. Same section title, three quite different layouts.","live":["math_5","math_6","math_7","math_8","math_9","cap_a","math_10","math_11","math_12","math_13","cap_b","head_three"],"does":[[261.91827083333334,"cap_c is shown on the screen, written out."],[263.4502708333333,"math_14 is shown on the screen, written out."],[263.58503341567854,"math_15 is shown on the screen, written out."],[263.71449569060167,"math_16 is shown on the screen, written out."]]},{"start":270.20377083333335,"say":"So the name of a section never decides its entry type. You pick the type that suits the content, section by section.","live":["math_5","math_6","math_7","math_8","math_9","cap_a","math_10","math_11","math_12","math_13","cap_b","math_14","math_15","math_16","cap_c","head_three"],"does":[[272.92027083333335,"cap_a is indicated — a transient flash."],[275.87027083333334,"cap_c is indicated — a transient flash."],[278.2152708333333,"cap_a is hidden from the screen — left the board."],[278.2152708333333,"cap_b is hidden from the screen — left the board."],[278.2152708333333,"cap_c is hidden from the screen — left the board."],[278.2152708333333,"head_three is hidden from the screen — left the board."],[278.2152708333333,"math_10 is hidden from the screen — left the board."],[278.2152708333333,"math_11 is hidden from the screen — left the board."],[278.2152708333333,"math_12 is hidden from the screen — left the board."],[278.2152708333333,"math_13 is hidden from the screen — left the board."],[278.2152708333333,"math_14 is hidden from the screen — left the board."],[278.2152708333333,"math_15 is hidden from the screen — left the board."],[278.2152708333333,"math_16 is hidden from the screen — left the board."],[278.2152708333333,"math_5 is hidden from the screen — left the board."],[278.2152708333333,"math_6 is hidden from the screen — left the board."],[278.2152708333333,"math_7 is hidden from the screen — left the board."],[278.2152708333333,"math_8 is hidden from the screen — left the board."],[278.2152708333333,"math_9 is hidden from the screen — left the board."]]},{"start":278.81527083333333,"say":"There is one rule to obey. Here a section starts as an experience entry, and then a school is added underneath it as an education entry.","live":[],"does":[[278.81527083333333,"head_rule is shown on the screen, written out."],[281.13727083333333,"math_17 is shown on the screen, written out."],[281.29135700113375,"math_18 is shown on the screen, written out."],[281.44659333270346,"math_19 is shown on the screen, written out."],[284.2722708333333,"math_20 is shown on the screen, written out."],[284.48677250701866,"math_21 is shown on the screen, written out."]]},{"start":287.8207708333333,"say":"RenderCV will not take it. Mixing two types inside one section is refused, so keep one type per section and open a second section for the other.","live":["math_17","math_18","math_19","math_20","math_21","head_rule"],"does":[[292.68527083333333,"math_20 is struck through — it is ruled out."],[293.01010090024863,"math_21 is struck through — it is ruled out."],[293.7412708333333,"rule_text is shown on the screen, written out."],[297.4337708333333,"A box is drawn around rule_text."]]},{"start":298.03377083333334,"say":"One dictionary of titled sections, and one entry type inside each. Next, the types themselves.","live":["math_17","math_18","math_19","math_20","math_21","rule_text","head_rule"],"does":[[303.32727083333333,"rule_text is indicated — a transient flash."],[304.75822916666664,"head_rule is hidden from the screen — left the board."],[304.75822916666664,"math_17 is hidden from the screen — left the board."],[304.75822916666664,"math_18 is hidden from the screen — left the board."],[304.75822916666664,"math_19 is hidden from the screen — left the board."],[304.75822916666664,"math_20 is hidden from the screen — left the board."],[304.75822916666664,"math_21 is hidden from the screen — left the board."],[304.75822916666664,"rule_text is hidden from the screen — left the board."]]}]},{"title":"Entries With Dates and Highlights","start":305.7998958333333,"end":438.63360416666666,"objects":{"edu_table":"a Table [text] that says \"Field Required $upright(\"institution\")$ yes $upright(\"area\")$ yes $upright(\"degree\")$ no $upright(\"date\")$ no $upright(\"start_date\")$ no $upright(\"end_date\")$ no $upright(\"location\")$ no $upright(\"summary\")$ no $upright(\"highlights\")$ no\" (rows=(('Field', 'Required'), ('$upright(\"institution\")$', 'yes'), ('…, header=True)","head_all":"a Heading that says \"Nine Entry Types\"","head_edu":"a Heading that says \"EducationEntry\"","head_norm":"a Heading that says \"NormalEntry\"","head_pub":"a Heading that says \"PublicationEntry\"","head_shape":"a Heading that says \"The Same Shape, Different Keys\"","label_edu":"a Math [text] that says \"$upright(\"EducationEntry\")$\"","label_exp":"a Math [text] that says \"$upright(\"ExperienceEntry\")$\"","math":"a Math [text] that says \"$upright(\"education:\")$\"","math_10":"a Math [text] that says \"$upright(\" - GPA 3.9 out of 4.0\")$\"","math_11":"a Math [text] that says \"$upright(\"experience:\")$\"","math_12":"a Math [text] that says \"$upright(\" - company: Acme Corp\")$\"","math_13":"a Math [text] that says \"$upright(\" position: Senior Engineer\")$\"","math_14":"a Math [text] that says \"$upright(\" start_date: 2020-01\")$\"","math_15":"a Math [text] that says \"$upright(\" end_date: present\")$\"","math_16":"a Math [text] that says \"$upright(\" location: Remote\")$\"","math_17":"a Math [text] that says \"$upright(\" summary: Distributed systems.\")$\"","math_18":"a Math [text] that says \"$upright(\" highlights:\")$\"","math_19":"a Math [text] that says \"$upright(\" - Led the move to services\")$\"","math_2":"a Math [text] that says \"$upright(\" - institution: MIT\")$\"","math_20":"a Math [text] that says \"$upright(\"publications:\")$\"","math_21":"a Math [text] that says \"$upright(\" - title: A Faster Parser\")$\"","math_22":"a Math [text] that says \"$upright(\" authors:\")$\"","math_23":"a Math [text] that says \"$upright(\" - '*John Doe*'\")$\"","math_24":"a Math [text] that says \"$upright(\" - Jane Roe\")$\"","math_25":"a Math [text] that says \"$upright(\" journal: Journal of Systems\")$\"","math_26":"a Math [text] that says \"$upright(\" doi: 10.1000/xyz123\")$\"","math_27":"a Math [text] that says \"$upright(\" date: 2023-06\")$\"","math_28":"a Math [text] that says \"$upright(\"projects:\")$\"","math_29":"a Math [text] that says \"$upright(\" - name: Static Site Builder\")$\"","math_3":"a Math [text] that says \"$upright(\" area: Computer Science\")$\"","math_30":"a Math [text] that says \"$upright(\" start_date: 2021-03\")$\"","math_31":"a Math [text] that says \"$upright(\" end_date: 2022-01\")$\"","math_32":"a Math [text] that says \"$upright(\" location: Open source\")$\"","math_33":"a Math [text] that says \"$upright(\" summary: A tiny generator.\")$\"","math_34":"a Math [text] that says \"$upright(\" highlights:\")$\"","math_35":"a Math [text] that says \"$upright(\" - Five hundred stars\")$\"","math_4":"a Math [text] that says \"$upright(\" degree: BS\")$\"","math_5":"a Math [text] that says \"$upright(\" start_date: 2012-09\")$\"","math_6":"a Math [text] that says \"$upright(\" end_date: 2016-05\")$\"","math_7":"a Math [text] that says \"$upright(\" date: Spring 2016\")$\"","math_8":"a Math [text] that says \"$upright(\" location: Cambridge, MA\")$\"","math_9":"a Math [text] that says \"$upright(\" highlights:\")$\"","nine":"a Block [text] that says \"EducationEntry, for schools and degrees. ExperienceEntry, for jobs and roles. PublicationEntry, for papers. NormalEntry, for anything with a name and dates. OneLineEntry, for a label and its details. BulletEntry, one bullet per item. Numbe…\"","norm_table":"a Table [text] that says \"Field Required $upright(\"name\")$ yes $upright(\"date\")$ no $upright(\"start_date\")$ no $upright(\"end_date\")$ no $upright(\"location\")$ no $upright(\"summary\")$ no $upright(\"highlights\")$ no\" (rows=(('Field', 'Required'), ('$upright(\"name\")$', 'yes'), ('$uprigh…, header=True)","pub_table":"a Table [text] that says \"Field Required $upright(\"title\")$ yes $upright(\"authors\")$ yes $upright(\"doi\")$ no $upright(\"url\")$ no $upright(\"journal\")$ no $upright(\"date\")$ no\" (rows=(('Field', 'Required'), ('$upright(\"title\")$', 'yes'), ('$uprig…, header=True)"},"beats":[{"start":305.7998958333333,"say":"RenderCV gives you nine entry types. They differ in the keys they accept and in how they are laid out on the page.","live":[],"does":[[305.7998958333333,"head_all is shown on the screen, written out."],[306.9608958333333,"nine is shown on the screen, written out."]]},{"start":313.1683958333333,"say":"Four of them carry dates and highlights, and this part is about those four: education, experience, publication, and normal.","live":["nine","head_all"],"does":[[318.0908958333333,"nine (the \"EducationEntry\" part) is emphasized."],[319.1008958333333,"nine (the \"EducationEntry\" part) is no longer emphasized."],[319.1008958333333,"nine (the \"ExperienceEntry\" part) is emphasized."],[320.0528958333333,"nine (the \"ExperienceEntry\" part) is no longer emphasized."],[320.0528958333333,"nine (the \"PublicationEntry\" part) is emphasized."],[321.1678958333333,"nine (the \"NormalEntry\" part) is emphasized."],[321.1678958333333,"nine (the \"PublicationEntry\" part) is no longer emphasized."]]},{"start":322.4523958333333,"say":"The remaining five are the compact ones, a single line or a single field each, and they come later.","live":null,"does":[[324.0428958333333,"nine (the \"NormalEntry\" part) is no longer emphasized."],[328.84989583333333,"head_all is hidden from the screen — left the board."],[328.84989583333333,"nine is hidden from the screen — left the board."]]},{"start":329.4498958333333,"say":"Start with the education entry, for a school. It has nine fields, and only two of them are required.","live":[],"does":[[329.4498958333333,"head_edu is shown on the screen, written out."],[333.37389583333334,"edu_table is shown on the screen, written out."],[333.4980092948718,"edu_table is shown on the screen, written out."],[333.62212275641025,"edu_table is shown on the screen, written out."],[333.7462362179487,"edu_table is shown on the screen, written out."],[333.87034967948716,"edu_table is shown on the screen, written out."],[333.9944631410256,"edu_table is shown on the screen, written out."],[334.07408814102564,"edu_table is shown on the screen, written out."],[334.145953525641,"edu_table is shown on the screen, written out."],[334.217883525641,"edu_table is shown on the screen, written out."],[334.2899819871795,"edu_table is shown on the screen, written out."]]},{"start":336.46989583333334,"say":"Those two are the institution, and the area you studied. Everything else may be left out.","live":["head_edu"],"does":[[336.46989583333334,"math is shown on the screen, written out."],[337.5968958333333,"math_2 is shown on the screen, written out."],[337.5968958333333,"edu_table (the \"row=2\" part) is emphasized."],[338.9778958333333,"math_3 is shown on the screen, written out."],[338.9778958333333,"edu_table (the \"row=2\" part) is no longer emphasized."],[338.9778958333333,"edu_table (the \"row=3\" part) is emphasized."]]},{"start":343.3168958333333,"say":"The degree is a field of its own, so BS, MSc or PhD sits apart from the subject.","live":["math","math_2","math_3","head_edu"],"does":[[343.3168958333333,"edu_table (the \"row=3\" part) is no longer emphasized."],[343.9668958333333,"math_4 is shown on the screen, written out."]]},{"start":350.3948958333333,"say":"Dates come as a pair, a start date and an end date, in year and month form. There is also a plain date field, which takes any string you like and overrides that pair, so you use one or the other, never both.","live":["math","math_2","math_3","math_4","head_edu"],"does":[[352.4378958333333,"math_5 is shown on the screen, written out."],[353.5528958333333,"math_6 is shown on the screen, written out."],[357.14089583333333,"math_7 is shown on the screen, written out."],[360.07789583333334,"math_7 is indicated — a transient flash."]]},{"start":364.61389583333334,"say":"Then a location, and highlights, which is a list of strings. Each string in it becomes one bullet under the entry.","live":["math","math_2","math_3","math_4","math_5","math_6","math_7","head_edu"],"does":[[364.61389583333334,"math_7 is hidden from the screen."],[365.4378958333333,"math_8 is shown on the screen, written out."],[366.51789583333334,"math_9 is shown on the screen, written out."],[369.6638958333333,"math_10 is shown on the screen, written out."],[372.4973958333333,"math moves to a new place on the board."],[372.4973958333333,"math_10 moves to a new place on the board."],[372.4973958333333,"math_2 moves to a new place on the board."],[372.4973958333333,"math_3 moves to a new place on the board."],[372.4973958333333,"math_4 moves to a new place on the board."],[372.4973958333333,"math_5 moves to a new place on the board."],[372.4973958333333,"math_6 moves to a new place on the board."],[372.4973958333333,"math_8 moves to a new place on the board."],[372.4973958333333,"math_9 moves to a new place on the board."],[372.4973958333333,"edu_table is hidden from the screen — left the board."],[372.4973958333333,"head_edu is hidden from the screen — left the board."]]},{"start":373.09739583333334,"say":"The experience entry has exactly the same shape, with two different keys at the front: the company, and the position you held there.","live":["math","math_2","math_3","math_4","math_5","math_6","math_8","math_9","math_10"],"does":[[373.09739583333334,"head_shape is shown on the screen, written out."],[375.62889583333333,"label_edu is shown on the screen, written out."],[375.91093124173494,"label_exp is shown on the screen, written out."],[376.9398958333333,"math_11 is shown on the screen, written out."],[378.5428958333333,"math_12 is shown on the screen, written out."],[379.5408958333333,"math_13 is shown on the screen, written out."]]},{"start":381.65039583333333,"say":"Everything after that is the pattern you already know: the two dates, with the word present for a job you still hold, then a location, a summary, and the highlights, one line for each accomplishment you want to list.","live":["math","math_2","math_3","math_4","math_5","math_6","math_8","math_9","math_10","label_edu","label_exp","math_11","math_12","math_13","head_shape"],"does":[[383.2528958333333,"math_2 is indicated — a transient flash."],[385.1098958333333,"math_14 is shown on the screen, written out."],[386.5148958333333,"math_15 is shown on the screen, written out."],[388.9998958333333,"math_16 is shown on the screen, written out."],[390.2068958333333,"math_17 is shown on the screen, written out."],[391.4728958333333,"math_18 is shown on the screen, written out."],[392.1135329245508,"math_19 is shown on the screen, written out."],[395.2688958333333,"head_shape is hidden from the screen — left the board."],[395.2688958333333,"label_edu is hidden from the screen — left the board."],[395.2688958333333,"label_exp is hidden from the screen — left the board."],[395.2688958333333,"math is hidden from the screen — left the board."],[395.2688958333333,"math_10 is hidden from the screen — left the board."],[395.2688958333333,"math_11 is hidden from the screen — left the board."],[395.2688958333333,"math_12 is hidden from the screen — left the board."],[395.2688958333333,"math_13 is hidden from the screen — left the board."],[395.2688958333333,"math_14 is hidden from the screen — left the board."],[395.2688958333333,"math_15 is hidden from the screen — left the board."],[395.2688958333333,"math_16 is hidden from the screen — left the board."],[395.2688958333333,"math_17 is hidden from the screen — left the board."],[395.2688958333333,"math_18 is hidden from the screen — left the board."],[395.2688958333333,"math_19 is hidden from the screen — left the board."],[395.2688958333333,"math_2 is hidden from the screen — left the board."],[395.2688958333333,"math_3 is hidden from the screen — left the board."],[395.2688958333333,"math_4 is hidden from the screen — left the board."],[395.2688958333333,"math_5 is hidden from the screen — left the board."],[395.2688958333333,"math_6 is hidden from the screen — left the board."],[395.2688958333333,"math_8 is hidden from the screen — left the board."],[395.2688958333333,"math_9 is hidden from the screen — left the board."]]},{"start":395.86889583333334,"say":"A publication entry needs a title and a list of authors. Write the authors as they should be printed, and wrap your own name in single asterisks to have it emphasised in the list.","live":[],"does":[[395.86889583333334,"head_pub is shown on the screen, written out."],[397.3428958333333,"pub_table is shown on the screen, written out."],[397.4000948364008,"pub_table is shown on the screen, written out."],[397.45729383946826,"pub_table is shown on the screen, written out."],[397.5144928425358,"pub_table is shown on the screen, written out."],[397.5737378578732,"pub_table is shown on the screen, written out."],[397.6459483640082,"pub_table is shown on the screen, written out."],[397.6568958333333,"math_20 is shown on the screen, written out."],[397.6568958333333,"math_21 is shown on the screen, written out."],[397.6568958333333,"pub_table (the \"row=2\" part) is emphasized."],[397.74868059815947,"pub_table is shown on the screen, written out."],[398.6088958333333,"math_22 is shown on the screen, written out."],[398.6088958333333,"pub_table (the \"row=2\" part) is no longer emphasized."],[398.6088958333333,"pub_table (the \"row=3\" part) is emphasized."],[403.5888958333333,"math_23 is shown on the screen, written out."],[403.9974847903885,"math_24 is shown on the screen, written out."]]},{"start":406.55189583333333,"say":"The rest is optional. A journal or venue, a DOI, a link, and a date. The identifier and the link are rendered for you as addresses.","live":["math_20","math_21","math_22","math_23","math_24","head_pub"],"does":[[406.55189583333333,"pub_table (the \"row=3\" part) is no longer emphasized."],[408.4618958333333,"math_25 is shown on the screen, written out."],[409.8898958333333,"math_26 is shown on the screen, written out."],[411.6888958333333,"math_27 is shown on the screen, written out."],[415.8223958333333,"head_pub is hidden from the screen — left the board."],[415.8223958333333,"math_20 is hidden from the screen — left the board."],[415.8223958333333,"math_21 is hidden from the screen — left the board."],[415.8223958333333,"math_22 is hidden from the screen — left the board."],[415.8223958333333,"math_23 is hidden from the screen — left the board."],[415.8223958333333,"math_24 is hidden from the screen — left the board."],[415.8223958333333,"math_25 is hidden from the screen — left the board."],[415.8223958333333,"math_26 is hidden from the screen — left the board."],[415.8223958333333,"math_27 is hidden from the screen — left the board."],[415.8223958333333,"pub_table is hidden from the screen — left the board."]]},{"start":416.4223958333333,"say":"The normal entry is the general purpose one. It needs a single key, the name, and it is what you reach for when nothing more specific fits.","live":[],"does":[[416.4223958333333,"head_norm is shown on the screen, written out."],[417.7688958333333,"norm_table is shown on the screen, written out."],[417.84112216469424,"norm_table is shown on the screen, written out."],[417.91334849605516,"norm_table is shown on the screen, written out."],[417.98557482741614,"norm_table is shown on the screen, written out."],[418.05780115877707,"norm_table is shown on the screen, written out."],[418.13002749013805,"norm_table is shown on the screen, written out."],[418.2078618096647,"norm_table is shown on the screen, written out."],[418.28668947238657,"norm_table is shown on the screen, written out."],[419.8588958333333,"math_28 is shown on the screen, written out."],[420.7408958333333,"math_29 is shown on the screen, written out."],[420.7408958333333,"norm_table (the \"row=2\" part) is emphasized."]]},{"start":425.2653958333333,"say":"Its optional fields are the familiar set: the dates, a location, a summary and highlights. Projects, awards, certificates and talks all sit happily in one of these.","live":["math_28","math_29","head_norm"],"does":[[425.2653958333333,"norm_table (the \"row=2\" part) is no longer emphasized."],[428.3188958333333,"math_30 is shown on the screen, written out."],[428.85949552855544,"math_31 is shown on the screen, written out."],[429.1888958333333,"math_32 is shown on the screen, written out."],[430.2108958333333,"math_33 is shown on the screen, written out."],[430.9428958333333,"math_34 is shown on the screen, written out."],[431.67741789984655,"math_35 is shown on the screen, written out."],[437.5919375,"head_norm is hidden from the screen — left the board."],[437.5919375,"math_28 is hidden from the screen — left the board."],[437.5919375,"math_29 is hidden from the screen — left the board."],[437.5919375,"math_30 is hidden from the screen — left the board."],[437.5919375,"math_31 is hidden from the screen — left the board."],[437.5919375,"math_32 is hidden from the screen — left the board."],[437.5919375,"math_33 is hidden from the screen — left the board."],[437.5919375,"math_34 is hidden from the screen — left the board."],[437.5919375,"math_35 is hidden from the screen — left the board."],[437.5919375,"norm_table is hidden from the screen — left the board."]]}]},{"title":"The Compact Entry Types","start":438.63360416666666,"end":515.6738333333333,"objects":{"cap_bullet":"a Math [text] that says \"$upright(\"BulletEntry\")$\"","cap_number":"a Math [text] that says \"$upright(\"NumberedEntry\")$\"","cap_reversed":"a Math [text] that says \"$upright(\"ReversedNumberedEntry\")$\"","head_one":"a Heading that says \"OneLineEntry\"","head_short":"a Heading that says \"One Field Each\"","head_text":"a Heading that says \"TextEntry\"","label_read":"a Tex [text] that says \"How it reads\"","label_write":"a Tex [text] that says \"What you write\"","math":"a Math [text] that says \"$upright(\"skills:\")$\"","math_10":"a Math [text] that says \"$upright(\" - number: Draft the outline\")$\"","math_11":"a Math [text] that says \"$upright(\" - number: Render the PDF\")$\"","math_12":"a Math [text] that says \"$upright(\"papers:\")$\"","math_13":"a Math [text] that says \"$upright(\" - reversed_number: 2024 paper\")$\"","math_14":"a Math [text] that says \"$upright(\" - reversed_number: 2021 paper\")$\"","math_15":"a Math [text] that says \"$upright(\"summary:\")$\"","math_16":"a Math [text] that says \"$upright(\" - Ten years of distributed systems.\")$\"","math_17":"a Math [text] that says \"$upright(\" - Occasional conference speaker.\")$\"","math_2":"a Math [text] that says \"$upright(\" - label: Languages\")$\"","math_3":"a Math [text] that says \"$upright(\" details: Python, Go, Rust\")$\"","math_4":"a Math [text] that says \"$upright(\" - label: Infrastructure\")$\"","math_5":"a Math [text] that says \"$upright(\" details: Kubernetes, AWS\")$\"","math_6":"a Math [text] that says \"$upright(\"strengths:\")$\"","math_7":"a Math [text] that says \"$upright(\" - bullet: Fluent in Turkish\")$\"","math_8":"a Math [text] that says \"$upright(\" - bullet: Public speaking\")$\"","math_9":"a Math [text] that says \"$upright(\"steps:\")$\"","read_1":"a Math [text] that says \"$bold(upright(\"Languages:\")) thin upright(\"Python, Go, Rust\")$\"","read_2":"a Math [text] that says \"$bold(upright(\"Infrastructure:\")) thin upright(\"Kubernetes, AWS\")$\"","text_note":"a Text [text] that says \"No keys at all: each item is a string, and each string is a paragraph.\""},"beats":[{"start":438.63360416666666,"say":"The one line entry has two fields, and both are required: a label, and the details that belong to it. It is what most people use for skills.","live":[],"does":[[438.63360416666666,"head_one is shown on the screen, written out."],[439.84060416666665,"label_write is shown on the screen, written out."],[441.39660416666663,"math is shown on the screen, written out."],[442.56960416666664,"math_2 is shown on the screen, written out."],[443.78860416666663,"math_3 is shown on the screen, written out."]]},{"start":449.16010416666666,"say":"On the page the label is set in bold, and the details follow it on the same line. One pair, one line.","live":["label_write","math","math_2","math_3","head_one"],"does":[[449.16010416666666,"label_read is shown on the screen, written out."],[451.11060416666663,"read_1 is shown on the screen, written out."],[454.61660416666666,"math_2 is indicated — a transient flash."]]},{"start":456.9931041666667,"say":"A second pair gives a second line, and a whole skills section is usually four or five of them, stacked.","live":["label_write","math","math_2","math_3","label_read","read_1","head_one"],"does":[[457.46960416666667,"math_4 is shown on the screen, written out."],[457.80107827025233,"math_5 is shown on the screen, written out."],[458.3396041666667,"read_2 is shown on the screen, written out."],[463.15810416666665,"head_one is hidden from the screen — left the board."],[463.15810416666665,"label_read is hidden from the screen — left the board."],[463.15810416666665,"label_write is hidden from the screen — left the board."],[463.15810416666665,"math is hidden from the screen — left the board."],[463.15810416666665,"math_2 is hidden from the screen — left the board."],[463.15810416666665,"math_3 is hidden from the screen — left the board."],[463.15810416666665,"math_4 is hidden from the screen — left the board."],[463.15810416666665,"math_5 is hidden from the screen — left the board."],[463.15810416666665,"read_1 is hidden from the screen — left the board."],[463.15810416666665,"read_2 is hidden from the screen — left the board."]]},{"start":463.75810416666667,"say":"Three of the nine types have exactly one field each. The bullet entry carries a single string, and it is printed as one bullet point.","live":[],"does":[[463.75810416666667,"head_short is shown on the screen, written out."],[467.86760416666664,"cap_bullet is shown on the screen, written out."],[469.3536041666667,"math_6 is shown on the screen, written out."],[469.5862574381762,"math_7 is shown on the screen, written out."],[469.8189107096857,"math_8 is shown on the screen, written out."]]},{"start":472.91510416666665,"say":"The numbered entry works the same way, except the items are counted for you, upward from one, in the order you wrote them.","live":["math_6","math_7","math_8","cap_bullet","head_short"],"does":[[473.40260416666666,"cap_number is shown on the screen, written out."],[476.5726041666667,"math_9 is shown on the screen, written out."],[476.6847989463467,"math_10 is shown on the screen, written out."],[476.79699372602676,"math_11 is shown on the screen, written out."]]},{"start":481.1661041666666,"say":"The reversed numbered entry counts the other way, downward, which is what you want for a publication list where the newest paper comes first.","live":["math_6","math_7","math_8","cap_bullet","math_9","math_10","math_11","cap_number","head_short"],"does":[[481.7116041666667,"cap_reversed is shown on the screen, written out."],[484.04560416666664,"math_12 is shown on the screen, written out."],[484.27313552301086,"math_13 is shown on the screen, written out."],[484.50066687935504,"math_14 is shown on the screen, written out."]]},{"start":489.7771041666667,"say":"All three take one field and nothing else, so they are the cheapest way to put a plain list on the page.","live":["math_6","math_7","math_8","cap_bullet","math_9","math_10","math_11","cap_number","math_12","math_13","math_14","cap_reversed","head_short"],"does":[[491.11160416666667,"cap_bullet is indicated — a transient flash."],[494.39760416666667,"cap_reversed is indicated — a transient flash."],[496.02310416666666,"cap_bullet is hidden from the screen — left the board."],[496.02310416666666,"cap_number is hidden from the screen — left the board."],[496.02310416666666,"cap_reversed is hidden from the screen — left the board."],[496.02310416666666,"head_short is hidden from the screen — left the board."],[496.02310416666666,"math_10 is hidden from the screen — left the board."],[496.02310416666666,"math_11 is hidden from the screen — left the board."],[496.02310416666666,"math_12 is hidden from the screen — left the board."],[496.02310416666666,"math_13 is hidden from the screen — left the board."],[496.02310416666666,"math_14 is hidden from the screen — left the board."],[496.02310416666666,"math_6 is hidden from the screen — left the board."],[496.02310416666666,"math_7 is hidden from the screen — left the board."],[496.02310416666666,"math_8 is hidden from the screen — left the board."],[496.02310416666666,"math_9 is hidden from the screen — left the board."]]},{"start":496.6231041666666,"say":"And the last type has no keys whatsoever. You write the string itself, as an item of the list, and that is the entire entry.","live":[],"does":[[496.6231041666666,"head_text is shown on the screen, written out."],[500.25660416666665,"math_15 is shown on the screen, written out."],[501.71960416666667,"math_16 is shown on the screen, written out."],[503.5776041666667,"text_note is shown on the screen, written out."]]},{"start":505.74460416666665,"say":"Each string becomes its own paragraph, which makes this the natural choice for a summary at the top of a CV. That is all nine types.","live":["math_15","math_16","text_note","head_text"],"does":[[507.70660416666664,"math_17 is shown on the screen, written out."],[513.3606041666667,"math_17 is indicated — a transient flash."],[514.6321666666666,"head_text is hidden from the screen — left the board."],[514.6321666666666,"math_15 is hidden from the screen — left the board."],[514.6321666666666,"math_16 is hidden from the screen — left the board."],[514.6321666666666,"math_17 is hidden from the screen — left the board."],[514.6321666666666,"text_note is hidden from the screen — left the board."]]}]},{"title":"Formatting, and Keys of Your Own","start":515.6738333333333,"end":629.8585625,"objects":{"head_keys":"a Heading that says \"Keys RenderCV Ignores\"","head_md":"a Heading that says \"Markdown in Any Text Field\"","head_recap":"a Heading that says \"What to Carry Away\"","head_typst":"a Heading that says \"Typst, Too\"","keys_chip":"a Math [text] that says \"$upright(\"design.templates\")$\"","keys_list":"a Block [text] that says \"Unknown keys are accepted and then ignored. A template can print them wherever you like.\"","label_read":"a Tex [text] that says \"How it reads\"","label_write":"a Tex [text] that says \"What you write\"","math":"a Math [text] that says \"$upright(\"highlights:\")$\"","math_10":"a Math [text] that says \"$upright(\" position: Founder\")$\"","math_11":"a Math [text] that says \"$upright(\" start_date: 2020-01\")$\"","math_12":"a Math [text] that says \"$upright(\" end_date: present\")$\"","math_13":"a Math [text] that says \"$upright(\" revenue: 5M ARR\")$\"","math_14":"a Math [text] that says \"$upright(\" highlights:\")$\"","math_15":"a Math [text] that says \"$upright(\" - Zero to profitable\")$\"","math_2":"a Math [text] that says \"$upright(\" - Revenue up **40%** in a year\")$\"","math_3":"a Math [text] that says \"$upright(\" - See [the docs](rendercv.com)\")$\"","math_4":"a Math [text] that says \"$upright(\" - Written in *Python*\")$\"","math_5":"a Math [text] that says \"$upright(\" - Config lives in `cv.yaml`\")$\"","math_6":"a Math [text] that says \"$upright(\"highlights:\")$\"","math_7":"a Math [text] that says \"$upright(\" - Showed that $$f(x) = x^2$$\")$\"","math_8":"a Math [text] that says \"$upright(\"experience:\")$\"","math_9":"a Math [text] that says \"$upright(\" - company: Startup Inc\")$\"","r_bold":"a Tex [text] that says \"Revenue up *40%* in a year\"","r_code":"a Math [text] that says \"$upright(\"Config lives in cv.yaml\")$\"","r_it":"a Tex [text] that says \"Written in _Python_\"","r_link":"a Tex [blue] that says \"See the docs\"","recap":"a Block [text] that says \"The cv key holds your content, and every header field is optional. Sections are a dictionary: keys are titles, values are lists of entries. One entry type per section, chosen from the nine. Every text field takes Markdown and Typst, and sp…\"","ty_read_emph":"a Tex [text] that says \"This is _emphasized_ text\"","ty_read_math":"a Math [text] that says \"$f(x) = x^2$\"","typst_note":"a Text [text] that says \"Typst commands work too: a leading hash, the command name, then square brackets around the content.\""},"beats":[{"start":515.6738333333333,"say":"Every text field in the file accepts Markdown, and there are four forms worth knowing. Two asterisks around a phrase make it bold.","live":[],"does":[[515.6738333333333,"head_md is shown on the screen, written out."],[517.6008333333333,"label_write is shown on the screen, written out."],[519.0638333333333,"math is shown on the screen, written out."],[521.4908333333333,"math_2 is shown on the screen, written out."],[523.1278333333332,"label_read is shown on the screen, written out."],[523.1278333333332,"r_bold is shown on the screen, written out."]]},{"start":524.5283333333333,"say":"Square brackets round the words, then round brackets round the address, give you a link.","live":["label_write","math","math_2","label_read","r_bold","head_md"],"does":[[525.2598333333333,"math_3 is shown on the screen, written out."],[529.1488333333333,"r_link is shown on the screen, written out."]]},{"start":530.4578333333333,"say":"A single asterisk either side is italic, and backticks set a phrase apart as code, which is handy for file names and flags.","live":["label_write","math","math_2","math_3","label_read","r_bold","r_link","head_md"],"does":[[531.3158333333333,"math_4 is shown on the screen, written out."],[532.7438333333333,"r_it is shown on the screen, written out."],[534.0218333333332,"math_5 is shown on the screen, written out."],[535.7508333333333,"r_code is shown on the screen, written out."],[539.2693333333333,"head_md is hidden from the screen — left the board."],[539.2693333333333,"label_read is hidden from the screen — left the board."],[539.2693333333333,"label_write is hidden from the screen — left the board."],[539.2693333333333,"math is hidden from the screen — left the board."],[539.2693333333333,"math_2 is hidden from the screen — left the board."],[539.2693333333333,"math_3 is hidden from the screen — left the board."],[539.2693333333333,"math_4 is hidden from the screen — left the board."],[539.2693333333333,"math_5 is hidden from the screen — left the board."],[539.2693333333333,"r_bold is hidden from the screen — left the board."],[539.2693333333333,"r_code is hidden from the screen — left the board."],[539.2693333333333,"r_it is hidden from the screen — left the board."],[539.2693333333333,"r_link is hidden from the screen — left the board."]]},{"start":539.8693333333333,"say":"Because the PDF is typeset with Typst, Typst's own notation is available in those same fields. Surround an expression with double dollar signs and it is set as mathematics.","live":[],"does":[[539.8693333333333,"head_typst is shown on the screen, written out."],[548.3448333333333,"math_6 is shown on the screen, written out."],[548.3448333333333,"math_7 is shown on the screen, written out."],[550.1438333333333,"ty_read_math is shown on the screen, written out."]]},{"start":551.9513333333333,"say":"Typst commands work as well. Write a hash, then the command name, then the content in square brackets. The emphasis command, spelled e m p h, gives you italics, exactly like the phrase standing on the right.","live":["math_6","math_7","ty_read_math","head_typst"],"does":[[555.1788333333333,"typst_note is shown on the screen, written out."],[563.8628333333332,"ty_read_emph is shown on the screen, written out."],[567.4968333333333,"head_typst is hidden from the screen — left the board."],[567.4968333333333,"math_6 is hidden from the screen — left the board."],[567.4968333333333,"math_7 is hidden from the screen — left the board."],[567.4968333333333,"ty_read_emph is hidden from the screen — left the board."],[567.4968333333333,"ty_read_math is hidden from the screen — left the board."],[567.4968333333333,"typst_note is hidden from the screen — left the board."]]},{"start":568.0968333333333,"say":"One last thing about entries. You may add keys of your own to any of them. Here an experience entry carries a revenue figure, which is not part of any schema.","live":[],"does":[[568.0968333333333,"head_keys is shown on the screen, written out."],[569.3388333333332,"math_8 is shown on the screen, written out."],[569.6568103248679,"math_9 is shown on the screen, written out."],[569.9747873164025,"math_10 is shown on the screen, written out."],[570.2927643079371,"math_11 is shown on the screen, written out."],[570.6107412994718,"math_12 is shown on the screen, written out."],[575.2018333333333,"math_13 is shown on the screen, written out."],[577.0708333333333,"math_14 is shown on the screen, written out."],[577.6000415329855,"math_15 is shown on the screen, written out."]]},{"start":578.5768333333333,"say":"By default nothing happens: the extra key is accepted and then ignored, so it is safe to keep notes in the file.","live":["math_8","math_9","math_10","math_11","math_12","math_13","math_14","math_15","head_keys"],"does":[[580.9678333333333,"math_13 is emphasized."],[582.5588333333333,"math_13 is no longer emphasized."]]},{"start":586.3048333333332,"say":"It becomes useful when a template asks for it. The templates field in the design half of the file can print any key you have written, wherever you want it on the page.","live":null,"does":[[587.7798333333333,"keys_list is shown on the screen, written out."],[590.5778333333333,"keys_chip is shown on the screen, written out."],[592.8648333333333,"math_13 is indicated — a transient flash."],[596.0113333333333,"head_keys is hidden from the screen — left the board."],[596.0113333333333,"keys_chip is hidden from the screen — left the board."],[596.0113333333333,"keys_list is hidden from the screen — left the board."],[596.0113333333333,"math_10 is hidden from the screen — left the board."],[596.0113333333333,"math_11 is hidden from the screen — left the board."],[596.0113333333333,"math_12 is hidden from the screen — left the board."],[596.0113333333333,"math_13 is hidden from the screen — left the board."],[596.0113333333333,"math_14 is hidden from the screen — left the board."],[596.0113333333333,"math_15 is hidden from the screen — left the board."],[596.0113333333333,"math_8 is hidden from the screen — left the board."],[596.0113333333333,"math_9 is hidden from the screen — left the board."]]},{"start":596.6113333333333,"say":"So, four things to take away. Your content lives under the cv key, and every field of the header is optional.","live":[],"does":[[596.6113333333333,"head_recap is shown on the screen, written out."],[597.3538333333332,"recap is shown on the screen, written out."],[602.8918333333332,"recap (the \"header field is optional\" part) is emphasized."]]},{"start":604.8273333333333,"say":"Sections are a dictionary, where the keys are the titles that get printed and the values are lists of entries. Each section holds a single entry type, chosen from the nine.","live":["recap","head_recap"],"does":[[605.8488333333332,"recap (the \"Sections are a dictionary\" part) is emphasized."],[605.8488333333332,"recap (the \"header field is optional\" part) is no longer emphasized."],[612.9078333333333,"recap (the \"One entry type per section\" part) is emphasized."],[612.9078333333333,"recap (the \"Sections are a dictionary\" part) is no longer emphasized."]]},{"start":615.9693333333332,"say":"And every text field in the whole file takes Markdown and Typst, while any spare key you write sits quietly until a template calls for it. That is the content half of RenderCV, from top to bottom.","live":null,"does":[[618.2218333333333,"recap (the \"Markdown and Typst\" part) is emphasized."],[618.2218333333333,"recap (the \"One entry type per section\" part) is no longer emphasized."],[627.8808333333333,"recap (the \"Markdown and Typst\" part) is no longer emphasized."],[628.8168958333333,"head_recap is hidden from the screen — left the board."],[628.8168958333333,"recap is hidden from the screen — left the board."]]}]}]},"durationSeconds":630,"chapters":[{"title":"One File, Two Halves","startSeconds":0,"narration":"RenderCV takes one YAML file and gives you back a typeset PDF. Everything you write about yourself lives under a single top level key, and that key is what this lecture is about: the header at the top, the sections underneath it, and the nine entry types the sections are built from. Here is the start of such a file. The key is called cv, and it holds the whole of your content. Under it, three plain strings. A name, a headline, and a location. None of them is compulsory, and none of them is parsed: they are printed as you typed them. Then one more key, sections, and everything below the header hangs off it. Its keys are the titles you want printed. Here a summary, written as a single line of text, and then an experience section with one job in it. Now put the finished page beside it. The name is set largest, across the top, with the headline and the location under it. Each key under sections becomes a heading with a rule beneath it, and the entries you listed are set below that. The second key gives the second heading, in the order you wrote them. So the file has two halves. The header fields, which are all optional, and the sections, which carry the content. We will take the header first, then the one rule every section has to obey, and then each entry type in turn."},{"title":"The Header","startSeconds":89.05575,"narration":"The header is everything above the first section heading. Every field in it is optional, so begin with a blank page and add only what you want on it. Under cv, the name comes first. It is the line set largest, across the top. A headline goes under it, one short line for your role. Then a location, printed exactly as you typed it. Next, the ways to reach you: an email address, a phone number, and a website. These are gathered into one row of links beneath your name. Write the phone number in full international form. How it is displayed, national, international, or E164, is decided over in the design half of the file, by this long field name. Add a photo, and RenderCV places the image itself on the page. Emails, phone numbers and websites can each be a list rather than a single value. One address looks like this. Several of them look like this: the key on its own, then a list underneath. They are printed in the order you wrote them. Networks that RenderCV knows about have a field of their own. Social networks takes a list, and each item is a pair: which network, and your username on it. Two pairs here, LinkedIn and GitHub. Each pair becomes one link, carrying that network's own icon, and the address is built for you. For anything else there are custom connections. Give the text you want shown, the address behind it, and the name of a Font Awesome icon. Leave the address out and the item is printed as plain text beside its icon, which is a tidy way to show something that is not a link. The icon names themselves come from the Font Awesome search page. That is the header: nine fields, every one of them optional, and RenderCV lays out whatever you provide. Now the sections underneath it."},{"title":"Sections and Their One Rule","startSeconds":212.93027083333334,"narration":"On the finished page a section is just a title, a rule under it, and the entries beneath. In the file, one section is one key with a list under it. So sections is a dictionary, not a list. Its keys are the titles you want printed, and its values are lists of entries. A title can be any string, and it is printed exactly as written. Nothing about that name tells RenderCV what kind of entries are inside. Which means one section can be written in several ways. Here is the same job, three times over. First as an experience entry, with the company and the position as separate keys. Second, the same job as a normal entry. One name, and the dates. Everything else about it is optional. Third, as bullet entries: one line each, with the emphasis written in Markdown. Same section title, three quite different layouts. So the name of a section never decides its entry type. You pick the type that suits the content, section by section. There is one rule to obey. Here a section starts as an experience entry, and then a school is added underneath it as an education entry. RenderCV will not take it. Mixing two types inside one section is refused, so keep one type per section and open a second section for the other. One dictionary of titled sections, and one entry type inside each. Next, the types themselves."},{"title":"Entries With Dates and Highlights","startSeconds":305.7998958333333,"narration":"RenderCV gives you nine entry types. They differ in the keys they accept and in how they are laid out on the page. Four of them carry dates and highlights, and this part is about those four: education, experience, publication, and normal. The remaining five are the compact ones, a single line or a single field each, and they come later. Start with the education entry, for a school. It has nine fields, and only two of them are required. Those two are the institution, and the area you studied. Everything else may be left out. The degree is a field of its own, so BS, MSc or PhD sits apart from the subject. Dates come as a pair, a start date and an end date, in year and month form. There is also a plain date field, which takes any string you like and overrides that pair, so you use one or the other, never both. Then a location, and highlights, which is a list of strings. Each string in it becomes one bullet under the entry. The experience entry has exactly the same shape, with two different keys at the front: the company, and the position you held there. Everything after that is the pattern you already know: the two dates, with the word present for a job you still hold, then a location, a summary, and the highlights, one line for each accomplishment you want to list. A publication entry needs a title and a list of authors. Write the authors as they should be printed, and wrap your own name in single asterisks to have it emphasised in the list. The rest is optional. A journal or venue, a DOI, a link, and a date. The identifier and the link are rendered for you as addresses. The normal entry is the general purpose one. It needs a single key, the name, and it is what you reach for when nothing more specific fits. Its optional fields are the familiar set: the dates, a location, a summary and highlights. Projects, awards, certificates and talks all sit happily in one of these."},{"title":"The Compact Entry Types","startSeconds":438.63360416666666,"narration":"The one line entry has two fields, and both are required: a label, and the details that belong to it. It is what most people use for skills. On the page the label is set in bold, and the details follow it on the same line. One pair, one line. A second pair gives a second line, and a whole skills section is usually four or five of them, stacked. Three of the nine types have exactly one field each. The bullet entry carries a single string, and it is printed as one bullet point. The numbered entry works the same way, except the items are counted for you, upward from one, in the order you wrote them. The reversed numbered entry counts the other way, downward, which is what you want for a publication list where the newest paper comes first. All three take one field and nothing else, so they are the cheapest way to put a plain list on the page. And the last type has no keys whatsoever. You write the string itself, as an item of the list, and that is the entire entry. Each string becomes its own paragraph, which makes this the natural choice for a summary at the top of a CV. That is all nine types."},{"title":"Formatting, and Keys of Your Own","startSeconds":515.6738333333333,"narration":"Every text field in the file accepts Markdown, and there are four forms worth knowing. Two asterisks around a phrase make it bold. Square brackets round the words, then round brackets round the address, give you a link. A single asterisk either side is italic, and backticks set a phrase apart as code, which is handy for file names and flags. Because the PDF is typeset with Typst, Typst's own notation is available in those same fields. Surround an expression with double dollar signs and it is set as mathematics. Typst commands work as well. Write a hash, then the command name, then the content in square brackets. The emphasis command, spelled e m p h, gives you italics, exactly like the phrase standing on the right. One last thing about entries. You may add keys of your own to any of them. Here an experience entry carries a revenue figure, which is not part of any schema. By default nothing happens: the extra key is accepted and then ignored, so it is safe to keep notes in the file. It becomes useful when a template asks for it. The templates field in the design half of the file can print any key you have written, wherever you want it on the page. So, four things to take away. Your content lives under the cv key, and every field of the header is optional. Sections are a dictionary, where the keys are the titles that get printed and the values are lists of entries. Each section holds a single entry type, chosen from the nine. And every text field in the whole file takes Markdown and Typst, while any spare key you write sits quietly until a template calls for it. That is the content half of RenderCV, from top to bottom."}]}}
