diff --git a/Gemfile b/Gemfile index e82fe9b..0c81987 100644 --- a/Gemfile +++ b/Gemfile @@ -8,4 +8,6 @@ gem "lagrange", "~> 4.0" # If you have any plugins, put them here! group :jekyll_plugins do gem "jekyll-feed", "~> 0.12" + gem "jekyll-seo-tag", "~> 2.8" + gem "jekyll-sitemap", "~> 1.4" end diff --git a/Gemfile.lock b/Gemfile.lock index 15765f8..54e102c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -81,6 +81,8 @@ PLATFORMS DEPENDENCIES jekyll (~> 4.3.2) jekyll-feed (~> 0.12) + jekyll-seo-tag (~> 2.8) + jekyll-sitemap (~> 1.4) lagrange (~> 4.0) BUNDLED WITH diff --git a/_config.yml b/_config.yml index 694fd77..231a8bd 100644 --- a/_config.yml +++ b/_config.yml @@ -20,12 +20,22 @@ title: Joshua Potter description: My portfolio +author: Joshua Potter github_username: jrpotter # Build settings theme: lagrange plugins: - jekyll-feed + - jekyll-seo-tag + - jekyll-sitemap + +markdown: kramdown +highlighter: route +permalink: /:title + +hide_post_share: true +hide_related_posts: true # Exclude from processing. # The following items will not be processed, by default. diff --git a/_data/settings.yml b/_data/settings.yml new file mode 100644 index 0000000..9fb906e --- /dev/null +++ b/_data/settings.yml @@ -0,0 +1,18 @@ +menu: + - name: "Home" + - name: "Projects" + url: "projects.html" + - name: "Archive" + url: "archive.html" + +social: + - icon: "github" + link: "https://github.com/jrpotter" + - icon: "rss-square" + link: "https://blog.jrpotter.com" + - icon: "book" + link: "https://bookshelf.jrpotter.com" + - icon: "linkedin" + link: "https://www.linkedin.com/in/jrpotter2112/" + - icon: "hdd-o" + link: "https://www.zotero.org/jrpotter2112/library" diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 0000000..d3252b9 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,4 @@ + diff --git a/_layouts/archive.html b/_layouts/archive.html new file mode 100644 index 0000000..d0a0b42 --- /dev/null +++ b/_layouts/archive.html @@ -0,0 +1,28 @@ +--- +layout: default +--- + +

+ {{ page.title }} +

+ + diff --git a/_layouts/home.html b/_layouts/home.html new file mode 100644 index 0000000..cd7bd8e --- /dev/null +++ b/_layouts/home.html @@ -0,0 +1,30 @@ +--- +layout: default +--- + +

+ The following websites are served from NixOS + machines hosted on Digital Ocean. + Configuration files for each of my machines can be found here. + If interested in starting a similar hosting solution, consider getting a $200 + credit using my referral link. +

+ +{% for post in site.posts %} +{% if post.categories contains "home" %} +
+

+ {{ post.title }} +

+ {% if post.image %} +
+ +
+ {% endif %} +

+ {{ post.content }} + +

+
+{% endif %} +{% endfor %} diff --git a/_layouts/post.html b/_layouts/post.html new file mode 100644 index 0000000..c98807b --- /dev/null +++ b/_layouts/post.html @@ -0,0 +1,29 @@ +--- +layout: default +--- + +

+ {{ page.title }} +

+{% if page.image %} +
+ + + +
+{% endif %} +
+ {{ content }} +
+{% if site.hide_post_date != true %} + {% include post-date.html %} +{% endif %} +{% if site.hide_post_share != true %} + {% include social-sharing.html %} +{% endif %} +{% if site.hide_related_posts != true %} + {% include related-posts.html %} +{% endif %} +{% if site.data.settings.disqus.comments %} + {% include disqus.html %} +{% endif %} diff --git a/_layouts/projects.html b/_layouts/projects.html new file mode 100644 index 0000000..1776382 --- /dev/null +++ b/_layouts/projects.html @@ -0,0 +1,22 @@ +--- +layout: default +--- + +{% for post in site.posts %} +{% if post.categories contains "project" %} +
+

+ {{ post.title }} +

+ {% if post.image %} +
+ +
+ {% endif %} +

+ {{ post.content }} + +

