DevSculptor 1.0.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.txt +21 -0
- data/README.md +711 -0
- data/_config.yml +142 -0
- data/_data/blogroll.yml +34 -0
- data/_data/locales.yml +280 -0
- data/_data/page-list.yml +28 -0
- data/_data/projects.yml +50 -0
- data/_data/social.yml +149 -0
- data/_includes/about.html +19 -0
- data/_includes/anchor_headings.html +174 -0
- data/_includes/archives.html +28 -0
- data/_includes/categories.html +21 -0
- data/_includes/comments.html +35 -0
- data/_includes/footer/code-block-lang.html +12 -0
- data/_includes/footer/color_theme_toggler.html +92 -0
- data/_includes/footer/copyright.html +14 -0
- data/_includes/footer/create-toc.html +51 -0
- data/_includes/footer/page_pagination.html +24 -0
- data/_includes/footer/reading-time.html +11 -0
- data/_includes/footer/scripts.html +10 -0
- data/_includes/footer/toggle-toc.html +12 -0
- data/_includes/footer.html +50 -0
- data/_includes/head/ban.html +7 -0
- data/_includes/head/google_analytics.html +9 -0
- data/_includes/head/icons.html +5 -0
- data/_includes/head/scripts.html +6 -0
- data/_includes/head/stylesheets.html +2 -0
- data/_includes/head.html +20 -0
- data/_includes/home/post_card.html +56 -0
- data/_includes/home.html +28 -0
- data/_includes/navigation/color-theme-switcher.html +50 -0
- data/_includes/navigation/svg.html +20 -0
- data/_includes/navigation.html +48 -0
- data/_includes/page_pagination.html +29 -0
- data/_includes/projects/project-card.html +73 -0
- data/_includes/projects.html +8 -0
- data/_includes/search/algolia.html +165 -0
- data/_includes/sidebar/aboutme.html +61 -0
- data/_includes/sidebar/blogroll.html +7 -0
- data/_includes/sidebar.html +6 -0
- data/_includes/tags.html +21 -0
- data/_includes/toc.html +7 -0
- data/_layouts/default.html +21 -0
- data/_layouts/home.html +2 -0
- data/_layouts/page.html +11 -0
- data/_layouts/plain.html +14 -0
- data/_layouts/post.html +78 -0
- data/_sass/_base.scss +250 -0
- data/_sass/_navigation.scss +24 -0
- data/_sass/_syntax-highlighting.scss +160 -0
- data/assets/JustinSunday_Resume_2023-09-14.pdf +0 -0
- data/assets/branding/branding-colors-and-fonts/BrandBoard.pdf +0 -0
- data/assets/branding/branding-colors-and-fonts/fonts/Fira Mono Bold.ttf +0 -0
- data/assets/branding/logo/eps-pdf-png-formats.zip +0 -0
- data/assets/branding/logo/svg/logo-black.svg +1 -0
- data/assets/branding/logo/svg/logo-color.svg +1 -0
- data/assets/branding/logo/svg/logo-no-background-black-letters.svg +1 -0
- data/assets/branding/logo/svg/logo-no-background.svg +1 -0
- data/assets/branding/logo/svg/logo-white.svg +1 -0
- data/assets/fonts/CascadiaCode-WebFont/caskaydia_cove_nerd_font_complete-demo.html +517 -0
- data/assets/fonts/CascadiaCode-WebFont/caskaydia_cove_nerd_font_complete-webfont.woff +0 -0
- data/assets/fonts/CascadiaCode-WebFont/caskaydia_cove_nerd_font_complete-webfont.woff2 +0 -0
- data/assets/fonts/CascadiaCode-WebFont/generator_config.txt +5 -0
- data/assets/fonts/CascadiaCode-WebFont/specimen_files/grid_12-825-55-15.css +129 -0
- data/assets/fonts/CascadiaCode-WebFont/specimen_files/specimen_stylesheet.css +396 -0
- data/assets/fonts/CascadiaCode-WebFont/stylesheet.css +12 -0
- data/assets/images/projects/desvsculptor/20230926-localhost-iphone14promax-homepage-fotor-bg-remover-20231002163813.png +0 -0
- data/assets/images/projects/desvsculptor/20230926-localhost-iphone14promax-homepage.PNG +0 -0
- data/assets/images/projects/desvsculptor/home-page-example.png +0 -0
- data/assets/images/projects/dummy_project/ilya-pavlov-OqtafYT5kTw-unsplash.jpg +0 -0
- data/assets/images/site-shots/blogroll-20231010.png +0 -0
- data/assets/images/site-shots/blogroll-to-datayml-20201010.png +0 -0
- data/assets/images/topbutton.png +0 -0
- data/assets/js/jquery-1.9.1.min.js +5 -0
- data/assets/js/totop.js +26 -0
- data/assets/scss/main.scss +120 -0
- data/pages/about.md +8 -0
- data/pages/archives.md +7 -0
- data/pages/categories.md +8 -0
- data/pages/home.md +6 -0
- data/pages/projects.md +8 -0
- data/pages/search.md +11 -0
- data/pages/subscribe.md +12 -0
- data/pages/tags.md +7 -0
- metadata +241 -0
data/README.md
ADDED
|
@@ -0,0 +1,711 @@
|
|
|
1
|
+

|
|
2
|
+

|
|
3
|
+

