Package: ezcv
ezcvA python-based static site generator for setting up a CV/Resume siteTable of ContentsWhat does ezcv do?Features & RoadmapWhy should I use ezcv?Who is ezcv for?Quick-startNo-code setupInstallationFrom PyPiFrom sourceGetting startedDefault File structureCLIAdditional DocumentationExamples and resourcesWhat does ezcv do?ezcv is a purpose built static site generator for creating personal resume/portfolio/cv sitesFeatures & RoadmapA large collection ofbuilt in themesFlexible templating with Jinja2Fully customizable configuration files and sectionsSimple markdown syntax for content buildingWhy should I use ezcv?ezcv is a great choice if:You are fond of one of thebuilt in themesYou want a free and open source static site generatorIf you want a simple to use static site generator based on JinjaIf you are familiar with markdown and yaml, and want a system that can be extendedYou are not familiar with static site generators and want a simple one to try outYou want a static site generator with a built in github pages deploy pipelineezcv is not a great choice if:You want a widely used industry solution (something likehugoorjekylwould be better for this)You need low level access to the API for complicated extensions that are not possible within jinjaYou are not familiar with markdown, yaml and jinja and want a frontend to edit your site with (netlify,squarespaceorwixwould be better for this)Who is ezcv for?People who are not necessarily familiar with coding, let alone web developmentPeople who are familiar with web development and want a very simple to use static site generatorPeople who are familiar with web development but don't want to bother writing pure html for their siteQuick-startHere's everything you need to know to get started with ezcv.No-code/remote setupNote that there is an option to develop a site completely on your browser without needing to install anything or know how to use git. For details on setting this up, please visithttps://ezcv.readthedocs.io/en/latest/quick-start/#remote-editing.InstallationTo use ezcv you will need python 3.6+ (earlier versions wont work) and pip for python 3.From PyPiRunpip install ezcvFrom sourceClone this repo:https://github.com/Descent098/ezcvRunpip install .orsudo pip3 install .in the root directoryGetting startedThe easiest way to get started is by running:ezcv init <name>Replacing the<name>argument with your name (use "" if you want to use your full name i.e.ezcv init "Kieran Wood").File structureWhen you run the command a new folder will be created with your name, and some starter files like this:LegendIconMeaning📁File Folder📷Image file📝File you should edit/delete📄File you don't need to edit/shouldn't delete📁<name>/
├── 📁.github/
│   └── 📁workflows/
│       └── 📄ezcv-publish.yml
├── 📁content/
│   ├── 📁education/
│   |   ├── 📝example-current.md
│   |   └── 📝example-old.md
│   ├── 📁projects/
│   |   └── 📝example.md
│   ├── 📁volunteering_experience/
│   |   ├── 📝example-current.md
│   |   └── 📝example-old.md
│   └── 📁volunteering_experience/
│       ├── 📝example-current.md
│       └── 📝example-old.md
├── 📁images/
│   ├── 📷 abstract-landscape.jpg
│   └── 📷 ice-caps.jpg
├── 📄.gitignore
└── 📝config.ymlFrom here you can go into yourconfig.ymlfile andpick a theme, then start filling out your content according to what's available for the theme.To preview your content use:ezcv -pIf you're on github then pushing the contents to master/main will activate the publish workflow and automatically publish the site to<username>.github.io.CLIUsage:ezcv[-h][-v][-p]ezcvbuild[-dOUTPUT_DIR][-o]ezcvinit[<name>][<theme>][-f]ezcvtheme[-l][-c][-m][<theme>]ezcvsection<SECTION_NAME>[-t=<type>]Options:
-h,--helpshowthishelpmessageandexit-v,--versionshowprogram'sversionnumberandexit-l,--listlistthepossiblethemes
-c,--copycopytheprovidedtheme,ordefinedsitetheme
-p,--previewpreviewthecurrentstateofthesite
-o,--optimizeOptimizeoutputfiles(takeslongertorun)-f,--flaskGenerateFlaskroutesandrequirements.txt
-dOUTPUT_DIR,--dirOUTPUT_DIRThefoldernametoexportthesiteto
-m,--metadataGeneratemetadataforthetheme
-t=<type>,--type=<type>Thetypeofsectiontogenerate[default:markdown]See theCLI Documentationfor additional detailsAdditional DocumentationUser DocsAPI DocsExamples and resourcesTemplate repository for bootstrapping projectsTemplate repository for ezcv integrated with flaskSee documentation forincluded themesfor examples of each of the included themesChangelogV0.3.5; November 17th 2023Fixed new installationsBug fixesPinned tornado to < 6.3 to avoid issues with environment no longer being statichttps://www.tornadoweb.org/en/stable/wsgi.html#tornado.wsgi.WSGIContainer.environ:~:text=Changed%20in%20version%206.3%3A%20No%20longer%20a%20static%20method.https://github.com/lepture/python-livereload/issues/270https://stackoverflow.com/questions/76182748/pyfyre-typeerror-wsgicontainer-environV0.3.4; July 29th 2022Adding a fix for macos installationsBug FixesFixed macos install bugsV0.3.3; May 25th 2022The focus for this release was adding features that were not finalized in time for the0.3.0-0.3.2releases, and cleaning up some bugs.FeaturesAddedrequired_configsection to theme metadata that's used:on initialization to generate theconfig.ymlfileon build to cancel the build if a required value is missing fromconfig.ymlAdded section command (noteezcv theme -s <section name>will no longer work)useezcv section <section name>to get informationuseezcv section <section name> [<type>]to create a new section (notetypeis only required for any non-markdown sections i.e. blogs [can be "blog" or "b"] or galleries [can be "gallery" or "g"]). Seecli documentationfor full usage detailsAdded deepsource integrationAdded issue template for creating new themesThemesAddedmassivelyAddedblogAddedevieAddedparallaxBug FixesFixed bug with downloadingaerialtheme from remoteFixed bug whereezcv_versionwas generated incorrectly in the metadataFixed a bug where a theme without ametadata.ymlfile would not load properlyV0.3.2; May 16th 2022More minor fixesBug FixesIncluded missingflaskdependencyV0.3.1; May 16th 2022Minor fixes related to releaseBug FixesFixed broken previews on documentation siteIncluded missinglivereloaddependencyDocumentation improvementsAdded additional theme provider suggestionsV0.3.0; May 16th 2022The focus for this release is on adding blog support, QoL features and making ezcv a more well rounded static site builder. There will be a few items released in0.3.1that were meant for0.3.0, but due to the need forpython -m ezcvin order for github pipelines to work this release is going out now.FeaturesBlog postsTheme MetadataAdding an optimized mode for builds to increase site performanceAdded ability to create and use custom ad-hoc filters; pass a list of function objects (calledextra_filters) toezcv.generate_site()Added ability to directly invoke ezcv through python binary after installationpython -m ezcvAdded ability to specify a remote URl forconfig.ymltheme variableAdded continuous previewing toezcv -pAdded option to initialize with flaskezcv init -fAddedpython -m ezcvinvocationAdded logging to files so attached loggers can get details for troubleshooting (logging.info and logging.debug are recommended settings)ThemesAdded ability to embed theme metadataAdded blog section to existing themesdimensiongrayscalesolid_stateread_onlyBug FixesAdded missinghighlightjsto all themes for code blocksFixed bugs with preview loading in included themes docsDocumentation improvementsAdded sections documenting new featuresRearranged included themes section to be alphabeticalAdded section outlining sequence diagram for site generationAdded additional resources to help generating contentAdded notice thanking theme providersV0.2.2; August 2nd 2021Documentation bugs after releaseBug fixesFixed issue with mkdocs build not recognizing correct URL and image pathsV0.2.1; August 2nd 2021Fixed bugs after releaseBug fixesFixed the fact that colored was not included as setup.py dependencyV0.2.0; August 2nd 2021The focus for this release is to add new features and themesFeaturesAdded Resume GeneratorSetup remote theme supportAdded new section; gallerySupports multiple images being put together into a galleryGoogle analytics config optionCustom FaviconAdded new section creation CLIWhen initializing with a theme that is not downloaded it will try to be downloaded on initialization instead of first buildAdded support for all standard markdown file extensions (.md, .markdown, .mdown, .mkdn, .mkd, .mdwn)Added support for many image file extensions as content (.jpg, .png, .jpeg, .gif, .svg, .webp, .apng, .jfif, .pjpeg, .pjp)Added many new markdown extensionsfootnotestablestoc (Table of contents)abbr(abbreviations)def_list(Definition lists)sane_lists(Sane lists)mdx_math(Latex/formulas)Created filters module for creating custom Jinja filters (will be an exposed API for adding your own in v0.3.0)Created several custom filters for optimizing & simplifying theme developmentsplit_to_sublists; Takes a list and splits it into sublists of size nget_image_path; Takes in the path to an image and returns it in usable format to use in img tags as src attributeget_filename_without_extension; Takes in path and returns filename without extensionpretty_datetime; A utility function for pretty printing dates provided for jobs/getting a degree/volunteering etcpretty_defaultdict; Returns a prettyprinted form of a defaultdictThemesMoved existing themes to new repohttps://github.com/QU-UP/ezcv-themesAdded new themescvGrayscaleParadigm ShiftLensBug fixesFixed markdown files with different standard extensions not being recognizedFixed markdown files with capitalized extensions not being recognizedDocumentation ImprovementsAdded documentation for new featuresAdded additional onboarding videos/tutorialsAdded section for finding help/supportV0.1.1; January 10th 2020Fixes following initial launchBug fixesAdded additional warnings for if necessary config value is not providedDocumentation improvementsUpdated necessary docstringsV0.1.0; January 10th 2020Initial release of ezcvFeaturesThemes Added:aerialbasecreativedimensionetherealfreelancerIdentityRead onlySolid StatestrataAdded initialexample siteAdded initialCLIAdded initialcore filesAdded topypiDocumentation improvementsAdded initialapi docsAdded initialuser docs