<commit_before>const { stripIndent, source } = require('common-tags')

function template6({ profile, schools, jobs, projects, skills }) {
  return stripIndent`
    ${generateHeader()}
    \\begin{document}

    ${generateProfileSection(profile)}
    ${generateEducationSection(schools)}

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Experience}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    \\begin{itemize}[leftmargin=*]
    \\item[]
        \\job
            {Mozilla}
            {Mountain View, CA}
            {Software Engineer Intern}
            {Jun 2016 – Aug 2016}
            \\begin{itemize}
            \\item Broadened search criteria for Firefox’s context menu to include subdomains in password suggestions
            \\item Refactored disabled-host APIs to use the permission manager for both Firefox and Android’s Fennec.
            \\item Fixed regressions for Firefox Electrolysis and improved dialogs and notification popups.
            \\end{itemize}

        \\job
            {Codecademy}
            {Manhattan, NY}
            {Coding Advisor}
            {Dec 2015 – May 2016}
            \\begin{itemize}
            \\item Created a JavaScript project for Codecademy Pro members now available in the new JS course.
            \\item Taught new coders how to avoid bugs and how to go through the process of fixing existing ones.
            \\item Reviewed general programming topics with students and provided assistance for lessons in Java, HTML, CSS, JavaScript, and Ruby.
            \\end{itemize}

        \\job
            {IEEE}
            {Piscataway, NJ}
            {Application Developer Intern}
            {Jun 2015 – Nov 2015}
            \\begin{itemize}
            \\item Wrote an API that allowed CRUD operations to be used for accessing and manipulating data involving current departments/groups/teams at IEEE.
            \\item Created a UI for admins that used the aforementioned API to automate the process of syncing departments/groups/teams on the site to relevant databases.
            \\item Improved the IEEE Innovate site by using cookies to display tailored web-content.
            \\end{itemize}
    \\end{itemize}


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Skills}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    \\begin{itemize}[leftmargin=*]
    \\setlength\\itemsep{0em}
    \\item[] \\skill{Languages:}{Java, JavaScript, Ruby, Python, HTML, CSS}
    \\item[] \\skill{Frameworks:}{Node.js, Koa, Express, React, Redux}
    \\end{itemize}


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Projects}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\begin{itemize}[leftmargin=*]
    \\item[]
        \\project
            {LaTeX Resume Generator}
            {Node.js, Koa, React, Redux}
            {https://latexresu.me}
            {A webapp for generating LaTeX resumes from form data (including this one).}

        \\project
            {Flow Timer}
            {Node.js, Koa, React, Redux, PostgreSQL}
            {https://flowtimer.com}
            {A modern speedcubing app with a scrambler, timer, and analyzer for cubing statistics.}

        \\project
            {Reddit Image Scraper}
            {Ruby, Sinatra}
            {https://reddit-image-scraper.herokuapp.com}
            {A web app that lets you view a collage of images/videos from a subreddit.}
    \\end{itemize}


    \\end{document}
  `
}

function generateProfileSection(profile) {
  if (!profile) {
    return ''
  }

  const { fullName, email, phoneNumber, address, link } = profile
  const info = [email, phoneNumber, address, link].filter(Boolean).join(' | ')

  return stripIndent`
    \\begin{tabular*}{7in}{l@{\\extracolsep{\\fill}}r}
    \\textbf{\\Large ${fullName}} & \\textit{${info}}
    \\end{tabular*}
  `
}

function generateEducationSection(schools) {
  if (!schools) {
    return ''
  }

  return source`
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Education}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\begin{itemize}[leftmargin=*]

    ${schools.map((school) => {
      const { name, location, degree, major, gpa, graduationDate } = school

      let degreeLine = ''

      if (degree && major) {
        degreeLine = `${degree} in ${major}`
      } else if (degree || major) {
        degreeLine = degree || major
      }

      if (gpa) {
        degreeLine += degreeLine ? `, GPA: ${gpa}` : gpa
      }

      return stripIndent`
        \\item[]
          \\school
            {${name || ''}}
            {${location || ''}}
            {${degreeLine}}
            {${graduationDate || ''}}
      `
    })}

    \\end{itemize}
  `
}