|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
<div class="ascii-art">
|
|
8
|
+
:::'###::::'########:::'#######::'##::::'##:'########:
|
|
9
|
+
::'## ##::: ##.... ##:'##.... ##: ##:::: ##:... ##..::
|
|
10
|
+
:'##:. ##:: ##:::: ##: ##:::: ##: ##:::: ##:::: ##::::
|
|
11
|
+
'##:::. ##: ########:: ##:::: ##: ##:::: ##:::: ##::::
|
|
12
|
+
#########: ##.... ##: ##:::: ##: ##:::: ##:::: ##::::
|
|
13
|
+
##.... ##: ##:::: ##: ##:::: ##: ##:::: ##:::: ##::::
|
|
14
|
+
##:::: ##: ########::. #######::. #######::::: ##::::
|
|
15
|
+
..:::::..::........::::.......::::.......::::::..:::::
|
|
16
|
+
'########::'########:'##::::'##::'######:::'######::'##::::'##:'##:::::::'########::'########::'#######::'########::
|
|
17
|
+
##.... ##: ##.....:: ##:::: ##:'##... ##:'##... ##: ##:::: ##: ##::::::: ##.... ##:... ##..::'##.... ##: ##.... ##:
|
|
18
|
+
##:::: ##: ##::::::: ##:::: ##: ##:::..:: ##:::..:: ##:::: ##: ##::::::: ##:::: ##:::: ##:::: ##:::: ##: ##:::: ##:
|
|
19
|
+
##:::: ##: ######::: ##:::: ##:. ######:: ##::::::: ##:::: ##: ##::::::: ########::::: ##:::: ##:::: ##: ########::
|
|
20
|
+
##:::: ##: ##...::::. ##:: ##:::..... ##: ##::::::: ##:::: ##: ##::::::: ##.....:::::: ##:::: ##:::: ##: ##.. ##:::
|
|
21
|
+
##:::: ##: ##::::::::. ## ##:::'##::: ##: ##::: ##: ##:::: ##: ##::::::: ##::::::::::: ##:::: ##:::: ##: ##::. ##::
|
|
22
|
+
########:: ########:::. ###::::. ######::. ######::. #######:: ########: ##::::::::::: ##::::. #######:: ##:::. ##:
|
|
23
|
+
........:::........:::::...::::::......::::......::::.......:::........::..::::::::::::..::::::.......:::..:::::..::
|
|
24
|
+
</div>
|
|
25
|
+
<p><small><a href="http://patorjk.com/software/taag/#p=display&f=Banner3-D&t=About%0ADevSculptor" target="_blank" rel="noopener noreferrer">banner3-D</a> ascii font by Merlin Greywolf merlin@brahms.udel.edu August 9, 1994</small></p>
|
|
26
|
+
|
|
27
|
+
---------------
|
|
28
|
+
## Description
|
|
29
|
+
|
|
30
|
+
A full-featured, GitHub Pages compatible, Jekyll blog theme tailored to software devs that contains project and résumé pages.
|
|
31
|
+
Contains localization support for multiple languages.
|
|
32
|
+
|
|
33
|
+
If you like this theme, please consider sponsoring:
|
|
34
|
+
|
|
35
|
+
<a href="https://www.buymeacoffee.com/justinsunday" target="_blank">
|
|
36
|
+
<img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" height="41" width="174">
|
|
37
|
+
</a>
|
|
38
|
+
|
|
39
|
+
For feature requests, or bugs, please create an issue [here](https://github.com/sundayj/DevSculptor/issues){:target="_blank"}{:rel="noopener noreferrer"}
|
|
40
|
+
|
|
41
|
+
-----------------
|
|
42
|
+
## Features List
|
|
43
|
+
- Responsive
|
|
44
|
+
- Dark and Light theme toggler
|
|
45
|
+
- SEO friendly
|
|
46
|
+
- Social Network friendly with Twitter Card support
|
|
47
|
+
- Site Search with [Algolia](https://www.algolia.com)
|
|
48
|
+
- Google Analytics Ready
|
|
49
|
+
- [Fabform](https://fabform.io/) Contact Form Ready
|
|
50
|
+
- [HTML Comment Box](https://www.htmlcommentbox.com/) Ready
|
|
51
|
+
- Code blocks use [GitHub Flavored Markdown](https://github.blog/2017-03-14-a-formal-spec-for-github-markdown/)
|
|
52
|
+
- Github gists for posts via the [jekyll-gist plugin](https://github.com/jekyll/jekyll-gist)
|
|
53
|
+
- Responsive Collapsible and Sticky TOC (Table of Contents) for posts
|
|
54
|
+
- Anchor links for headings within posts
|
|
55
|
+
- "Reading time" for posts to give readers estimates on how long it may take them to read.
|
|
56
|
+
- Includes Jekyll Admin (Optional)
|
|
57
|
+
- Emoji Ready
|
|
58
|
+
- RSS Feed for feed reader subscriptions
|
|
59
|
+
- Includes site map, privacy policy, cookie policy, and terms of service (It is your responsibility to
|
|
60
|
+
make sure that the details outlined in the provided files match fit within your country/state's laws.)
|
|
61
|
+
- Blog Roll
|
|
62
|
+
- Résumé link opens your provided résumé as a PDF in a new tab
|
|
63
|
+
- Localization support with help from ChatGPT
|
|
64
|
+
- English
|
|
65
|
+
- Spanish (Español)
|
|
66
|
+
- French (Français)
|
|
67
|
+
- German (Deutsch)
|
|
68
|
+
- Portuguese (Português)
|
|
69
|
+
- Italian (Italiano)
|
|
70
|
+
- Dutch (Nederlands)
|
|
71
|
+
- Chinese (Simplified) - 中文 (Zhōngwén)
|
|
72
|
+
- Japanese - 日本語 (Nihongo)
|
|
73
|
+
- Polish - Polski
|
|
74
|
+
- Korean - 한국어 (Hangugeo)
|
|
75
|
+
- Russian - Русский (Russkiy)
|
|
76
|
+
- Turkish - Türkçe
|
|
77
|
+
- Indonesian - Bahasa Indonesia
|
|
78
|
+
|
|
79
|
+
----------------
|
|
80
|
+
### Coming Soon
|
|
81
|
+
- Categories and details in Blogroll
|
|
82
|
+
|
|
83
|
+
----------------
|
|
84
|
+
## Installation
|
|
85
|
+
|
|
86
|
+
Add this line to your Jekyll site's `Gemfile`:
|
|
87
|
+
|
|
88
|
+
```ruby
|
|
89
|
+
gem "DevSculptor"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
And add this line to your Jekyll site's `_config.yml`:
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
theme: DevSculptor
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
And then execute:
|
|
99
|
+
```shell
|
|
100
|
+
$ bundle
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Or install it yourself as:
|
|
104
|
+
```shell
|
|
105
|
+
$ gem install DevSculptor
|
|
106
|
+
```
|
|
107
|
+
--------
|
|
108
|
+
## Usage
|
|
109
|
+
|
|
110
|
+
--------------------------------
|
|
111
|
+
### Project Directory Structure
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# This tree was printed in Windows Terminal using the 'tree' command. See https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/tree for more info.
|
|
115
|
+
# `tree . /f`
|
|
116
|
+
DevSculptor # root
|
|
117
|
+
│
|
|
118
|
+
├───.github
|
|
119
|
+
│ └───workflows
|
|
120
|
+
│ algolia-search.yml
|
|
121
|
+
│
|
|
122
|
+
├───assets
|
|
123
|
+
│
|
|
124
|
+
├───pages
|
|
125
|
+
│
|
|
126
|
+
├───_data
|
|
127
|
+
│
|
|
128
|
+
├───_includes
|
|
129
|
+
│
|
|
130
|
+
├───_layouts
|
|
131
|
+
│
|
|
132
|
+
├───_posts
|
|
133
|
+
│
|
|
134
|
+
├───_sass
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
-------------------
|
|
138
|
+
#### `root` Folder
|
|
139
|
+
|
|
140
|
+
```shell
|
|
141
|
+
DevSculptor
|
|
142
|
+
│ 404.html # Keep, but you may edit.
|
|
143
|
+
│ android-chrome-192x192.png # You may remove, but I recommend replacing with your own.
|
|
144
|
+
│ android-chrome-512x512.png # You may remove, but I recommend replacing with your own.
|
|
145
|
+
│ apple-touch-icon.png # You may remove, but I recommend replacing with your own.
|
|
146
|
+
│ cookie-policy.md # You may remove, but minor edits will be needed.
|
|
147
|
+
│ favicon-16x16.png # You may remove, but I recommend replacing with your own.
|
|
148
|
+
│ favicon-32x32.png # You may remove, but I recommend replacing with your own.
|
|
149
|
+
│ favicon.ico # Replace with your own.
|
|
150
|
+
│ Gemfile # Keep. Editable.
|
|
151
|
+
│ index.html # Keep
|
|
152
|
+
│ LICENSE.txt # You may remove, but I recommend replacing with your own.
|
|
153
|
+
│ privacy-policy.md # You may remove, but minor edits will be needed.
|
|
154
|
+
│ README.md # You may remove, but I recommend replacing with your own.
|
|
155
|
+
│ site.webmanifest # You may remove, but I recommend replacing with your own.
|
|
156
|
+
│ sitemap.xml # I recommend replacing this with your own.
|
|
157
|
+
│ terms-of-service.md # You may remove, but minor edits will be needed.
|
|
158
|
+
│ _config.yml # Keep, but go through and edit what you need.
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
The root of your project will contain the files listed above. Here, I will explain what they are, why they are needed, and which ones can be replaced.
|
|
162
|
+
|
|
163
|
+
- `404.html`
|
|
164
|
+
- This file needs to be at the root of your project to correctly display a 404 page if a user attempts to navigate to a page that doesn't exist. Feel free to edit its contents as you would like.
|
|
165
|
+
- Favicon files
|
|
166
|
+
- These files are all needed and used by `_includes/head/icons.html`. If you delete them and don't replace them, just remove their respective tag from that file.
|
|
167
|
+
- The android and apple icons are utilized when a user installs your page to their phone. They will be used as your "app" icon. The favicon pngs are used similarly.
|
|
168
|
+
- `android-chrome-192x192.png`
|
|
169
|
+
- `android-chrome-512x512.png`
|
|
170
|
+
- `apple-touch-icon.png`
|
|
171
|
+
- `favicon-16x16.png`
|
|
172
|
+
- `favicon-32x32.png`
|
|
173
|
+
- `favicon.ico`
|
|
174
|
+
- This one is the most important. It is used to display your site's icon in a browser tab.
|
|
175
|
+
- Legal files
|
|
176
|
+
- These have placeholders inside that specify the author's/website's names. So, if you are in the United States, theis should be pretty much plug and play. I would definitely recommend that look these over yourself for safety reasons. I assume no responsibility if you use these provided files. THey are meant as placeholders/ templates to be edited for your specific use-case.
|
|
177
|
+
- If you would like to include these files, simply mark `include_sitemap`, `include_privacypolicy`, `include_cookiepolicy`, and `include_terms` as `true` in the `_config.yml` under the `footer` property.
|
|
178
|
+
- If you change the path of these files, make sure you edit the path located in `_includes/footer.html`
|
|
179
|
+
- `cookie-policy.md`
|
|
180
|
+
- `privacy-policy.md`
|
|
181
|
+
- `terms-of-service.md`
|
|
182
|
+
- `Gemfile`
|
|
183
|
+
- Specifies the gems and plugins needed for your Jekyll site. More info can be found [here](https://jekyllrb.com/docs/ruby-101/#:~:text=A%20Gemfile%20is%20a%20list%20of%20gems%20used,group%20%3Ajekyll_plugins%20do%20gem%20%22jekyll-feed%22%20gem%20%22jekyll-seo-tag%22%20end){:target="_blank"}{:rel="noopener noreferrer"}
|
|
184
|
+
- `index.html`
|
|
185
|
+
- The entry point for your website. Every website has one of these!
|
|
186
|
+
- `README.md`
|
|
187
|
+
- If you're hosting your site on GitHub pages, or have your site in a repo, then you likely have one of these!
|
|
188
|
+
- `site.webmanifest`
|
|
189
|
+
- Used here for when a user installs your site to their device. More info can be found [here](https://developer.mozilla.org/en-US/docs/Web/Manifest){:target="_blank"}{:rel="noopener noreferrer"}
|
|
190
|
+
- `_config.yml`
|
|
191
|
+
- Holds site-wide settings and configuration for you Jekyll site. More info below. General info on Jekyll config can be found [here](https://jekyllrb.com/docs/configuration/){:target="_blank"}{:rel="noopener noreferrer"}
|
|
192
|
+
- `sitemap.xml`
|
|
193
|
+
- Your sitemap helps search engines by giving them an idea of your site's structure and how to find the data you want crawled for better search results. More info can be found [here](https://developers.google.com/search/docs/crawling-indexing/sitemaps/overview){:target="_blank"}{:rel="noopener noreferrer"}
|
|
194
|
+
- Jekyll can actually generate one of these for you.
|
|
195
|
+
|
|
196
|
+
-------------------
|
|
197
|
+
##### `_config.yml`
|
|
198
|
+
|
|
199
|
+
Some things in the `_config.yml` are a bit more involved than others. For those, we will delve into them further down.
|
|
200
|
+
We will go over the less complex here. Anything in your `_config.yml` file can be accessed throughout your site. This makes
|
|
201
|
+
it a great place to store global variables, especially if you don't plan on changing them much. The following properties
|
|
202
|
+
in the `_config.yml` are a great example of variables that you can use throughout your app for displaying data.
|
|
203
|
+
|
|
204
|
+
```yaml
|
|
205
|
+
title: DevSculptor
|
|
206
|
+
email: admin@jlsunday.com
|
|
207
|
+
description: >- # Ignore newlines to allow multiline strings.
|
|
208
|
+
A full-featured, GitHub Pages compatible, Jekyll blog theme tailored to software devs that contains project and resume pages.
|
|
209
|
+
Contains localization support for multiple languages.
|
|
210
|
+
tagline: >-
|
|
211
|
+
A full-featured, GitHub Pages compatible, Jekyll blog theme tailored to software devs that contains project and resume pages.
|
|
212
|
+
Contains localization support for multiple languages.
|
|
213
|
+
url: "https://jlsunday.com/DevSculptor" # The base hostname & protocol for your site, e.g. http://example.com
|
|
214
|
+
author:
|
|
215
|
+
name: Justin L. Sunday
|
|
216
|
+
url: https://JLSunday.com/
|
|
217
|
+
default_locale: "en" # Sets locale across the site
|
|
218
|
+
logo_light: "/assets/branding/logo/svg/logo-no-background-black-letters.svg" # path/to/logo.svg
|
|
219
|
+
logo_dark: "/assets/branding/logo/svg/logo-no-background.svg" # path/to/logo.svg
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
A great variety of settings and their uses are displayed in the code block above. The `title`, `email`, and `url`
|
|
223
|
+
properties are pretty straightforward. You can display the contents of these variables anywhere on your site by placing
|
|
224
|
+
them within liquid mustaches. Some usages of the properties above can be found here:
|
|
225
|
+
|
|
226
|
+
- `site.title`
|
|
227
|
+
- `\_includes\head.html`
|
|
228
|
+
- `\pages\subscribe.md`
|
|
229
|
+
- `site.email`
|
|
230
|
+
- `\_includes\sidebar\aboutme.html`
|
|
231
|
+
- `site.url`
|
|
232
|
+
- Too many to list here. It can be used to prepend to any url in your site to help with relative links. The `_includes`
|
|
233
|
+
folder has a few examples in the `footer.html` and `head.html` files.
|
|
234
|
+
|
|
235
|
+
Some properties are used to help the site know whether to display certain things. Take the following properties, for example:
|
|
236
|
+
|
|
237
|
+
```yaml
|
|
238
|
+
show_contact_info: true # Personal Info (twitter,GitHub,email) can be seen in `\_includes\sidebar\aboutme.html`, this info only shown where show_contact_info == true
|
|
239
|
+
include_blogroll: true
|
|
240
|
+
feed:
|
|
241
|
+
excerpt_only: true
|
|
242
|
+
footer: # Optional links for sitemap, privacy policy, cookie policy, and terms of service. These have placeholders inside that specify the author's/website's names. So, if you are in the United States, theis should be pretty much plug and play. I would definitely recommend that you look these over yourself for safety reasons. I assume no responsibility if you use these provided files. They are meant as placeholders/ templates to be edited for your specific use-case.
|
|
243
|
+
include_sitemap: true
|
|
244
|
+
include_privacypolicy: true
|
|
245
|
+
include_cookiepolicy: true
|
|
246
|
+
include_terms: true
|
|
247
|
+
```
|
|
248
|
+
The properties `show_contact_info` and `include_blogroll` tell the site whether these two respective features are displayed at all!
|
|
249
|
+
Also, if you decide that you don't want to include the provided site map, privacy policy, cookie policy, or site terms,
|
|
250
|
+
then all you have to do is set their respective properties to `false`. It is that simple.
|
|
251
|
+
|
|
252
|
+
Some parts of the site use multiple properties to help decide what to display. Take the `aboutme` object in the `_config`
|
|
253
|
+
and the `\_includes\sidebar\aboutme.html`:
|
|
254
|
+
|
|
255
|
+
```yaml
|
|
256
|
+
aboutme:
|
|
257
|
+
include: true
|
|
258
|
+
text: >-
|
|
259
|
+
Hello, my name is Justin! I live in the US with my wife, amazing daughters, and our crazy canines.
|
|
260
|
+
I'm extremely passionate about software development, programming, absorbing every bit of knowledge
|
|
261
|
+
I can, and sharing that knowledge with anyone interested in learning.
|
|
262
|
+
photo:
|
|
263
|
+
use_github_avatar: false
|
|
264
|
+
asset_path: # "/path/to/profile-photo.png"
|
|
265
|
+
hosted_aboutme_photo: "https://github.com/sundayj/sundayj.github.io/blob/master/images/other-images/profile-photo-1352x1098.png?raw=true" # Use if you want to use a photo from somewhere else on the web
|
|
266
|
+
```
|
|
267
|
+
```liquid
|
|
268
|
+
{% raw %}
|
|
269
|
+
{% assign abmPhoto = site.aboutme.photo %}
|
|
270
|
+
{% if abmPhoto.use_github_avatar %}
|
|
271
|
+
{%- avatar{{ site.data.social.github.username }}size = 300 %}
|
|
272
|
+
{% elsif abmPhoto.asset_path %}
|
|
273
|
+
<img
|
|
274
|
+
title="{{ site.author.name }}"
|
|
275
|
+
src="{{ abmPhoto.asset_path }}"
|
|
276
|
+
alt="{{ site.author.name }}"
|
|
277
|
+
/>
|
|
278
|
+
{% elsif abmPhoto.hosted_aboutme_photo %}
|
|
279
|
+
<img
|
|
280
|
+
title="{{ site.author.name }}"
|
|
281
|
+
src="{{ abmPhoto.hosted_aboutme_photo }}"
|
|
282
|
+
alt="{{ site.author.name }}"
|
|
283
|
+
/>
|
|
284
|
+
{% endif %}
|
|
285
|
+
{%endraw%}
|
|
286
|
+
```
|
|
287
|
+
We can see in the `liquid` code blocks how the properties in the `_config.yml` `aboutme` object are being used. If
|
|
288
|
+
`site.aboutme.photo.use_github_avatar` is set to `true`, then the site will display your GitHub avatar as your profile photo.
|
|
289
|
+
However, if it is `false`, then it will use the path you provided in `site.aboutme.photo.asset_path`. Now, if that
|
|
290
|
+
property is blank, then it will use the photo you provided via url in `site.aboutme.photo.hosted_aboutme_photo`.
|
|
291
|
+
|
|
292
|
+
The rest of the properties found within `_config.yml` will be described further within this page.
|
|
293
|
+
|
|
294
|
+
---------------------
|
|
295
|
+
#### `assets` Folder
|
|
296
|
+
|
|
297
|
+
```shell
|
|
298
|
+
├───assets
|
|
299
|
+
│ │
|
|
300
|
+
│ ├───fonts
|
|
301
|
+
│ │ └───CascadiaCode-WebFont
|
|
302
|
+
│ │ │ caskaydia_cove_nerd_font_complete-demo.html
|
|
303
|
+
│ │ │ caskaydia_cove_nerd_font_complete-webfont.woff
|
|
304
|
+
│ │ │ caskaydia_cove_nerd_font_complete-webfont.woff2
|
|
305
|
+
│ │ │ generator_config.txt
|
|
306
|
+
│ │ │ stylesheet.css
|
|
307
|
+
│ │ │
|
|
308
|
+
│ │ └───specimen_files
|
|
309
|
+
│ │ grid_12-825-55-15.css
|
|
310
|
+
│ │ specimen_stylesheet.css
|
|
311
|
+
│ │
|
|
312
|
+
│ ├───images
|
|
313
|
+
│ │ │ topbutton.png
|
|
314
|
+
│ │ │
|
|
315
|
+
│ │ └───projects
|
|
316
|
+
│ │ ├───desvsculptor
|
|
317
|
+
│ │ │ 20230926-localhost-iphone14promax-homepage-fotor-bg-remover-20231002163813.png
|
|
318
|
+
│ │ │ 20230926-localhost-iphone14promax-homepage.PNG
|
|
319
|
+
│ │ │ home-page-example.png
|
|
320
|
+
│ │ │
|
|
321
|
+
│ │ └───dummy_project
|
|
322
|
+
│ │ ilya-pavlov-OqtafYT5kTw-unsplash.jpg
|
|
323
|
+
│ │
|
|
324
|
+
│ ├───js
|
|
325
|
+
│ │ jquery-1.9.1.min.js
|
|
326
|
+
│ │ totop.js
|
|
327
|
+
│ │
|
|
328
|
+
│ └───scss
|
|
329
|
+
│ main.scss
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
The `assets` folder generally contains the various assets used throughout your site, such as JavaScript, styles, images, fonts, pdfs, etc. Here I will explain the assets contained within the DevSculptor project, and let you know which ones can be edited freely.
|
|
333
|
+
|
|
334
|
+
- `JustinSunday_Resume_2023-09-14.pdf`
|
|
335
|
+
- A sample résumé that you can replace with your own. To make your résumé work, replace the existing résumé with your own and replace the path within `_data/page-list.yml`. That is all you have to do!
|
|
336
|
+
- `branding`
|
|
337
|
+
- This folder just happens to be where I store the logo designs for DevSculptor. You can remove this folder completely, or replace its contents with your own logo files. You will probably want to use your own logo for you site, anyway.
|
|
338
|
+
- `fonts`
|
|
339
|
+
- Any fonts you may want to use for your site that may not be installed by default on your users' machines. These fonts will usually be listed in the site's `main.scss` file.
|
|
340
|
+
- `images`
|
|
341
|
+
- Here, you will store any of the images used within your site. Generally, I would recommend subfolders for where your sites are located. For instance, photos of your projects should go in `projects`, images for your blog posts should go within a `posts` folder, etc. You can remove the subfolders I have here, but I would recommend keeping the `topbutton.png` file since it is used for the "back to top" functionality within the site.
|
|
342
|
+
- `js`
|
|
343
|
+
- Contains any JavaScript files needed for your site's functionality. You can add what you'd like here, but I would recommend keeping the existing files as they are needed for the DevSculptor theme.
|
|
344
|
+
- `scss`
|
|
345
|
+
- Base style files used within your site. The scss folder at the project's root level usually only contains site-wide style variables and imports of the other style files found within the project.
|
|
346
|
+
|
|
347
|
+
--------------------
|
|
348
|
+
#### `pages` Folder
|
|
349
|
+
|
|
350
|
+
```shell
|
|
351
|
+
├───pages
|
|
352
|
+
│ about.md # Keep. Edits shouldn't be necessary.
|
|
353
|
+
│ archives.md # Keep. Edits shouldn't be necessary.
|
|
354
|
+
│ categories.md # Keep. Edits shouldn't be necessary.
|
|
355
|
+
│ home.md # Keep. Edits shouldn't be necessary.
|
|
356
|
+
│ projects.md # Keep. Edits shouldn't be necessary.
|
|
357
|
+
│ search.md # Keep. You may need to edit this if you prefer not to use Algolia for your site's search.
|
|
358
|
+
│ subscribe.md # Keep. Edits shouldn't be necessary.
|
|
359
|
+
│ tags.md # Keep. Edits shouldn't be necessary.
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
The `pages` directory holds all the basic page structures needed for your site and the DevSculptor theme.
|
|
363
|
+
I wouldn't recommend editing any of them. If you decide you don't like Algolia, or would prefer a different service for site-search,
|
|
364
|
+
then you will need to edit `search.md`.
|
|
365
|
+
|
|
366
|
+
-------------------
|
|
367
|
+
#### `_data` Folder
|
|
368
|
+
|
|
369
|
+
```shell
|
|
370
|
+
├───_data
|
|
371
|
+
│ blogroll.yml
|
|
372
|
+
│ locales.yml
|
|
373
|
+
│ page-list.yml
|
|
374
|
+
│ projects.yml
|
|
375
|
+
│ social.yml
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
The `_data` folder contains files that are utilized much in the same way as the `_config.yml` file. More info on data files can be found [here](https://jekyllrb.com/docs/datafiles/){:target="_blank"}{:rel="noopener noreferrer"}.
|
|
379
|
+
The fies found within this folder hold data and details specific to your site. If you like to write your blog posts locally while running
|
|
380
|
+
the Jekyll server, then you'll notice that changes you make within the data files actually appear when the app refreshes, whereas changes
|
|
381
|
+
made within the `_config.yml` don't without the server being restarted.
|
|
382
|
+
|
|
383
|
+
--------------------
|
|
384
|
+
##### `blogroll.yml`
|
|
385
|
+
|
|
386
|
+
The blogroll data can be accessed by your site by using `site.data.blogroll`. The data within is stored as a list of objects.
|
|
387
|
+
Jekyll's site has a good short use case for this type of list [here](https://jekyllrb.com/docs/datafiles/#example-list-of-members){:target="_blank"}{:rel="noopener noreferrer"}.
|
|
388
|
+
|
|
389
|
+
Each object in the list contains only three properties. Please see below for a small example:
|
|
390
|
+
|
|
391
|
+
```yaml
|
|
392
|
+
- name: The Overflow # The name property is used to display the blog's name to the user.
|
|
393
|
+
href: https://stackoverflow.blog/ # The url is for the link for the listed blog.
|
|
394
|
+
title: Stack Overflow's Blog, The Overflow # The title tells the tooltip what to display when the user hovers over the link.
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
For the definition of "blogroll," please click [here](https://www.techopedia.com/definition/4822/blogroll){:target="_blank"}{:rel="noopener noreferrer"}.
|
|
398
|
+
Currently, the blogroll within the DevRunner theme is minimal. On the homepage of the site, the blogroll
|
|
399
|
+
will present as a list of links. Hovering over those links will display a tooltip as shown below. Click the image to
|
|
400
|
+
open a larger version in a new window.
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<figure style="margin-top: 20px;">
|
|
404
|
+
<a href="assets/images/site-shots/blogroll-to-datayml-20201010.png" target="_blank" rel="noopener noreferrer"><img alt="Blogroll to data.blogroll relationship" src="{{ '/assets/images/site-shots/blogroll-to-datayml-20201010.png' | prepend: site.url }}" loading="lazy" title="Blogroll to data.blogroll relationship"></a>
|
|
405
|
+
<figcaption>
|
|
406
|
+
Blogroll to data.blogroll relationship
|
|
407
|
+
</figcaption>
|
|
408
|
+
</figure>
|
|
409
|
+
|
|
410
|
+
-------------------
|
|
411
|
+
##### `locales.yml`
|
|
412
|
+
|
|
413
|
+
The locales data can be accessed by your site by using `site.data.locales`. The data within is stored as a list of named objects.
|
|
414
|
+
Jekyll's site has a good short use case for this type of list [here](https://jekyllrb.com/docs/datafiles/#example-list-of-members){:target="_blank"}{:rel="noopener noreferrer"}.
|
|
415
|
+
|
|
416
|
+
This data file lists the various languages for which this the DevSculptor theme has attempted localization. The translations
|
|
417
|
+
were created with the help of ChatGPT, so please use with caution and double-check your desired language within the `locales.yml`
|
|
418
|
+
file. If you find any errors, or have any suggestions, I would greatly appreciate it if you open an [issue](https://github.com/sundayj/DevSculptor/issues){:target="_blank"}{:rel="noopener noreferrer"} on GitHub, or
|
|
419
|
+
contact me via any of the methods listed on the home page, or the About page.
|
|
420
|
+
|
|
421
|
+
Here is an example of the properties listed within the `locales` named objects. I'm providing two to illustrate how every
|
|
422
|
+
locale has the same property with their respective translations.
|
|
423
|
+
|
|
424
|
+
```yaml
|
|
425
|
+
en: # English
|
|
426
|
+
Aboutme: "About Me" # About Author
|
|
427
|
+
Archives: "Archives" # Blog Archive
|
|
428
|
+
Blogroll: "Blogroll"
|
|
429
|
+
Categories: "Categories"
|
|
430
|
+
Tags: "Tags"
|
|
431
|
+
Previous: "Older" # Previous Post
|
|
432
|
+
Next: "Newer" # Next Post
|
|
433
|
+
PostDate: "Date Posted"
|
|
434
|
+
EditDate: "Date Edited"
|
|
435
|
+
Search: "Site Search"
|
|
436
|
+
Home: "Home" # Home Page
|
|
437
|
+
About: "About" # About site/blog
|
|
438
|
+
Subscribe: "Subscribe"
|
|
439
|
+
Résumé: "Résumé"
|
|
440
|
+
Projects: "Projects"
|
|
441
|
+
Site_Map: "Site Map"
|
|
442
|
+
Privacy_Policy: "Privacy Policy"
|
|
443
|
+
Cookie_Policy: "Cookie Policy"
|
|
444
|
+
Terms_of_Service: "Terms of Service"
|
|
445
|
+
es: # Spanish (Español)
|
|
446
|
+
Aboutme: "Acerca de Mí" # Acerca del Autor
|
|
447
|
+
Archives: "Archivos" # Archivo de Blog
|
|
448
|
+
Blogroll: "Lista de Blogs"
|
|
449
|
+
Categories: "Categorías"
|
|
450
|
+
Tags: "Etiquetas"
|
|
451
|
+
Previous: "Anterior" # Publicación Anterior
|
|
452
|
+
Next: "Siguiente" # Publicación Siguiente
|
|
453
|
+
PostDate: "Fecha de Publicación"
|
|
454
|
+
EditDate: "Fecha de Edición"
|
|
455
|
+
Search: "Buscar en el Sitio"
|
|
456
|
+
Home: "Inicio" # Página de Inicio
|
|
457
|
+
About: "Acerca de" # Acerca del sitio/blog
|
|
458
|
+
Subscribe: "Suscribirse"
|
|
459
|
+
Résumé: "Resumen"
|
|
460
|
+
Projects: "Proyectos"
|
|
461
|
+
Site_Map: "Mapa del Sitio"
|
|
462
|
+
Privacy_Policy: "Política de Privacidad"
|
|
463
|
+
Cookie_Policy: "Política de Cookies"
|
|
464
|
+
Terms_of_Service: "Términos de Servicio"
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
---------------------
|
|
468
|
+
##### `page-list.yml`
|
|
469
|
+
|
|
470
|
+
The page list data can be accessed by your site by using `site.data.page-list`. The data within is stored as a list within
|
|
471
|
+
a `pages` object. This data is currently being used in `_includes/navigation.html`. The object properties can be seen below,
|
|
472
|
+
where two page objects are displayed to illustrate the `new-tab` property:
|
|
473
|
+
|
|
474
|
+
```yaml
|
|
475
|
+
- title: Projects # The title property is used to display the page's name to the user.
|
|
476
|
+
url: /projects # The url property should match the canonical url of its respective page.
|
|
477
|
+
new-tab: false # The new-tab property tells the UI whether to have the link open in a new tab.
|
|
478
|
+
- title: Résumé
|
|
479
|
+
url: /assets/JustinSunday_Resume_2023-09-14.pdf # Explained below ⬇
|
|
480
|
+
new-tab: true # Explained below ⬇
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
You're probably wondering, "Why don't you just use Jekyll's built-in `site.pages`?" Well, the answer is in case the site
|
|
484
|
+
owner (you or me) would like to link to sites may not have a corresponding page stored on your site. For example, there
|
|
485
|
+
is no actual Résumé page anywhere within the DevSculptor theme, but I can still show the Résumé link in the site's navigation.
|
|
486
|
+
Since there is no canonical url for a page that doesn't exist, I can simply use the path the résumé pdf file stored in
|
|
487
|
+
the `assets` folder. Then, with the `new-tab` property set to `true`, when the user clicks my Résumé link within the navigation
|
|
488
|
+
bar, a new tab will open in their browser with my résumé as a pdf.
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
--------------------
|
|
492
|
+
##### `projects.yml`
|
|
493
|
+
|
|
494
|
+
<div class="alert alert-warning" role="alert">
|
|
495
|
+
⚠ <b>WARNING</b>: The Projects page, as well as this data file are still being refined and are subject to change.
|
|
496
|
+
Please subscribe to the theme's blog, or follow this repo in GitHub to stay up-to-date with any potentially breaking changes.
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
The projects data can be accessed by your site by using `site.data.projects`. The data within is stored as a list of objects.
|
|
500
|
+
Jekyll's site has a good short use case for this type of list [here](https://jekyllrb.com/docs/datafiles/#example-list-of-members){:target="_blank"}{:rel="noopener noreferrer"}.
|
|
501
|
+
|
|
502
|
+
The objects within `projects.yml` are more a bit more involved than the data stored within the other data files.
|
|
503
|
+
There are a few important details to pay special attention to:
|
|
504
|
+
- `project.client` is optional
|
|
505
|
+
- `project.images` is optional, but the project won't display without images.
|
|
506
|
+
- `project.images[i].link` is optional
|
|
507
|
+
Currently, the projects page displays projects with the following information:
|
|
508
|
+
- Project Started: `project.start-year`
|
|
509
|
+
- Project Ended: `project.end-year`
|
|
510
|
+
- Project Website: `project.website`
|
|
511
|
+
- Client: `project.client`
|
|
512
|
+
- `project.client.name` - The client's name will always be displayed as long as it isn't an empty string `""`.
|
|
513
|
+
- `project.client.website` - If a website is provided, then the client's name will become a link to their website.
|
|
514
|
+
- Tags: `project.tags` as an array `[]`
|
|
515
|
+
- Skills: `project.skills` as an array `[]`
|
|
516
|
+
- Description: `project.description`
|
|
517
|
+
- Project Images: `project.images` as a list of objects.
|
|
518
|
+
- `project.images[i].title` - Used for the image's `alt` attribute if there is an error loading the image as well as the
|
|
519
|
+
`title` attribute for the image's tooltip.
|
|
520
|
+
- `project.images[i].path` - Used for the image's `src` attribute.
|
|
521
|
+
- `project.images[i].caption` - Used for the image's caption/description below the image. Use this to briefly explain
|
|
522
|
+
what is being displayed in the provided image.
|
|
523
|
+
|
|
524
|
+
Examples:
|
|
525
|
+
```yaml
|
|
526
|
+
- name: DevSculptor Jekyll Theme
|
|
527
|
+
display: true # Whether to display this project on the projects page.
|
|
528
|
+
start-month: 9
|
|
529
|
+
start-year: 2023 # Optional
|
|
530
|
+
ongoing: true
|
|
531
|
+
tags: [Jekyll, Theme]
|
|
532
|
+
skills: [HTML, Liquid, Sass, JavaScript]
|
|
533
|
+
website: "https://jlsunday.com/DevSculptor"
|
|
534
|
+
description: "A full-featured, GitHub Pages compatible, Jekyll blog theme tailored to software devs that contains project and resume pages. Contains localization support for multiple languages."
|
|
535
|
+
images:
|
|
536
|
+
- title: "Home Page Example"
|
|
537
|
+
path: "/assets/images/projects/desvsculptor/home-page-example.png"
|
|
538
|
+
caption: "Home page example with the DevSculptor theme."
|
|
539
|
+
link: ""
|
|
540
|
+
- title: "Home Page Example on Mobile"
|
|
541
|
+
path: "/assets/images/projects/desvsculptor/20230926-localhost-iphone14promax-homepage-fotor-bg-remover-20231002163813.png"
|
|
542
|
+
caption: "Home page example on mobile."
|
|
543
|
+
link: ""
|
|
544
|
+
- name: Dummy Project
|
|
545
|
+
display: true
|
|
546
|
+
start-month: 1
|
|
547
|
+
start-year: 2017 # Optional
|
|
548
|
+
end-month: 5
|
|
549
|
+
end-year: 2017
|
|
550
|
+
ongoing: true
|
|
551
|
+
tags: [Jekyll, Theme, Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7, Tag8, Tag9, Tag10]
|
|
552
|
+
skills: [HTML, Liquid, Sass, JavaScript]
|
|
553
|
+
client:
|
|
554
|
+
name: Example Client
|
|
555
|
+
website: "https://jlsunday.com"
|
|
556
|
+
website: ""
|
|
557
|
+
description: "Lorem ipsum dolor sit amet sed nulla. In lorem sea delenit erat eu nonummy hendrerit et amet laoreet diam lorem sed duis elitr accumsan sadipscing ea. Sit esse ad lorem sit et labore erat dolores at hendrerit. Diam luptatum stet sit. Elitr sed ut. Dolor sed lorem autem hendrerit iusto diam lorem duo eirmod sed dolore. Consequat lorem takimata. Voluptua nonumy autem labore vero amet vero amet invidunt et ea eirmod takimata feugiat kasd duo accusam. Dolore et vero sit facilisi duis tempor commodo diam commodo sea gubergren ea. Tempor aliquyam et nonumy dolore sadipscing sed diam sit stet ut sit elitr amet diam diam te duo. Tempor voluptua vulputate rebum. Wisi et takimata takimata adipiscing voluptua."
|
|
558
|
+
images:
|
|
559
|
+
- title: ""
|
|
560
|
+
path: "/assets/images/projects/dummy_project/ilya-pavlov-OqtafYT5kTw-unsplash.jpg"
|
|
561
|
+
caption: Photo by <a href="https://unsplash.com/@ilyapavlov?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Ilya Pavlov</a> on <a href="https://unsplash.com/photos/OqtafYT5kTw?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
|
|
562
|
+
- name: "Example Project 2"
|
|
563
|
+
display: false
|
|
564
|
+
start-month:
|
|
565
|
+
start-year:
|
|
566
|
+
end-month:
|
|
567
|
+
end-year:
|
|
568
|
+
ongoing: true
|
|
569
|
+
tags: []
|
|
570
|
+
skills: []
|
|
571
|
+
client:
|
|
572
|
+
name: ""
|
|
573
|
+
website: ""
|
|
574
|
+
website: ""
|
|
575
|
+
description: ""
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
------------------
|
|
579
|
+
##### `social.yml`
|
|
580
|
+
|
|
581
|
+
The social data can be accessed by your site by using `site.data.social`. The data within is stored as a list of objects.
|
|
582
|
+
Jekyll's site has a good short use case for this type of list [here](https://jekyllrb.com/docs/datafiles/#example-list-of-members){:target="_blank"}{:rel="noopener noreferrer"}.
|
|
583
|
+
|
|
584
|
+
Social is a bit different from the other data files. The objects stored in `social.yml` are primarily used for the social
|
|
585
|
+
icons listed in the "About Me" on the home page. However, the objects can contain other properties that may be used elsewhere.
|
|
586
|
+
For instance, the `twitter` object in the list has a `card` property and a `creator` property that the others do not. These properties
|
|
587
|
+
are used to tell which blog post properties are to be used when creating a shareable X card. `discus` has a `shortname`
|
|
588
|
+
property that the others don't have or need. If all you care about is showing your social icon that links back to you, then
|
|
589
|
+
just be sure to include the following properties, shown here with GitHub:
|
|
590
|
+
|
|
591
|
+
```yaml
|
|
592
|
+
- name: github
|
|
593
|
+
show_in_contact_me: true # Must be true if you want to show the icon in the About Me on the home page.
|
|
594
|
+
username: sundayj
|
|
595
|
+
url: https://github.com/sundayj
|
|
596
|
+
icon: bi bi-github # The bootstrap icon class to be used for the social's icon. More here: https://icons.getbootstrap.com/?q=social
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
------------------------
|
|
600
|
+
#### `_includes` Folder
|
|
601
|
+
|
|
602
|
+
```shell
|
|
603
|
+
├───_includes
|
|
604
|
+
│ │ about.html
|
|
605
|
+
│ │ anchor_headings.html
|
|
606
|
+
│ │ archives.html
|
|
607
|
+
│ │ categories.html
|
|
608
|
+
│ │ comments.html
|
|
609
|
+
│ │ footer.html
|
|
610
|
+
│ │ head.html
|
|
611
|
+
│ │ home.html
|
|
612
|
+
│ │ navigation.html
|
|
613
|
+
│ │ page_pagination.html
|
|
614
|
+
│ │ projects.html
|
|
615
|
+
│ │ sidebar.html
|
|
616
|
+
│ │ tags.html
|
|
617
|
+
│ │ toc.html
|
|
618
|
+
│ │
|
|
619
|
+
│ ├───footer
|
|
620
|
+
│ │ code-block-lang.html
|
|
621
|
+
│ │ color_theme_toggler.html
|
|
622
|
+
│ │ copyright.html
|
|
623
|
+
│ │ create-toc.html
|
|
624
|
+
│ │ page_pagination.html
|
|
625
|
+
│ │ reading-time.html
|
|
626
|
+
│ │ scripts.html
|
|
627
|
+
│ │ toggle-toc.html
|
|
628
|
+
│ │
|
|
629
|
+
│ ├───head
|
|
630
|
+
│ │ ban.html
|
|
631
|
+
│ │ google_analytics.html
|
|
632
|
+
│ │ icons.html
|
|
633
|
+
│ │ scripts.html
|
|
634
|
+
│ │ stylesheets.html
|
|
635
|
+
│ │
|
|
636
|
+
│ ├───home
|
|
637
|
+
│ │ post_card.html
|
|
638
|
+
│ │
|
|
639
|
+
│ ├───navigation
|
|
640
|
+
│ │ color-theme-switcher.html
|
|
641
|
+
│ │ svg.html
|
|
642
|
+
│ │
|
|
643
|
+
│ ├───projects
|
|
644
|
+
│ │ project-card.html
|
|
645
|
+
│ │
|
|
646
|
+
│ ├───search
|
|
647
|
+
│ │ algolia.html
|
|
648
|
+
│ │
|
|
649
|
+
│ └───sidebar
|
|
650
|
+
│ aboutme.html
|
|
651
|
+
│ blogroll.html
|
|
652
|
+
```
|
|
653
|
+
-----------------------
|
|
654
|
+
#### `_layouts` Folder
|
|
655
|
+
|
|
656
|
+
```shell
|
|
657
|
+
├───_layouts
|
|
658
|
+
│ default.html
|
|
659
|
+
│ home.html
|
|
660
|
+
│ page.html
|
|
661
|
+
│ plain.html
|
|
662
|
+
│ post.html
|
|
663
|
+
```
|
|
664
|
+
--------------------
|
|
665
|
+
#### `_posts` Folder
|
|
666
|
+
|
|
667
|
+
```shell
|
|
668
|
+
├───_posts
|
|
669
|
+
│ 2023-09-17-about-devsculptor.md
|
|
670
|
+
│ 2023-09-18-usage.md
|
|
671
|
+
│ 2023-09-19-test-post-1.md
|
|
672
|
+
```
|
|
673
|
+
-------------------
|
|
674
|
+
#### `_sass` Folder
|
|
675
|
+
|
|
676
|
+
```shell
|
|
677
|
+
├───_sass
|
|
678
|
+
│ _base.scss
|
|
679
|
+
│ _navigation.scss
|
|
680
|
+
│ _syntax-highlighting.scss
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
---------------
|
|
684
|
+
## Contributing
|
|
685
|
+
|
|
686
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/sundayj/DevSculptor. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](https://www.contributor-covenant.org/) code of conduct.
|
|
687
|
+
|
|
688
|
+
---------------
|
|
689
|
+
## Development
|
|
690
|
+
|
|
691
|
+
To set up your environment to develop this theme, run `bundle install`.
|
|
692
|
+
|
|
693
|
+
DevSculptor is set up just like a normal Jekyll site! To test DevSculptor, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using DevSculptor. Add pages, documents, data, etc. like normal to test DevSculptor's contents. As you make modifications to DevSculptor and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
|
|
694
|
+
|
|
695
|
+
When DevSculptor is released, only the files in `_layouts`, `_includes`, `_sass`, `_data`, `pages` and `assets` tracked with Git will be bundled.
|
|
696
|
+
To add a custom directory to DevSculptor-gem, please edit the regexp in `DevSculptor.gemspec` accordingly.
|
|
697
|
+
|
|
698
|
+
----------
|
|
699
|
+
## License
|
|
700
|
+
|
|
701
|
+
The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
|
702
|
+
|
|
703
|
+
-------------
|
|
704
|
+
## Built With
|
|
705
|
+
|
|
706
|
+
- DevSculptor logo generation - [LOGO](https://logo.com/)
|
|
707
|
+
- DevSculptor favicon conversion - [favicon.io](https://favicon.io/favicon-converter/)
|
|
708
|
+
- Search provided by [Algolia](https://www.algolia.com/blog/engineering/instant-search-blog-documentation-jekyll-plugin/)
|
|
709
|
+
- Contact Me form by [Fabform](https://fabform.io/)
|
|
710
|
+
- Comments provided by [HTML Comment Box](https://www.htmlcommentbox.com/)
|
|
711
|
+
- Anchor Tags provided by [allejo/jekyll-anchor-headings](https://github.com/allejo/jekyll-anchor-headings)
|