+
+{% endif %} +{% endfor %} diff --git a/_posts/2021-12-08-blog.md b/_posts/2021-12-08-blog.md new file mode 100644 index 0000000..7e00c8a --- /dev/null +++ b/_posts/2021-12-08-blog.md @@ -0,0 +1,13 @@ +--- +layout: post +title: Blog +categories: home +tags: [ruby, jekyll, nix] +href: "https://blog.jrpotter.com" +image: jekyll.png +--- + +I occasionally write about (usually) technical concepts in my blog. Originally +powered by Github Pages, I've since moved the [Jekyll](https://jekyllrb.com/){:target="_blank"}-based +project to a self-hosting solution. Theming is provided by +[Chirpy](https://github.com/cotes2020/jekyll-theme-chirpy){:target="_blank"}. diff --git a/_posts/2021-12-28-homesync.html b/_posts/2021-12-28-homesync.html new file mode 100644 index 0000000..271f167 --- /dev/null +++ b/_posts/2021-12-28-homesync.html @@ -0,0 +1,13 @@ +--- +layout: post +title: Homesync +categories: project +tags: [rust, git, nix] +href: "https://github.com/jrpotter/homesync" +--- + +An experimental Rust-based project for automatically syncing files scross your +desktop to a git repository. Allows upstream and downstream syncing with a +single command, without any need to copy files manually to and from a git +repository. Separately, a daemon can be spawned that watches files for changes +and pushes/pulls them as they happen. diff --git a/_posts/2022-07-02-anki-synonyms.md b/_posts/2022-07-02-anki-synonyms.md new file mode 100644 index 0000000..e5aeb8c --- /dev/null +++ b/_posts/2022-07-02-anki-synonyms.md @@ -0,0 +1,10 @@ +--- +layout: post +title: Anki Synonyms +categories: project +tags: [python, anki] +href: "https://github.com/jrpotter/anki-synonyms" +--- + +An [Anki](https://apps.ankiweb.net/){:target="_blank"} plugin for specifying +synonyms within flashcard question and answer prompts. diff --git a/_posts/2023-02-05-bookshelf.md b/_posts/2023-02-05-bookshelf.md new file mode 100644 index 0000000..8892292 --- /dev/null +++ b/_posts/2023-02-05-bookshelf.md @@ -0,0 +1,13 @@ +--- +layout: post +title: Bookshelf +categories: home +tags: [lean, latex, nix] +href: "https://bookshelf.jrpotter.com" +image: lean.svg +--- + +A collection of books I am actively studying. Usually mathematics or +computer-science based, I aim to prove concepts as I encounter them using the +[Lean](https://lean-lang.org/){:target="_blank"} interactive theorem prover. All +proofs are also available in [LaTeX](https://www.latex-project.org/){:target="_blank"}. diff --git a/_posts/2023-11-17-bootstrap.md b/_posts/2023-11-17-bootstrap.md new file mode 100644 index 0000000..47ce3c6 --- /dev/null +++ b/_posts/2023-11-17-bootstrap.md @@ -0,0 +1,14 @@ +--- +layout: post +title: Boostrap +categories: project +tags: [c, nix] +href: "https://github.com/jrpotter/bootstrap" +--- + +A C-based CLI for initializing projects in a flexible but deterministic way. +Originally motivated to serve as a better alternative to +[Nix flake templates](https://github.com/NixOS/templates){:target="_blank"}, +`bootstrap` allows you to provide different parameters to custom initialization +scripts akin to `npm init`, `django-admin startproject`, etc. + diff --git a/_posts/2023-11-26-boardwise.md b/_posts/2023-11-26-boardwise.md new file mode 100644 index 0000000..c8aa905 --- /dev/null +++ b/_posts/2023-11-26-boardwise.md @@ -0,0 +1,16 @@ +--- +layout: post +title: BoardWise +categories: home +tags: [elixir, react, nix] +href: "https://boardwise.gg" +image: boardwise.svg +--- + +A [Phoenix](https://www.phoenixframework.org/){:target="_blank"}- and +[React](https://react.dev/){:target="_blank"}-based project that provides an +interface for finding chess coaches. This serves as an alternative to those +found on [Lichess](https://lichess.org/coach){:target="_blank"} and +[Chess.com](https://www.chess.com/coaches){:target="_blank"}. Based on the +[Tailwind Studio](https://tailwindui.com/templates/studio){:target="_blank"} +theme. diff --git a/_sass/_-sections-dir.scss b/_sass/_-sections-dir.scss new file mode 100644 index 0000000..03311d6 --- /dev/null +++ b/_sass/_-sections-dir.scss @@ -0,0 +1,6 @@ +@import "base", + "code", + "default", + "home", + "post", + "social-icons" diff --git a/_sass/_home.scss b/_sass/_home.scss new file mode 100644 index 0000000..b2efa8a --- /dev/null +++ b/_sass/_home.scss @@ -0,0 +1,12 @@ +.home-description, .posts-container { + padding-bottom: 25px; +} + +.thumbnail-container { + text-align: center; + + img { + width: auto; + height: 200px; + } +} diff --git a/_sass/_post.scss b/_sass/_post.scss new file mode 100644 index 0000000..edce735 --- /dev/null +++ b/_sass/_post.scss @@ -0,0 +1,36 @@ +.page-image-container { + text-align: center; + + img { + width: auto; + height: 200px; + } +} + +.post-date { + display: block; + margin-top:3px; + margin-bottom: 1rem; + color: $light-gray-color; + font-family: $sans-serif-font-family; + font-size:0.8rem; +} + +@media (max-width: $elements-responsive-width) { + .posts h1 { + font-size: 1.5rem; + } +} + +.related { + padding-bottom: 2rem; +} + +.related-posts { + padding-left: 0px; + list-style: none; +} + +.related-posts a { + text-decoration: none; +} diff --git a/_sass/social-icons.scss b/_sass/social-icons.scss new file mode 100644 index 0000000..a248d91 --- /dev/null +++ b/_sass/social-icons.scss @@ -0,0 +1,70 @@ +/* + Social media icons +*/ + +.social-icons a, .sharing-icons a { + padding-right: 10px; +} + +@mixin social-media-icon($color, $transition){ + -webkit-transition: $transition; + -o-transition: $transition; + -ms-transition: $transition; + -moz-transition: $transition; + transition: $transition; + &:hover{ + color: $color; + } +} + +.sharing-icons { + .fa-envelope { + padding: 5px; + @include social-media-icon($envelope-color, $icon-transition-time); + } + + .fa-twitter { + padding: 5px; + @include social-media-icon($twitter-color, $icon-transition-time); + } + + .fa-instagram { + padding: 5px; + @include social-media-icon($instagram-color, $icon-transition-time); + } + + .fa-github { + padding: 5px; + @include social-media-icon($github-color, $icon-transition-time); + } + + .fa-linkedin { + padding: 5px; + @include social-media-icon($linkedin-color, $icon-transition-time); + } + + .fa-facebook { + padding: 5px; + @include social-media-icon($facebook-color, $icon-transition-time); + } + + .fa-pinterest { + padding: 5px; + @include social-media-icon($pinterest-color, $icon-transition-time); + } + + .fa-medium { + padding: 5px; + @include social-media-icon($medium-color, $icon-transition-time); + } + + .fa-codepen { + padding: 5px; + @include social-media-icon($codepen-color, $icon-transition-time); + } + + .fa-rss-square { + padding: 5px; + @include social-media-icon($rss-color, $icon-transition-time); + } +} diff --git a/about.markdown b/about.markdown deleted file mode 100644 index 8b4e0b2..0000000 --- a/about.markdown +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: page -title: About -permalink: /about/ ---- - -This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/) - -You can find the source code for Minima at GitHub: -[jekyll][jekyll-organization] / -[minima](https://github.com/jekyll/minima) - -You can find the source code for Jekyll at GitHub: -[jekyll][jekyll-organization] / -[jekyll](https://github.com/jekyll/jekyll) - - -[jekyll-organization]: https://github.com/jekyll diff --git a/assets/img/boardwise.svg b/assets/img/boardwise.svg new file mode 100644 index 0000000..e2fa1bc --- /dev/null +++ b/assets/img/boardwise.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/img/jekyll.png b/assets/img/jekyll.png new file mode 100644 index 0000000..57af994 Binary files /dev/null and b/assets/img/jekyll.png differ diff --git a/assets/img/lean.svg b/assets/img/lean.svg new file mode 100644 index 0000000..92e242c --- /dev/null +++ b/assets/img/lean.svg @@ -0,0 +1,314 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..32dfdd8 --- /dev/null +++ b/index.html @@ -0,0 +1,4 @@ +--- +layout: home +title: Home +--- diff --git a/index.markdown b/index.markdown deleted file mode 100644 index 0671507..0000000 --- a/index.markdown +++ /dev/null @@ -1,6 +0,0 @@ ---- -# Feel free to add content and custom Front Matter to this file. -# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults - -layout: home ---- diff --git a/menu/archive.md b/menu/archive.md new file mode 100644 index 0000000..f7edbbd --- /dev/null +++ b/menu/archive.md @@ -0,0 +1,6 @@ +--- +layout: archive +title: Archive +permalink: /archive +--- + diff --git a/menu/home.md b/menu/home.md new file mode 100644 index 0000000..32dfdd8 --- /dev/null +++ b/menu/home.md @@ -0,0 +1,4 @@ +--- +layout: home +title: Home +--- diff --git a/menu/projects.md b/menu/projects.md new file mode 100644 index 0000000..5461747 --- /dev/null +++ b/menu/projects.md @@ -0,0 +1,4 @@ +--- +layout: home +title: Projects +--- diff --git a/projects.html b/projects.html new file mode 100644 index 0000000..bfa0f72 --- /dev/null +++ b/projects.html @@ -0,0 +1,4 @@ +--- +layout: projects +title: Projects +---