function generateHeader() {
  return stripIndent`
    % (c) 2002 <NAME> <<EMAIL>> (original author) http://mboedick.org
    % (c) 2003-2007 <NAME> <<EMAIL>> http://www.davidgrant.ca
    % (c) 2008 <NAME> <<EMAIL>> http://www.nathanieljohnston.com
    %
    % (c) 2012 <NAME> <<EMAIL>> cam.cornell.edu/~sc932
    %
    %This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

    \\documentclass[11pt, a4paper]{article}
    \\newlength{\\outerbordwidth}
    \\pagestyle{empty}
    \\raggedbottom
    \\raggedright<commit_msg>add experienc section for template6<commit_after>const { stripIndent, source } = require('common-tags')

function template6({ profile, schools, jobs, projects, skills }) {
  return stripIndent`
    ${generateHeader()}
    \\begin{document}

    ${generateProfileSection(profile)}
    ${generateEducationSection(schools)}
    ${generateExperienceSection(jobs)}

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Skills}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    \\begin{itemize}[leftmargin=*]
    \\setlength\\itemsep{0em}
    \\item[] \\skill{Languages:}{Java, JavaScript, Ruby, Python, HTML, CSS}
    \\item[] \\skill{Frameworks:}{Node.js, Koa, Express, React, Redux}
    \\end{itemize}


    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Projects}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\begin{itemize}[leftmargin=*]
    \\item[]
        \\project
            {LaTeX Resume Generator}
            {Node.js, Koa, React, Redux}
            {https://latexresu.me}
            {A webapp for generating LaTeX resumes from form data (including this one).}

        \\project
            {Flow Timer}
            {Node.js, Koa, React, Redux, PostgreSQL}
            {https://flowtimer.com}
            {A modern speedcubing app with a scrambler, timer, and analyzer for cubing statistics.}

        \\project
            {Reddit Image Scraper}
            {Ruby, Sinatra}
            {https://reddit-image-scraper.herokuapp.com}
            {A web app that lets you view a collage of images/videos from a subreddit.}
    \\end{itemize}


    \\end{document}
  `
}

function generateProfileSection(profile) {
  if (!profile) {
    return ''
  }

  const { fullName, email, phoneNumber, address, link } = profile
  const info = [email, phoneNumber, address, link].filter(Boolean).join(' | ')

  return stripIndent`
    \\begin{tabular*}{7in}{l@{\\extracolsep{\\fill}}r}
    \\textbf{\\Large ${fullName}} & \\textit{${info}}
    \\end{tabular*}
  `
}

function generateEducationSection(schools) {
  if (!schools) {
    return ''
  }

  return source`
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Education}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\begin{itemize}[leftmargin=*]

    ${schools.map((school) => {
      const { name, location, degree, major, gpa, graduationDate } = school

      let degreeLine = ''

      if (degree && major) {
        degreeLine = `${degree} in ${major}`
      } else if (degree || major) {
        degreeLine = degree || major
      }

      if (gpa) {
        degreeLine += degreeLine ? `, GPA: ${gpa}` : gpa
      }

      return stripIndent`
        \\item[]
          \\school
            {${name || ''}}
            {${location || ''}}
            {${degreeLine}}
            {${graduationDate || ''}}
      `
    })}

    \\end{itemize}
  `
}

function generateExperienceSection(jobs) {
  if (!jobs) {
    return ''
  }

  return source`
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\resheading{Experience}
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \\begin{itemize}[leftmargin=*]
    ${jobs.map((job) => {
      const { name, title, location, startDate, endDate, duties } = job

      let dateRange = ''
      let dutyLines = ''

      if (startDate && endDate) {
        dateRange = `${startDate} | ${endDate}`
      } else if (startDate) {
        dateRange = `${startDate} | Present`
      } else {
        dateRange = endDate
      }

      if (duties) {
        dutyLines = source`
          \\begin{itemize}
            ${duties.map(duty => `\\item ${duty}`)}
          \\end{itemize}
        `
      }

      return stripIndent`
        \\item[]
          \\job
            {${name || ''}}
            {${location || ''}}
            {${title || ''}}
            {${dateRange}}
            ${dutyLines}
      `
    })}
    \\end{itemize}
  `
}

function generateHeader() {
  return stripIndent`
    % (c) 2002 <NAME> <<EMAIL>> (original author) http://mboedick.org
    % (c) 2003-2007 <NAME> <davidgrant-at-gmail.com> http://www.davidgrant.ca
    % (c) 2008 <NAME> <<EMAIL>> http://www.nathanieljohnston.com
    %
    % (c) 2012 <NAME> <<EMAIL>> cam.cornell.edu/~sc932
    %
    %This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.5 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/2.5/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.

    \\documentclass[11pt, a4paper]{article}
    \\newlength{\\outerbordwidth}
    \\pagestyle{empty}
    \\raggedbottom
    \\raggedright
{'fraction_non_alphanumeric': 0.17707493956486706, 'fraction_numerical': 0.010979049153908139, 'mean_word_length': 2.3374789915966385, 'pattern_counts': {'":': 0, '<': 26, '<?xml version=': 0, '>': 30, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4735397', 'n_tokens_mistral': 3076, 'n_tokens_neox': 2878, 'n_words': 755}