dotfolio-theme 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +50 -0
- data/_data/theme.yml +88 -0
- data/_includes/footer.html +18 -0
- data/_includes/head.html +24 -0
- data/_includes/hero.html +32 -0
- data/_includes/nav.html +39 -0
- data/_includes/projects.html +36 -0
- data/_includes/recent-posts.html +32 -0
- data/_layouts/default.html +11 -0
- data/_layouts/home.html +10 -0
- data/_layouts/page.html +13 -0
- data/_layouts/post.html +23 -0
- data/_layouts/search.html +13 -0
- data/assets/css/main.css +1478 -0
- data/assets/css/tailwind.css +411 -0
- data/assets/icons/angular.svg +1 -0
- data/assets/icons/bootstrap.svg +1 -0
- data/assets/icons/css.svg +1 -0
- data/assets/icons/django.svg +1 -0
- data/assets/icons/docker.svg +1 -0
- data/assets/icons/gatsbyjs.svg +1 -0
- data/assets/icons/git.svg +1 -0
- data/assets/icons/github.svg +1 -0
- data/assets/icons/heroku.svg +1 -0
- data/assets/icons/html5.svg +1 -0
- data/assets/icons/instagram.svg +1 -0
- data/assets/icons/javascript.svg +1 -0
- data/assets/icons/jekyll.svg +1 -0
- data/assets/icons/jira.svg +1 -0
- data/assets/icons/linkedin.svg +1 -0
- data/assets/icons/mysql.svg +1 -0
- data/assets/icons/netlify.svg +1 -0
- data/assets/icons/php.svg +1 -0
- data/assets/icons/postgresql.svg +1 -0
- data/assets/icons/python.svg +1 -0
- data/assets/icons/rubyonrails.svg +1 -0
- data/assets/icons/symfony.svg +1 -0
- data/assets/icons/tailwind.svg +1 -0
- data/assets/icons/twitter.svg +1 -0
- data/assets/icons/vscode.svg +1 -0
- data/assets/images/about.txt +6 -0
- data/assets/images/android-chrome-192x192.png +0 -0
- data/assets/images/android-chrome-512x512.png +0 -0
- data/assets/images/apple-touch-icon.png +0 -0
- data/assets/images/favicon-16x16.png +0 -0
- data/assets/images/favicon-32x32.png +0 -0
- data/assets/images/favicon.ico +0 -0
- data/assets/images/profile.jpg +0 -0
- data/assets/images/site.webmanifest +1 -0
- data/assets/js/search.js +48 -0
- data/assets/js/theme-switcher.js +16 -0
- data/assets/projects/project.png +0 -0
- data/bin/dotfolio-theme +3 -0
- data/lib/dotfolio-theme/installer.rb +42 -0
- data/lib/dotfolio-theme/templates/_config.yml +101 -0
- data/lib/dotfolio-theme/templates/about.markdown +75 -0
- data/lib/dotfolio-theme/templates/notes-index.html +38 -0
- data/lib/dotfolio-theme/templates/search.json +13 -0
- metadata +134 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require "fileutils"
|
|
2
|
+
|
|
3
|
+
module DotfolioTheme
|
|
4
|
+
class Installer
|
|
5
|
+
TEMPLATE_DIR = File.expand_path("templates", __dir__)
|
|
6
|
+
|
|
7
|
+
def self.install
|
|
8
|
+
files_to_copy = ["about.markdown", "search.json", "_config.yml"]
|
|
9
|
+
|
|
10
|
+
files_to_copy.each do |filename|
|
|
11
|
+
src_file = File.join(TEMPLATE_DIR, filename)
|
|
12
|
+
dest_file = File.join(Dir.pwd, filename)
|
|
13
|
+
|
|
14
|
+
if File.exist?(dest_file)
|
|
15
|
+
print "Warning: #{filename} already exists. Overwrite? (Y/N): "
|
|
16
|
+
answer = $stdin.gets.chomp.strip.downcase
|
|
17
|
+
next unless answer == "y"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
FileUtils.cp(src_file, dest_file)
|
|
21
|
+
puts "#{filename} installed!"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Create notes directory
|
|
25
|
+
notes_dir = File.join(Dir.pwd, "notes")
|
|
26
|
+
FileUtils.mkdir_p(notes_dir)
|
|
27
|
+
|
|
28
|
+
# Copy index.html into notes/
|
|
29
|
+
src_index = File.join(TEMPLATE_DIR, "notes-index.html")
|
|
30
|
+
dest_index = File.join(notes_dir, "index.html")
|
|
31
|
+
|
|
32
|
+
if File.exist?(dest_index)
|
|
33
|
+
print "Warning: notes/index.html already exists. Overwrite? (Y/N): "
|
|
34
|
+
answer = $stdin.gets.chomp.strip.downcase
|
|
35
|
+
return unless answer == "y"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
FileUtils.cp(src_index, dest_index)
|
|
39
|
+
puts "notes/index.html installed!"
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
title: Dotfolio
|
|
2
|
+
description: A dotted notebook-style Jekyll theme for minimal and structured developer portfolios.
|
|
3
|
+
|
|
4
|
+
hero:
|
|
5
|
+
name: Brainy Smurf
|
|
6
|
+
title: Curious Engineer
|
|
7
|
+
location: Smurf Village of Innovation
|
|
8
|
+
bio: I smurf in crafting the most clever, tidy, and delightfully smurfy solutions in all of Smurf Village. With my superior smurfing methods and impeccable smurf-logic, I ensure everything is organized, efficient, and properly smurfed to perfection.
|
|
9
|
+
|
|
10
|
+
headings:
|
|
11
|
+
projects:
|
|
12
|
+
heading: Projects
|
|
13
|
+
subheading: A smurfy mix of freelance, volunteer, and passion smurfjects.
|
|
14
|
+
more:
|
|
15
|
+
label: More on GitHub
|
|
16
|
+
link: https://github.com/username
|
|
17
|
+
posts:
|
|
18
|
+
heading: Recent Notes
|
|
19
|
+
subheading: Smurfy notes, bookmarks, and handy smurfources.
|
|
20
|
+
more:
|
|
21
|
+
label: Older notes
|
|
22
|
+
|
|
23
|
+
tools:
|
|
24
|
+
- name: HTML5
|
|
25
|
+
icon: /assets/icons/html5.svg
|
|
26
|
+
- name: CSS3
|
|
27
|
+
icon: /assets/icons/css.svg
|
|
28
|
+
- name: JavaScript
|
|
29
|
+
icon: /assets/icons/javascript.svg
|
|
30
|
+
- name: Bootstrap
|
|
31
|
+
icon: /assets/icons/bootstrap.svg
|
|
32
|
+
- name: Tailwind
|
|
33
|
+
icon: /assets/icons/tailwind.svg
|
|
34
|
+
- name: PHP
|
|
35
|
+
icon: /assets/icons/php.svg
|
|
36
|
+
- name: MySQL
|
|
37
|
+
icon: /assets/icons/mysql.svg
|
|
38
|
+
- name: Postgres
|
|
39
|
+
icon: /assets/icons/postgresql.svg
|
|
40
|
+
- name: Python
|
|
41
|
+
icon: /assets/icons/python.svg
|
|
42
|
+
- name: Django
|
|
43
|
+
icon: /assets/icons/django.svg
|
|
44
|
+
- name: Symfony
|
|
45
|
+
icon: /assets/icons/symfony.svg
|
|
46
|
+
- name: Ruby on Rails
|
|
47
|
+
icon: /assets/icons/rubyonrails.svg
|
|
48
|
+
- name: Angular
|
|
49
|
+
icon: /assets/icons/angular.svg
|
|
50
|
+
- name: GatsbyJS
|
|
51
|
+
icon: /assets/icons/gatsbyjs.svg
|
|
52
|
+
- name: Jekyll
|
|
53
|
+
icon: /assets/icons/jekyll.svg
|
|
54
|
+
- name: Heroku
|
|
55
|
+
icon: /assets/icons/heroku.svg
|
|
56
|
+
- name: Netlify
|
|
57
|
+
icon: /assets/icons/netlify.svg
|
|
58
|
+
- name: Git
|
|
59
|
+
icon: /assets/icons/git.svg
|
|
60
|
+
- name: Docker
|
|
61
|
+
icon: /assets/icons/docker.svg
|
|
62
|
+
- name: Visual Studio
|
|
63
|
+
icon: /assets/icons/vscode.svg
|
|
64
|
+
- name: Jira
|
|
65
|
+
icon: /assets/icons/jira.svg
|
|
66
|
+
|
|
67
|
+
projects:
|
|
68
|
+
- title : Smurfboard
|
|
69
|
+
description: A smurfy app to keep track of all village tasks, from mushroom gardening to potion brewing.
|
|
70
|
+
link: https://example.com
|
|
71
|
+
image: assets/projects/project.png
|
|
72
|
+
- title : SmurfLib
|
|
73
|
+
description: A magical collection of scrolls, recipes, and Smurf lore, for every Smurf to learn and share.
|
|
74
|
+
link: https://example.com
|
|
75
|
+
image: assets/projects/project.png
|
|
76
|
+
|
|
77
|
+
socials:
|
|
78
|
+
- name: GitHub
|
|
79
|
+
url: https://github.com/yourusername
|
|
80
|
+
icon: /assets/icons/github.svg
|
|
81
|
+
|
|
82
|
+
- name: Instagram
|
|
83
|
+
url: https://instagram.com/yourusername
|
|
84
|
+
icon: /assets/icons/instagram.svg
|
|
85
|
+
|
|
86
|
+
- name: LinkedIn
|
|
87
|
+
url: https://linkedin.com/in/yourusername
|
|
88
|
+
icon: /assets/icons/linkedin.svg
|
|
89
|
+
|
|
90
|
+
theme: dotfolio-theme
|
|
91
|
+
|
|
92
|
+
plugins:
|
|
93
|
+
- jekyll-paginate-v2
|
|
94
|
+
|
|
95
|
+
pagination:
|
|
96
|
+
enabled: true
|
|
97
|
+
per_page: 5
|
|
98
|
+
permalink: '/notes/:num/'
|
|
99
|
+
title: ':title - page :num'
|
|
100
|
+
sort_field: 'date'
|
|
101
|
+
sort_reverse: true
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: page
|
|
3
|
+
title: About Dotfolio
|
|
4
|
+
permalink: /about/
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 📘 Dotfolio
|
|
8
|
+
|
|
9
|
+
> A calm, dotted notebook-style Jekyll theme with a minimal, structured layout for showcasing projects and documenting ideas.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## ✨ Features
|
|
15
|
+
|
|
16
|
+
- 🧭 Simple, focused homepage layout
|
|
17
|
+
- 📝 Notes system with **pagination + search**
|
|
18
|
+
- 🗂 Centralized configuration via a single YAML file
|
|
19
|
+
- ✍️ Consistent styling across Markdown and HTML
|
|
20
|
+
- 🌗 Dark mode / light mode toggle
|
|
21
|
+
- ⚡ Installer script for quick setup
|
|
22
|
+
- 📦 Fully static (no runtime dependencies)
|
|
23
|
+
- 🪶 Lightweight and fast
|
|
24
|
+
- 🔓 Open source
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 📄 Pages
|
|
29
|
+
|
|
30
|
+
### 🏠 Home
|
|
31
|
+
- Hero section (name tag + short intro)
|
|
32
|
+
- Tech stack overview
|
|
33
|
+
- Recent projects (with GitHub profile link)
|
|
34
|
+
- Recent notes
|
|
35
|
+
|
|
36
|
+
### 📝 Notes
|
|
37
|
+
- Paginated index
|
|
38
|
+
- Built-in search (non-paginated results)
|
|
39
|
+
|
|
40
|
+
### 👤 About
|
|
41
|
+
- Dedicated page to introduce yourself
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 🎯 Use Cases
|
|
46
|
+
|
|
47
|
+
Dotfolio is ideal for:
|
|
48
|
+
|
|
49
|
+
- Developer portfolios
|
|
50
|
+
- Project showcases
|
|
51
|
+
- Personal blogs
|
|
52
|
+
- Digital gardens / notes
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 🤝 Contributing
|
|
57
|
+
|
|
58
|
+
Contributions, issues, and feature requests are welcome!
|
|
59
|
+
|
|
60
|
+
Feel free to:
|
|
61
|
+
- [Open an issue](https://github.com/jennieablog/dotfolio-theme/contribute)
|
|
62
|
+
- [Submit a pull request](https://github.com/jennieablog/dotfolio-theme/pulls)
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 📄 License
|
|
67
|
+
|
|
68
|
+
MIT License © Jennie Ron Ablog
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 💡 Acknowledgements
|
|
73
|
+
|
|
74
|
+
- Built with ❤️ using [Jekyll](https://jekyllrb.com).
|
|
75
|
+
- Styled using [Tailwind CSS](https://tailwindcss.com) during development, then compiled into a standalone stylesheet for production.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: search
|
|
3
|
+
title: "Notes"
|
|
4
|
+
pagination:
|
|
5
|
+
enabled: true
|
|
6
|
+
---
|
|
7
|
+
<section class="notes-index">
|
|
8
|
+
<div class="heading">Notes</div>
|
|
9
|
+
<p class="subheading">Developer notes, bookmarks, and resources.</p>
|
|
10
|
+
|
|
11
|
+
<input type="text" id="search-input" class="search-input" placeholder="Search notes..." />
|
|
12
|
+
|
|
13
|
+
<ul id="search-results" class="search-results"></ul>
|
|
14
|
+
<div id="paginated-posts" class="paginated-posts">
|
|
15
|
+
<ul>
|
|
16
|
+
{% for post in paginator.posts %}
|
|
17
|
+
<li>
|
|
18
|
+
<h3>
|
|
19
|
+
<a href="{{ post.url | relative_url }}">{{ post.title }}</a>
|
|
20
|
+
</h3>
|
|
21
|
+
<p>
|
|
22
|
+
{{ post.excerpt | strip_html | truncate: 160 }}
|
|
23
|
+
</p>
|
|
24
|
+
<small>{{ post.date | date: "%B %-d, %Y" }}</small>
|
|
25
|
+
</li>
|
|
26
|
+
{% endfor %}
|
|
27
|
+
</ul>
|
|
28
|
+
<div id="pagination-links" class="pagination">
|
|
29
|
+
{% if paginator.previous_page %}
|
|
30
|
+
<a href="{{ paginator.previous_page_path | relative_url }}">← Newer notes</a>
|
|
31
|
+
{% endif %}
|
|
32
|
+
{% if paginator.next_page %}
|
|
33
|
+
<a href="{{ paginator.next_page_path | relative_url }}">Older notes →</a>
|
|
34
|
+
{% endif %}
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<script type="text/javascript" src="{{ '/assets/js/search.js' | relative_url }}"></script>
|
|
38
|
+
</section>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: null
|
|
3
|
+
---
|
|
4
|
+
[
|
|
5
|
+
{% for post in site.posts %}
|
|
6
|
+
{
|
|
7
|
+
"title": {{ post.title | jsonify }},
|
|
8
|
+
"url": {{ post.url | relative_url | jsonify }},
|
|
9
|
+
"excerpt": {{ post.excerpt | strip_html | strip_newlines | jsonify }},
|
|
10
|
+
"date": "{{ post.date | date: "%B %-d, %Y" }}"
|
|
11
|
+
}{% unless forloop.last %},{% endunless %}
|
|
12
|
+
{% endfor %}
|
|
13
|
+
]
|
metadata
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: dotfolio-theme
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Jennie Ron Ablog
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 2026-04-09 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: jekyll
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '4.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '4.0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: jekyll-paginate-v2
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
description: Dotfolio is a calm, dotted notebook-style Jekyll theme with a minimal,
|
|
41
|
+
structured layout for showcasing projects and documenting ideas.
|
|
42
|
+
email:
|
|
43
|
+
- hello@jennieablog.dev
|
|
44
|
+
executables:
|
|
45
|
+
- dotfolio-theme
|
|
46
|
+
extensions: []
|
|
47
|
+
extra_rdoc_files: []
|
|
48
|
+
files:
|
|
49
|
+
- LICENSE
|
|
50
|
+
- LICENSE.txt
|
|
51
|
+
- README.md
|
|
52
|
+
- _data/theme.yml
|
|
53
|
+
- _includes/footer.html
|
|
54
|
+
- _includes/head.html
|
|
55
|
+
- _includes/hero.html
|
|
56
|
+
- _includes/nav.html
|
|
57
|
+
- _includes/projects.html
|
|
58
|
+
- _includes/recent-posts.html
|
|
59
|
+
- _layouts/default.html
|
|
60
|
+
- _layouts/home.html
|
|
61
|
+
- _layouts/page.html
|
|
62
|
+
- _layouts/post.html
|
|
63
|
+
- _layouts/search.html
|
|
64
|
+
- assets/css/main.css
|
|
65
|
+
- assets/css/tailwind.css
|
|
66
|
+
- assets/icons/angular.svg
|
|
67
|
+
- assets/icons/bootstrap.svg
|
|
68
|
+
- assets/icons/css.svg
|
|
69
|
+
- assets/icons/django.svg
|
|
70
|
+
- assets/icons/docker.svg
|
|
71
|
+
- assets/icons/gatsbyjs.svg
|
|
72
|
+
- assets/icons/git.svg
|
|
73
|
+
- assets/icons/github.svg
|
|
74
|
+
- assets/icons/heroku.svg
|
|
75
|
+
- assets/icons/html5.svg
|
|
76
|
+
- assets/icons/instagram.svg
|
|
77
|
+
- assets/icons/javascript.svg
|
|
78
|
+
- assets/icons/jekyll.svg
|
|
79
|
+
- assets/icons/jira.svg
|
|
80
|
+
- assets/icons/linkedin.svg
|
|
81
|
+
- assets/icons/mysql.svg
|
|
82
|
+
- assets/icons/netlify.svg
|
|
83
|
+
- assets/icons/php.svg
|
|
84
|
+
- assets/icons/postgresql.svg
|
|
85
|
+
- assets/icons/python.svg
|
|
86
|
+
- assets/icons/rubyonrails.svg
|
|
87
|
+
- assets/icons/symfony.svg
|
|
88
|
+
- assets/icons/tailwind.svg
|
|
89
|
+
- assets/icons/twitter.svg
|
|
90
|
+
- assets/icons/vscode.svg
|
|
91
|
+
- assets/images/about.txt
|
|
92
|
+
- assets/images/android-chrome-192x192.png
|
|
93
|
+
- assets/images/android-chrome-512x512.png
|
|
94
|
+
- assets/images/apple-touch-icon.png
|
|
95
|
+
- assets/images/favicon-16x16.png
|
|
96
|
+
- assets/images/favicon-32x32.png
|
|
97
|
+
- assets/images/favicon.ico
|
|
98
|
+
- assets/images/profile.jpg
|
|
99
|
+
- assets/images/site.webmanifest
|
|
100
|
+
- assets/js/search.js
|
|
101
|
+
- assets/js/theme-switcher.js
|
|
102
|
+
- assets/projects/project.png
|
|
103
|
+
- bin/dotfolio-theme
|
|
104
|
+
- lib/dotfolio-theme/installer.rb
|
|
105
|
+
- lib/dotfolio-theme/templates/_config.yml
|
|
106
|
+
- lib/dotfolio-theme/templates/about.markdown
|
|
107
|
+
- lib/dotfolio-theme/templates/notes-index.html
|
|
108
|
+
- lib/dotfolio-theme/templates/search.json
|
|
109
|
+
homepage: https://github.com/jennieablog/dotfolio-theme
|
|
110
|
+
licenses:
|
|
111
|
+
- MIT
|
|
112
|
+
metadata:
|
|
113
|
+
jekyll-theme: 'true'
|
|
114
|
+
homepage_uri: https://github.com/jennieablog/dotfolio-theme
|
|
115
|
+
source_code_uri: https://github.com/jennieablog/dotfolio-theme
|
|
116
|
+
rdoc_options: []
|
|
117
|
+
require_paths:
|
|
118
|
+
- lib
|
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
124
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
|
+
requirements:
|
|
126
|
+
- - ">="
|
|
127
|
+
- !ruby/object:Gem::Version
|
|
128
|
+
version: '0'
|
|
129
|
+
requirements: []
|
|
130
|
+
rubygems_version: 3.6.2
|
|
131
|
+
specification_version: 4
|
|
132
|
+
summary: A dotted notebook-style Jekyll theme for minimal and structured developer
|
|
133
|
+
portfolios.
|
|
134
|
+
test_files: []
|