Sota Masuda’s Home Page
There are two main sections in this repository:
- Blog: This is a blog section where I write about various topics, including programming, technology, and personal experiences. The blog is built using Next.js and Markdown files. And hosted on Vercel.
- Resume: This is a resume section where I showcase my professional experience, skills, and education. The resume is built using md-to-pdf npm package, which converts Markdown files to PDF format with custom styles.
Blog
(TODO: move the code from root to blog directory)
/blog/* contains the blog service implementation.
/blog/_posts/* contains the blog posts in Markdown format.
How to add a new blog post
The blog posts are stored in /_posts as Markdown files with front matter support. Adding a new Markdown file in there will create a new blog post.
How it works
To create the blog posts we use remark and remark-html to convert the Markdown files into an HTML string, and then send it down as a prop to the page. The metadata of every post is handled by gray-matter and also sent in props to the page.
Resume
/docs/md/* contains the resume in Markdown format.
/docs/out/* contains the artifacts such as the generated PDF files. but those files are ignored by git.
/docs/justfile collects the commands to handle the resume generation. Let’s try cd docs && just to see the available commands.
Features
- Automatically generates a PDF version of the resume from Markdown files and publishes it to GitHub releases.
- Customeizable styles for the PDF using CSS.
- Local generation of the PDF using
md-to-pdf npm package. (Using just command)
What this repository does NOT do
- It does not generate a website for the resume. The resume is only available in PDF format.
- It does not provide a way to host the resume online. The resume is only available as a downloadable PDF file as a GitHub release asset.
How to update and publish the resume
- Update
- Update the resume in
docs/md/en|jp/RESUME.md files.
- Update the styles in
docs/css/*.css files if needed.
- Push the changes to the
main branch.
- Generate and Publish
- Trigger the GitHub action
build pdf manually
- Select the branch, mostly
main branch should be right.
- Set the
Tag name to the version you want to publish. (if tag: v1.0.0 then Release v1.0.0)
- This will generate the PDF files, create a new release, and upload the PDF files as assets to the release.
How to generate the PDF locally
- Install the dependencies using
npm install.
- Run the
just resume-pdf command to generate the PDF files.
- The generated PDF files will be saved in the
pdf directory.
pdf/*.pdf is ignored by git, so you can safely delete them.
How it works
(TBD)