bilingual-jekyll-resume-theme 0.1.1 → 0.3.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 +4 -4
- data/CHANGELOG.md +85 -0
- data/CODE_OF_CONDUCT.MD +92 -0
- data/_layouts/resume-ar.html +132 -1
- data/_layouts/resume-en.html +132 -1
- data/assets/css/cv-ar.scss +8 -8
- data/assets/css/cv.scss +7 -7
- data/assets/css/main.scss +3 -3
- data/docs/CONFIG_GUIDE.md +316 -0
- data/docs/DATA_GUIDE.md +559 -0
- data/docs/INCLUDES_GUIDE.md +482 -0
- data/docs/LAYOUTS_GUIDE.md +312 -0
- data/docs/SASS_GUIDE.md +290 -0
- data/docs/_config.sample.yml +167 -0
- metadata +66 -2
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# Configuration Guide (_config.yml)
|
|
2
|
+
|
|
3
|
+
Make your site render correctly with this theme. This guide matches the shipped `_config.yml` template exactly, removes ambiguity, and adds clear examples.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Table of contents
|
|
8
|
+
|
|
9
|
+
- [Quick start](#quick-start)
|
|
10
|
+
- [Required settings](#required-settings)
|
|
11
|
+
- [Recommended basics](#recommended-basics)
|
|
12
|
+
- [Data source (active_resume_path_en/_ar)](#data-source-active_resume_path_en_ar)
|
|
13
|
+
- [Header and contact](#header-and-contact)
|
|
14
|
+
- [Sections](#sections)
|
|
15
|
+
- [Language and RTL](#language-and-rtl)
|
|
16
|
+
- [Social links](#social-links)
|
|
17
|
+
- [Analytics](#analytics)
|
|
18
|
+
- [Design and authors](#design-and-authors)
|
|
19
|
+
- [Jekyll build settings](#jekyll-build-settings)
|
|
20
|
+
- [Full example config](#full-example-config)
|
|
21
|
+
- [FAQs](#faqs)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Quick start
|
|
26
|
+
|
|
27
|
+
Copy, paste, and customize the ALL-CAPS values:
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
# Required basics
|
|
31
|
+
theme: bilingual-jekyll-resume-theme
|
|
32
|
+
url: https://YOUR-DOMAIN.com
|
|
33
|
+
baseurl: "" # leave empty unless deploying to a subpath
|
|
34
|
+
|
|
35
|
+
title: YOUR NAME
|
|
36
|
+
name:
|
|
37
|
+
first: YOUR
|
|
38
|
+
middle: M
|
|
39
|
+
last: NAME
|
|
40
|
+
resume_title: YOUR JOB TITLE
|
|
41
|
+
|
|
42
|
+
description: Your short tagline (optional)
|
|
43
|
+
|
|
44
|
+
timezone: UTC
|
|
45
|
+
|
|
46
|
+
contact_info:
|
|
47
|
+
email: you@example.com
|
|
48
|
+
|
|
49
|
+
# Resume sections to show and their order
|
|
50
|
+
resume_section:
|
|
51
|
+
experience: true
|
|
52
|
+
education: true
|
|
53
|
+
projects: true
|
|
54
|
+
skills: true
|
|
55
|
+
resume_section_order:
|
|
56
|
+
- experience
|
|
57
|
+
- education
|
|
58
|
+
- projects
|
|
59
|
+
- skills
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
That’s enough to render a working resume using data from `_data/`.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Required settings
|
|
67
|
+
|
|
68
|
+
- theme: Must be `bilingual-jekyll-resume-theme`.
|
|
69
|
+
- url: Full site URL (protocol + host). Used for SEO and absolute links.
|
|
70
|
+
- title: Site title (footer and SEO).
|
|
71
|
+
- name.first, name.last: Appears in the header (`middle` is optional).
|
|
72
|
+
- resume_title: English job title shown in header.
|
|
73
|
+
- contact_info.email: Needed if `resume_looking_for_work: true` (for the contact button).
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Recommended basics
|
|
78
|
+
|
|
79
|
+
- description: Short site description/tagline (used by SEO tags).
|
|
80
|
+
- baseurl: Keep empty unless deploying under a subdirectory (e.g., `/resume`).
|
|
81
|
+
- timezone: Set to your region (e.g., `UTC`, `Etc/GMT`, `America/New_York`).
|
|
82
|
+
- resume_avatar: true/false to show/hide the profile image.
|
|
83
|
+
- display_header_contact_info: true/false to show/hide contact row in header.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Data source (active_resume_path_en/_ar)
|
|
88
|
+
|
|
89
|
+
The layouts read resume data from a subtree of `_data/` using dot-separated paths.
|
|
90
|
+
|
|
91
|
+
- active_resume_path_en: Path for English pages.
|
|
92
|
+
- active_resume_path_ar: Path for Arabic pages.
|
|
93
|
+
- If the value is an empty string (`""`) or not set, the root of `_data/` is used.
|
|
94
|
+
|
|
95
|
+
Examples:
|
|
96
|
+
|
|
97
|
+
```yaml
|
|
98
|
+
active_resume_path_en: "en" # -> uses _data/en/*
|
|
99
|
+
active_resume_path_ar: "ar" # -> uses _data/ar/*
|
|
100
|
+
# Nested example:
|
|
101
|
+
active_resume_path_en: "2025-06.PM" # -> uses _data/2025-06/PM/*
|
|
102
|
+
# Root example (use files directly under _data/ not suggested unless using one language only):
|
|
103
|
+
active_resume_path_en: ""
|
|
104
|
+
active_resume_path_ar: ""
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Note: This theme uses the two keys above (there is no single `active_resume_path`).
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Header and contact
|
|
112
|
+
|
|
113
|
+
- resume_avatar (bool): Show/hide avatar in the header.
|
|
114
|
+
- resume_header_intro (HTML string): Short paragraph under your header; basic HTML supported.
|
|
115
|
+
- resume_looking_for_work (bool | omitted):
|
|
116
|
+
- true → Shows “Contact me” button using `contact_info.email`.
|
|
117
|
+
- false → Shows a neutral “I’m not looking for work” pill.
|
|
118
|
+
- omitted → Shows nothing.
|
|
119
|
+
- display_header_contact_info (bool): Show/hide contact row (phone, email, address, DoB, compact languages).
|
|
120
|
+
- enable_live (bool): When true, uses `contact_info.email_live`/`phone_live` instead of `email`/`phone`.
|
|
121
|
+
|
|
122
|
+
contact_info fields:
|
|
123
|
+
- email (required for contact button), phone (optional), address (optional), address_ar (optional on Arabic page), dob (optional), email_live/phone_live (used when `enable_live: true`).
|
|
124
|
+
|
|
125
|
+
Language-specific titles:
|
|
126
|
+
- resume_title (EN), resume_title_ar (AR).
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Sections
|
|
131
|
+
|
|
132
|
+
Available sections: experience, education, certifications, courses, volunteering, projects, skills, recognition, associations, interests, languages, links
|
|
133
|
+
|
|
134
|
+
- resume_section.<name> (bool): Master toggle per section.
|
|
135
|
+
- resume_section.lang_header (bool): When true and `languages` data exists, shows a compact languages summary in the header instead of rendering the full Languages section.
|
|
136
|
+
- resume_section_order (array): Rendering order; disabled sections are skipped.
|
|
137
|
+
|
|
138
|
+
Helpful toggles:
|
|
139
|
+
- enable_summary (bool): If true, renders `summary` fields for roles/courses when present.
|
|
140
|
+
- resume_print_social_links (bool): If true, adds a text-only “Social Links” section on print/PDF.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Language and RTL
|
|
145
|
+
|
|
146
|
+
- resume_title_ar: Arabic job title for the Arabic layout.
|
|
147
|
+
- address_ar: Arabic address line for the Arabic header contact row.
|
|
148
|
+
- Arabic dates: `_includes/ar-date.html` expects `site.data.ar.months` to map 1–12 to Arabic month names (define in `_data/ar.yml` or `_data/ar/months.yml`).
|
|
149
|
+
- Present text: English shows “Present”; Arabic shows “حتى الآن”.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Social links
|
|
154
|
+
|
|
155
|
+
Only keys with values render. Add the ones you want; leave others out.
|
|
156
|
+
|
|
157
|
+
Supported keys (icons on page; text list for print when enabled):
|
|
158
|
+
- github, linkedin, telegram, twitter, medium, dribbble, facebook, instagram, website, whatsapp, devto, flickr, pinterest, youtube
|
|
159
|
+
|
|
160
|
+
Tip: For printing, set `resume_print_social_links: true`.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Analytics
|
|
165
|
+
|
|
166
|
+
Choose one (do not enable both):
|
|
167
|
+
|
|
168
|
+
- Google Tag Manager (recommended):
|
|
169
|
+
- analytics.gtm: GTM-XXXXXXX (adds head script + `<noscript>` body iframe)
|
|
170
|
+
- Google Analytics 4 (gtag.js):
|
|
171
|
+
- analytics.ga: true
|
|
172
|
+
- analytics.gtag: G-XXXXXXXXXX
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Design and authors
|
|
177
|
+
|
|
178
|
+
- resume_theme: Theme variant (currently `default`).
|
|
179
|
+
- authors: Optional list; not required by the theme but supported in config.
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Jekyll build settings
|
|
184
|
+
|
|
185
|
+
- plugins (required): jekyll-feed, jekyll-seo-tag, jekyll-sitemap, jekyll-redirect-from
|
|
186
|
+
- include: Files/dirs to include (e.g., `_redirects`, `.well-known/`, `_pages/`, `_posts/`).
|
|
187
|
+
- exclude: Files/dirs to ignore (e.g., README.md, Gemfile*, vendor/, node_modules/, scripts/).
|
|
188
|
+
- defaults: Optional front matter defaults.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Full example config
|
|
193
|
+
|
|
194
|
+
```yaml
|
|
195
|
+
# Identity
|
|
196
|
+
theme: bilingual-jekyll-resume-theme
|
|
197
|
+
url: https://your-domain.com
|
|
198
|
+
baseurl: ""
|
|
199
|
+
title: Jane Doe
|
|
200
|
+
description: Product leader focused on outcomes
|
|
201
|
+
|
|
202
|
+
timezone: UTC
|
|
203
|
+
|
|
204
|
+
# Name & titles
|
|
205
|
+
name:
|
|
206
|
+
first: Jane
|
|
207
|
+
middle: Q.
|
|
208
|
+
last: Doe
|
|
209
|
+
resume_title: Senior Product Manager
|
|
210
|
+
resume_title_ar: مديرة منتج أولى
|
|
211
|
+
|
|
212
|
+
# Contact
|
|
213
|
+
contact_info:
|
|
214
|
+
email: jane.doe@example.com
|
|
215
|
+
phone: "+1 555 555 5555"
|
|
216
|
+
address: "San Francisco, CA"
|
|
217
|
+
address_ar: "سان فرانسيسكو، كاليفورنيا"
|
|
218
|
+
# Live-mode alternates
|
|
219
|
+
# enable_live: false
|
|
220
|
+
# contact_info:
|
|
221
|
+
# email_live: live@example.com
|
|
222
|
+
# phone_live: "+1 555 000 0000"
|
|
223
|
+
|
|
224
|
+
display_header_contact_info: true
|
|
225
|
+
resume_avatar: true
|
|
226
|
+
resume_header_intro: "<p>Building products customers love through clear strategy and measurable outcomes.</p>"
|
|
227
|
+
resume_looking_for_work: true
|
|
228
|
+
|
|
229
|
+
# Data paths
|
|
230
|
+
active_resume_path_en: "en"
|
|
231
|
+
active_resume_path_ar: "ar"
|
|
232
|
+
|
|
233
|
+
# Sections
|
|
234
|
+
resume_section:
|
|
235
|
+
experience: true
|
|
236
|
+
education: true
|
|
237
|
+
certifications: true
|
|
238
|
+
courses: true
|
|
239
|
+
volunteering: true
|
|
240
|
+
projects: true
|
|
241
|
+
associations: true
|
|
242
|
+
skills: false
|
|
243
|
+
recognition: false
|
|
244
|
+
languages: false
|
|
245
|
+
lang_header: true
|
|
246
|
+
interests: false
|
|
247
|
+
links: false
|
|
248
|
+
resume_section_order:
|
|
249
|
+
- experience
|
|
250
|
+
- education
|
|
251
|
+
- certifications
|
|
252
|
+
- courses
|
|
253
|
+
- volunteering
|
|
254
|
+
- projects
|
|
255
|
+
- associations
|
|
256
|
+
- skills
|
|
257
|
+
- recognition
|
|
258
|
+
- languages
|
|
259
|
+
- interests
|
|
260
|
+
- links
|
|
261
|
+
|
|
262
|
+
# Behavior
|
|
263
|
+
enable_summary: false
|
|
264
|
+
resume_print_social_links: true
|
|
265
|
+
|
|
266
|
+
# Social
|
|
267
|
+
social_links:
|
|
268
|
+
github: https://github.com/janedoe
|
|
269
|
+
linkedin: https://www.linkedin.com/in/janedoe/
|
|
270
|
+
website: https://janedoe.com
|
|
271
|
+
twitter: https://twitter.com/janedoe
|
|
272
|
+
|
|
273
|
+
# Theme & analytics
|
|
274
|
+
authors: []
|
|
275
|
+
resume_theme: default
|
|
276
|
+
analytics:
|
|
277
|
+
# gtm: GTM-XXXXXXX
|
|
278
|
+
# ga: true
|
|
279
|
+
# gtag: G-XXXXXXXXXX
|
|
280
|
+
|
|
281
|
+
# Jekyll
|
|
282
|
+
plugins:
|
|
283
|
+
- jekyll-feed
|
|
284
|
+
- jekyll-seo-tag
|
|
285
|
+
- jekyll-sitemap
|
|
286
|
+
- jekyll-redirect-from
|
|
287
|
+
include:
|
|
288
|
+
- _redirects
|
|
289
|
+
- .well-known/
|
|
290
|
+
- _pages/
|
|
291
|
+
- _posts/
|
|
292
|
+
exclude:
|
|
293
|
+
- scratch.md
|
|
294
|
+
- README.md
|
|
295
|
+
- Gemfile*
|
|
296
|
+
- vendor/
|
|
297
|
+
- node_modules/
|
|
298
|
+
- "*.gemspec"
|
|
299
|
+
- netlify.toml
|
|
300
|
+
- vercel.json
|
|
301
|
+
- WARP.md
|
|
302
|
+
- scripts/
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## FAQs
|
|
308
|
+
|
|
309
|
+
- A section isn’t showing up.
|
|
310
|
+
- Ensure `resume_section.<name>: true`, it appears in `resume_section_order`, and your data items have `active: true`.
|
|
311
|
+
- Contact button shows but nothing happens.
|
|
312
|
+
- Set `contact_info.email` or set `resume_looking_for_work: false`.
|
|
313
|
+
- Arabic months appear as numbers.
|
|
314
|
+
- Define Arabic month names under `site.data.ar.months` (e.g., `_data/ar/months.yml`).
|
|
315
|
+
- Data for EN/AR lives in different folders.
|
|
316
|
+
- Point `active_resume_path_en` and `active_resume_path_ar` at the right subtrees (e.g., `en` and `ar`).
|