bilingual-jekyll-resume-theme 0.3.1 → 0.5.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 +44 -0
- data/README.md +131 -20
- data/_data/ar/months.yml +12 -0
- data/_includes/ar-date.html +32 -0
- data/_includes/resume-section-ar.html +10 -4
- data/_includes/resume-section-en.html +9 -4
- data/_layouts/default.html +2 -0
- data/_layouts/resume-ar.html +4 -2
- data/_layouts/resume-en.html +3 -1
- data/docs/CONFIG_GUIDE.md +28 -13
- data/docs/DATA_GUIDE.md +106 -27
- data/docs/INCLUDES_GUIDE.md +17 -8
- data/docs/LAYOUTS_GUIDE.md +40 -25
- data/docs/PROJECT_OVERVIEW.md +69 -0
- data/docs/SASS_GUIDE.md +3 -1
- data/docs/{_config.sample.yml → _data/_config.sample.yml} +2 -1
- data/docs/_data/ar/associations.yml +27 -0
- data/docs/_data/ar/certifications.yml +73 -0
- data/docs/_data/ar/courses.yml +39 -0
- data/docs/_data/ar/education.yml +49 -0
- data/docs/_data/ar/experience.yml +50 -0
- data/docs/_data/ar/header.yml +6 -0
- data/docs/_data/ar/interests.yml +13 -0
- data/docs/_data/ar/languages.yml +29 -0
- data/docs/_data/ar/links.yml +17 -0
- data/docs/_data/ar/projects.yml +28 -0
- data/docs/_data/ar/recognitions.yml +23 -0
- data/docs/_data/ar/skills.yml +17 -0
- data/docs/_data/ar/volunteering.yml +39 -0
- data/docs/_data/en/associations.yml +27 -0
- data/docs/_data/en/certifications.yml +73 -0
- data/docs/_data/en/courses.yml +39 -0
- data/docs/_data/en/education.yml +49 -0
- data/docs/_data/en/experience.yml +50 -0
- data/docs/_data/en/header.yml +6 -0
- data/docs/_data/en/interests.yml +13 -0
- data/docs/_data/en/languages.yml +29 -0
- data/docs/_data/en/links.yml +17 -0
- data/docs/_data/en/projects.yml +28 -0
- data/docs/_data/en/recognitions.yml +23 -0
- data/docs/_data/en/skills.yml +17 -0
- data/docs/_data/en/volunteering.yml +39 -0
- metadata +71 -25
- /data/{CODE_OF_CONDUCT.MD → CODE_OF_CONDUCT.md} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6a564ca7ea40cba9ce7787387ec40f652ba6d372c20efc4e1ea7d4ca96c7fc07
|
|
4
|
+
data.tar.gz: f1bda2da34e9b4655a74a4e08657cb56ae52b8d735bb42e705c59c369fd1bd29
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: da02b5f0d81a45531f55151bc1eec5eb9bf0acb74229d40cac47a41a452bfac4c6da21f0ee970930e5b4b40128b56189978c01809301f0673c1ba94e88c0b9fd
|
|
7
|
+
data.tar.gz: ae3a25641c914cfd40894c7484453aa6535cc61f906f9c4c0ffb6653736534fe424ff7d27ccaa859bd1defb0315407950b8c60ed43b9b5dcf48fc246144ebfe5
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,48 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
## [0.5.0] - 2025-11-06
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
* Add sample configuration file for bilingual Jekyll resume theme ([`ce25360`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/ce25360b10bcc8bd1a26e4d3b3abb20a9f0d4e04))
|
|
11
|
+
|
|
12
|
+
* Add conditional Mastodon link for social verification ([`5bb7f62`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/5bb7f62586871c904df10003fe17f5f9fce9fce4))
|
|
13
|
+
|
|
14
|
+
* Add default Arabic months i18n files ([`1c3cac6`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/1c3cac6c4f0179f0447c746d6d950c3addc33907))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
* Add project overview for bilingual Jekyll resume theme ([`6708f50`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/6708f50bc84a6dd62fb7f77e5ed7797d7a97bd08))
|
|
19
|
+
|
|
20
|
+
* Revise README for bilingual Jekyll resume theme ([`7efff88`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/7efff88b81d48aa9fac5d70cd4501e05f888e1db))
|
|
21
|
+
|
|
22
|
+
* Update configuration and data guides for bilingual resume theme ([`9c0f9e9`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/9c0f9e9c20633970ffeb795cc6bd581caf7a4e62))
|
|
23
|
+
|
|
24
|
+
* Add Arabic and English resume data samples ([`a86a668`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/a86a6680bb1384bc58053b502157aa0ae568a039))
|
|
25
|
+
|
|
26
|
+
* Enhance ar-date include with detailed comments and usage instructions ([`5f297d1`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/5f297d1f2184b24e7feef8257a8bd9d73295d321))
|
|
27
|
+
|
|
28
|
+
* Update bilingual-jekyll-resume-theme.gemspec ([`ca84a88`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/ca84a886bcdb7d8a41c1ed60dffd477207db9739))
|
|
29
|
+
|
|
30
|
+
* Rename CODE_OF_CONDUCT.MD to CODE_OF_CONDUCT.md ([`127813b`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/127813b4f6acb867dff576977b899d1b46d20241))
|
|
31
|
+
|
|
32
|
+
* Use ar-date include for Date of Birth ([`0b2ec85`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/0b2ec854638e9ceaefddc5b87f6a855cdeb0b596))
|
|
33
|
+
|
|
34
|
+
## [0.4.0] - 2025-11-05
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
* Add logger as explicit dependency ([`327702b`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/327702beb3383375172401d8f5869ee3ab3f50a9))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
* Move intro text from _config to data file ([`d026de9`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/d026de92817b3de76843e18b8770c20136ae0691))
|
|
42
|
+
|
|
43
|
+
* Make summary optional in association.yml ([`a12cdc8`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/a12cdc8b9d64db5c3368db6dc270c03a4f353538))
|
|
44
|
+
|
|
45
|
+
* Make summary optional in recognition.yml ([`34b4661`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/34b46613dc561a3d1868fdf8d64f7cfd80e02e5d))
|
|
46
|
+
|
|
47
|
+
* Make description optional in skills.yml ([`601dbf9`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/601dbf9d81a621366d3a0e46f7079da42aa73e75))
|
|
48
|
+
|
|
7
49
|
## [0.3.1] - 2025-11-03
|
|
8
50
|
|
|
9
51
|
### Added
|
|
@@ -83,6 +125,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
83
125
|
|
|
84
126
|
* Initial commit (New Theme Template) ([`00af662`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/00af6628dfec7aefe0ef7d7083bf98c9713a5ffd))
|
|
85
127
|
|
|
128
|
+
[0.5.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.4.0...v0.5.0
|
|
129
|
+
[0.4.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.3.1...v0.4.0
|
|
86
130
|
[0.3.1]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.3.0...v0.3.1
|
|
87
131
|
[0.3.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.2.0...v0.3.0
|
|
88
132
|
[0.2.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.1.1...v0.2.0
|
data/README.md
CHANGED
|
@@ -1,50 +1,161 @@
|
|
|
1
1
|
# bilingual-jekyll-resume-theme
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://github.com/kmutahar/bilingual-jekyll-resume-theme/releases) [](https://badge.fury.io/rb/bilingual-jekyll-resume-theme)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
A flexible Jekyll theme for creating clean, data-driven, bilingual (English & Arabic) resume/CV websites. Created and maintained by Khaldoon Mutahar. See the latest version on the [Releases page](https://github.com/kmutahar/bilingual-jekyll-resume-theme/releases).
|
|
6
|
+
Inspired by and originally forked from [Joel Glovier’s resume template](https://github.com/jglovier/resume-template/). Joel’s version was a basic English-only theme with limited customization (e.g., no section reordering); this project has since evolved into a fully separate theme authored by Khaldoon.
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
## Features
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
- **Bilingual support**: Separate layouts for English (`resume-en.html`) and Arabic (`resume-ar.html`) with full RTL support
|
|
11
|
+
- **Data-driven architecture**: All resume content stored in YAML files, supporting multiple data paths and versioning
|
|
12
|
+
- **12 resume sections**: Experience, Education, Certifications, Courses, Volunteering, Projects, Skills, Recognition, Associations, Languages, Links, Interests
|
|
13
|
+
- **Print-friendly**: Optimized for PDF generation and printing
|
|
14
|
+
- **SEO ready**: Built-in support for multilingual SEO, sitemap, and feed generation
|
|
15
|
+
- **Arabic month support**: Arabic date formatting included out of the box (`_data/ar/months.yml`)
|
|
10
16
|
|
|
11
|
-
|
|
17
|
+
## Quick Start
|
|
12
18
|
|
|
19
|
+
### Installation
|
|
20
|
+
|
|
21
|
+
1. Add to your Jekyll site's `Gemfile`:
|
|
13
22
|
```ruby
|
|
14
23
|
gem "bilingual-jekyll-resume-theme"
|
|
15
24
|
```
|
|
16
25
|
|
|
17
|
-
|
|
18
|
-
|
|
26
|
+
2. Add to your `_config.yml`:
|
|
19
27
|
```yaml
|
|
20
28
|
theme: bilingual-jekyll-resume-theme
|
|
21
29
|
```
|
|
22
30
|
|
|
23
|
-
|
|
31
|
+
3. Install dependencies:
|
|
32
|
+
```bash
|
|
33
|
+
bundle install
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Basic Setup
|
|
37
|
+
|
|
38
|
+
1. **Copy sample configuration**: Use `docs/_data/_config.sample.yml` as a starting point for your `_config.yml`
|
|
24
39
|
|
|
25
|
-
|
|
40
|
+
2. **Copy sample data files**:
|
|
41
|
+
- English data: Copy files from `docs/_data/en/` to your `_data/en/` directory (includes `header.yml` for the intro paragraph)
|
|
42
|
+
- Arabic data: Copy files from `docs/_data/ar/` to your `_data/ar/` directory (includes `header.yml` for the Arabic intro paragraph)
|
|
26
43
|
|
|
27
|
-
|
|
44
|
+
3. **Create resume pages**: Create pages using the `resume-en` and `resume-ar` layouts:
|
|
45
|
+
```yaml
|
|
46
|
+
---
|
|
47
|
+
layout: resume-en
|
|
48
|
+
permalink: /resume/en/
|
|
49
|
+
lang: en
|
|
50
|
+
t_id: resume
|
|
51
|
+
---
|
|
52
|
+
```
|
|
28
53
|
|
|
29
|
-
|
|
54
|
+
4. **Run the development server**:
|
|
55
|
+
```bash
|
|
56
|
+
bundle exec jekyll serve
|
|
57
|
+
```
|
|
30
58
|
|
|
31
|
-
|
|
59
|
+
Visit `http://localhost:4000` to see your resume!
|
|
32
60
|
|
|
33
|
-
|
|
61
|
+
## Documentation
|
|
34
62
|
|
|
35
|
-
|
|
63
|
+
This theme is fully documented. Choose the guide that fits your needs:
|
|
64
|
+
|
|
65
|
+
### 📘 [Configuration Guide](docs/CONFIG_GUIDE.md)
|
|
66
|
+
Complete guide to `_config.yml` settings. Learn how to configure sections, contact info, social links, analytics, and more. **Start here for beginners.**
|
|
67
|
+
|
|
68
|
+
### 📊 [Data Structure Guide](docs/DATA_GUIDE.md)
|
|
69
|
+
Detailed documentation of all 12 data file types (experience, education, skills, etc.) with examples. Learn how to structure your YAML files and what fields are required vs optional.
|
|
70
|
+
|
|
71
|
+
### 🎨 [Layouts Guide](docs/LAYOUTS_GUIDE.md)
|
|
72
|
+
Deep dive into how layouts work, how data flows through them, and how to create custom layouts. Useful for advanced customization.
|
|
73
|
+
|
|
74
|
+
### 🧩 [Includes Guide](docs/INCLUDES_GUIDE.md)
|
|
75
|
+
Understanding the theme's include system, how sections render, and how to add new sections or customize existing ones.
|
|
76
|
+
|
|
77
|
+
### 🎨 [SASS/SCSS Guide](docs/SASS_GUIDE.md)
|
|
78
|
+
Complete guide to the theme's styling system, how to customize colors/fonts, and how to override styles without forking the theme.
|
|
79
|
+
|
|
80
|
+
## Project Structure
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
bilingual-jekyll-resume-theme/
|
|
84
|
+
├── _layouts/ # HTML templates (default, resume-en, resume-ar, profile)
|
|
85
|
+
├── _includes/ # Reusable components (sections, headers, analytics)
|
|
86
|
+
├── _sass/ # SCSS stylesheets (RTL support, print styles)
|
|
87
|
+
├── _data/ # Theme data (includes ar/months.yml)
|
|
88
|
+
├── assets/ # CSS, images, favicons
|
|
89
|
+
└── docs/ # Documentation and sample files
|
|
90
|
+
├── _data/ # Sample data files (copy to your site's _data/)
|
|
91
|
+
└── *.md # Documentation guides
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Key Concepts
|
|
95
|
+
|
|
96
|
+
### Data Paths
|
|
36
97
|
|
|
37
|
-
|
|
98
|
+
**Recommended approach (for beginners):** Use language-specific folders. The theme supports separate data paths for English and Arabic:
|
|
99
|
+
```yaml
|
|
100
|
+
active_resume_path_en: "en" # Uses _data/en/* (recommended)
|
|
101
|
+
active_resume_path_ar: "ar" # Uses _data/ar/* (recommended)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
This is the recommended approach even if you're only using one language, as it keeps your data organized and makes it easy to add more languages later. **Advanced users:** You can place files directly in `_data/` (root) by setting these to empty strings, but this is not recommended for beginners.
|
|
105
|
+
|
|
106
|
+
See the [Configuration Guide](docs/CONFIG_GUIDE.md#data-source-active_resume_path_en_ar) for details.
|
|
107
|
+
|
|
108
|
+
### Sample Files
|
|
109
|
+
|
|
110
|
+
The theme includes sample data files in `docs/_data/en/` and `docs/_data/ar/` that you can copy to your site. These files contain:
|
|
111
|
+
- Commented examples for all 12 section types
|
|
112
|
+
- Required vs optional field explanations
|
|
113
|
+
- Multiple examples per section
|
|
114
|
+
|
|
115
|
+
### Arabic Month Support
|
|
116
|
+
|
|
117
|
+
The theme includes `_data/ar/months.yml` with Arabic month names already configured. You don't need to create this file manually—it's included in the theme.
|
|
38
118
|
|
|
39
119
|
## Development
|
|
40
120
|
|
|
41
|
-
To
|
|
121
|
+
To develop this theme locally:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Install dependencies
|
|
125
|
+
bundle install
|
|
126
|
+
|
|
127
|
+
# Run development server
|
|
128
|
+
bundle exec jekyll serve
|
|
42
129
|
|
|
43
|
-
|
|
130
|
+
# Build the gem
|
|
131
|
+
gem build bilingual-jekyll-resume-theme.gemspec
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
For more details, see [WARP.md](WARP.md) or the [Development section](#development) below.
|
|
135
|
+
|
|
136
|
+
## Requirements
|
|
137
|
+
|
|
138
|
+
- Jekyll 4.4+ (specified in `bilingual-jekyll-resume-theme.gemspec`)
|
|
139
|
+
- Required plugins (automatically included):
|
|
140
|
+
- `jekyll-feed`
|
|
141
|
+
- `jekyll-seo-tag`
|
|
142
|
+
- `jekyll-sitemap`
|
|
143
|
+
- `jekyll-redirect-from`
|
|
144
|
+
|
|
145
|
+
## Contributing
|
|
44
146
|
|
|
45
|
-
|
|
46
|
-
To add a custom directory to your theme-gem, please edit the regexp in `bilingual-jekyll-resume-theme.gemspec` accordingly.
|
|
147
|
+
Bug reports and pull requests are welcome on GitHub. 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.
|
|
47
148
|
|
|
48
149
|
## License
|
|
49
150
|
|
|
50
|
-
The theme is available as open source under the terms of the [MIT License](
|
|
151
|
+
The theme is available as open source under the terms of the [MIT License](LICENSE.txt).
|
|
152
|
+
|
|
153
|
+
## Support
|
|
154
|
+
|
|
155
|
+
- 📖 Check the [documentation guides](docs/) for detailed information
|
|
156
|
+
- 🐛 Report issues on [GitHub Issues](https://github.com/kmutahar/bilingual-jekyll-resume-theme/issues)
|
|
157
|
+
- 💡 See [project_overview.md](project_overview.md) for a high-level architecture overview
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
**Created by Khaldoon Mutahar** | Version 0.4.0 | MIT License
|
data/_data/ar/months.yml
ADDED
data/_includes/ar-date.html
CHANGED
|
@@ -1,7 +1,39 @@
|
|
|
1
|
+
{% comment %}
|
|
2
|
+
Arabic Date Formatter Include
|
|
3
|
+
This include file formats a date in Arabic format by looking up the Arabic month name
|
|
4
|
+
from the site data and formatting it according to the specified style.
|
|
5
|
+
|
|
6
|
+
Usage:
|
|
7
|
+
{% include ar-date.html date=page.date style="MDY" %}
|
|
8
|
+
{% include ar-date.html date=page.date %}
|
|
9
|
+
|
|
10
|
+
Parameters:
|
|
11
|
+
- date: The date to format (required)
|
|
12
|
+
- style: "MDY" for "Month Day, Year" format, or any other value for "Month Year" format (optional)
|
|
13
|
+
{% endcomment %}
|
|
14
|
+
|
|
15
|
+
{% comment %}
|
|
16
|
+
Extract date components from the provided date using Jekyll date filters:
|
|
17
|
+
- "%-m": Month as a number (1-12) without leading zeros
|
|
18
|
+
- "%-d": Day as a number (1-31) without leading zeros
|
|
19
|
+
- "%Y": Year as a 4-digit number
|
|
20
|
+
{% endcomment %}
|
|
1
21
|
{% assign m = include.date | date: "%-m" %}
|
|
2
22
|
{% assign d = include.date | date: "%-d" %}
|
|
3
23
|
{% assign y = include.date | date: "%Y" %}
|
|
24
|
+
|
|
25
|
+
{% comment %}
|
|
26
|
+
Look up the Arabic month name from the site data file:
|
|
27
|
+
- site.data.ar.months is a YAML file containing month names in Arabic
|
|
28
|
+
- The month number (m) is used as the key to retrieve the corresponding Arabic month name
|
|
29
|
+
{% endcomment %}
|
|
4
30
|
{% assign month_name = site.data.ar.months[m] %}
|
|
31
|
+
|
|
32
|
+
{% comment %}
|
|
33
|
+
Format the date output based on the style parameter:
|
|
34
|
+
- If style is "MDY": Output "Month Day, Year" (e.g., "يناير 15, 2024")
|
|
35
|
+
- Otherwise: Output "Month Year" (e.g., "يناير 2024")
|
|
36
|
+
{% endcomment %}
|
|
5
37
|
{% if include.style == "MDY" %}
|
|
6
38
|
{{ month_name }} {{ d }}, {{ y }}
|
|
7
39
|
{% else %}
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
{% for project in resume_data.projects %}
|
|
201
201
|
{% if project.active == true %}
|
|
202
202
|
<div class="resume-item" itemscope itemtype="http://schema.org/CreativeWork">
|
|
203
|
-
<meta itemprop="creator" content="{{ site.
|
|
203
|
+
<meta itemprop="creator" content="{{ site.name.first }} {{ site.name.middle }} {{ site.name.last }}" itemtype="http://schema.org/Person" />
|
|
204
204
|
<h3 class="resume-item-title" itemprop="name" style="display: inline-block;">
|
|
205
205
|
{% if project.url %}
|
|
206
206
|
<a href="{{ project.url }}" target="_blank" rel="noopener nofollow noreferrer" itemprop="url">{{ project.project }}</a>
|
|
@@ -232,7 +232,9 @@
|
|
|
232
232
|
{% if skill.active == true %}
|
|
233
233
|
<div class="resume-item">
|
|
234
234
|
<h4 class="resume-item-details">{{ skill.skill }}</h4>
|
|
235
|
-
|
|
235
|
+
{% if skill.description %}
|
|
236
|
+
<p class="resume-item-copy">{{ skill.description }}</p>
|
|
237
|
+
{% endif %}
|
|
236
238
|
</div>
|
|
237
239
|
{% endif %}
|
|
238
240
|
{% endfor %}
|
|
@@ -251,7 +253,9 @@
|
|
|
251
253
|
<div class="resume-item">
|
|
252
254
|
<h3 class="resume-item-title" itemprop="award">{{ recognition.award }}</h3>
|
|
253
255
|
<h4 class="resume-item-details">{{ recognition.organization }} • {{ recognition.year }}</h4>
|
|
254
|
-
|
|
256
|
+
{% if recognition.summary %}
|
|
257
|
+
<p class="resume-item-copy">{{ recognition.summary }}</p>
|
|
258
|
+
{% endif %}
|
|
255
259
|
</div>
|
|
256
260
|
{% endif %}
|
|
257
261
|
{% endfor %}
|
|
@@ -281,7 +285,9 @@
|
|
|
281
285
|
{% endif %}
|
|
282
286
|
|
|
283
287
|
<h4 class="resume-item-details" itemprop="description">{{ association.role }} • {{ association.year }}</h4>
|
|
284
|
-
|
|
288
|
+
{% if association.summary %}
|
|
289
|
+
<p class="resume-item-copy">{{ association.summary }}</p>
|
|
290
|
+
{% endif %}
|
|
285
291
|
</div>
|
|
286
292
|
{% endif %}
|
|
287
293
|
{% endfor %}
|
|
@@ -232,8 +232,9 @@
|
|
|
232
232
|
{% if skill.active == true %}
|
|
233
233
|
<div class="resume-item">
|
|
234
234
|
<h4 class="resume-item-details">{{ skill.skill }}</h4>
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
{% if skill.description %}
|
|
236
|
+
<p class="resume-item-copy">{{ skill.description }}</p>
|
|
237
|
+
{% endif %} </div>
|
|
237
238
|
{% endif %}
|
|
238
239
|
{% endfor %}
|
|
239
240
|
</section>
|
|
@@ -251,7 +252,9 @@
|
|
|
251
252
|
<div class="resume-item">
|
|
252
253
|
<h3 class="resume-item-title" itemprop="award">{{ recognition.award }}</h3>
|
|
253
254
|
<h4 class="resume-item-details">{{ recognition.organization }} • {{ recognition.year }}</h4>
|
|
254
|
-
|
|
255
|
+
{% if recognition.summary %}
|
|
256
|
+
<p class="resume-item-copy">{{ recognition.summary }}</p>
|
|
257
|
+
{% endif %}
|
|
255
258
|
</div>
|
|
256
259
|
{% endif %}
|
|
257
260
|
{% endfor %}
|
|
@@ -281,7 +284,9 @@
|
|
|
281
284
|
{% endif %}
|
|
282
285
|
|
|
283
286
|
<h4 class="resume-item-details" itemprop="description">{{ association.role }} • {{ association.year }}</h4>
|
|
284
|
-
|
|
287
|
+
{% if association.summary %}
|
|
288
|
+
<p class="resume-item-copy">{{ association.summary }}</p>
|
|
289
|
+
{% endif %}
|
|
285
290
|
</div>
|
|
286
291
|
{% endif %}
|
|
287
292
|
{% endfor %}
|
data/_layouts/default.html
CHANGED
|
@@ -21,8 +21,10 @@
|
|
|
21
21
|
<!-- Analytics head snippet (GTM or gtag). Configured in _config.yml -->
|
|
22
22
|
{% include analytics-head.html %}
|
|
23
23
|
|
|
24
|
+
{% if site.social_links.mastodon %}
|
|
24
25
|
<!-- rel="me" for Mastodon verification / IndieAuth -->
|
|
25
26
|
<link rel="me" href="{{ site.social_links.mastodon }}">
|
|
27
|
+
{% endif %}
|
|
26
28
|
</head>
|
|
27
29
|
|
|
28
30
|
<body>
|
data/_layouts/resume-ar.html
CHANGED
|
@@ -205,7 +205,7 @@ resume_data.experience == site.data['2025-06']['20250621-PM'].experience
|
|
|
205
205
|
{% endif %}
|
|
206
206
|
|
|
207
207
|
{% if site.contact_info.dob %}
|
|
208
|
-
تاريخ الميلاد: {
|
|
208
|
+
تاريخ الميلاد: {% include ar-date.html date=site.contact_info.dob style="MDY" %}
|
|
209
209
|
{% endif %}
|
|
210
210
|
|
|
211
211
|
{% assign active_languages = resume_data.languages | where: "active", true %}
|
|
@@ -235,9 +235,11 @@ resume_data.experience == site.data['2025-06']['20250621-PM'].experience
|
|
|
235
235
|
{% endif %}
|
|
236
236
|
</div>
|
|
237
237
|
|
|
238
|
+
{% if site.resume_header_intro_ar == true %}
|
|
238
239
|
<div class="executive-summary" itemprop="description">
|
|
239
|
-
{{
|
|
240
|
+
<p>{{ resume_data.header.intro }}</p>
|
|
240
241
|
</div>
|
|
242
|
+
{% endif %}
|
|
241
243
|
|
|
242
244
|
{% if site.resume_looking_for_work == true %}
|
|
243
245
|
<a href="mailto:{{ site.contact_info.email }}" class="contact-button no-print" itemprop="email">تواصل معي</a>
|
data/_layouts/resume-en.html
CHANGED
|
@@ -235,9 +235,11 @@ resume_data.experience == site.data['2025-06']['20250621-PM'].experience
|
|
|
235
235
|
{% endif %}
|
|
236
236
|
</div>
|
|
237
237
|
|
|
238
|
+
{% if site.resume_header_intro_en == true %}
|
|
238
239
|
<div class="executive-summary" itemprop="description">
|
|
239
|
-
{{
|
|
240
|
+
<p>{{ resume_data.header.intro }}</p>
|
|
240
241
|
</div>
|
|
242
|
+
{% endif %}
|
|
241
243
|
|
|
242
244
|
{% if site.resume_looking_for_work == true %}
|
|
243
245
|
<a href="mailto:{{ site.contact_info.email }}" class="contact-button no-print" itemprop="email">Contact me</a>
|
data/docs/CONFIG_GUIDE.md
CHANGED
|
@@ -24,6 +24,8 @@ Make your site render correctly with this theme. This guide matches the shipped
|
|
|
24
24
|
|
|
25
25
|
## Quick start
|
|
26
26
|
|
|
27
|
+
**For beginners:** This guide explains every setting in `_config.yml`. Start with the basics below, then add more sections as you need them. You can find sample configuration files in `docs/_data/_config.sample.yml` and sample data files in `docs/_data/en/` and `docs/_data/ar/`.
|
|
28
|
+
|
|
27
29
|
Copy, paste, and customize the ALL-CAPS values:
|
|
28
30
|
|
|
29
31
|
```yaml
|
|
@@ -89,30 +91,39 @@ That’s enough to render a working resume using data from `_data/`.
|
|
|
89
91
|
|
|
90
92
|
The layouts read resume data from a subtree of `_data/` using dot-separated paths.
|
|
91
93
|
|
|
92
|
-
- active_resume_path_en:
|
|
93
|
-
|
|
94
|
-
|
|
94
|
+
**Recommended approach (for beginners):** Use language-specific folders. Set `active_resume_path_en: "en"` and `active_resume_path_ar: "ar"` to use `_data/en/` and `_data/ar/` folders. This is the recommended approach even if you're only using one language, as it keeps your data organized and makes it easy to add more languages later.
|
|
95
|
+
|
|
96
|
+
**Advanced approach:** If you place files directly in `_data/` (root), set `active_resume_path_en: ""` and `active_resume_path_ar: ""`. This approach is not recommended for beginners.
|
|
97
|
+
|
|
98
|
+
- active_resume_path_en: Path for English pages (recommended: `"en"` for `_data/en/`).
|
|
99
|
+
- active_resume_path_ar: Path for Arabic pages (recommended: `"ar"` for `_data/ar/`).
|
|
100
|
+
- If the value is an empty string (`""`) or not set, the root of `_data/` is used (advanced users only).
|
|
95
101
|
|
|
96
102
|
Examples:
|
|
97
103
|
|
|
98
104
|
```yaml
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
#
|
|
105
|
+
# Recommended: Use language-specific folders
|
|
106
|
+
active_resume_path_en: "en" # -> uses _data/en/* (recommended for beginners)
|
|
107
|
+
active_resume_path_ar: "ar" # -> uses _data/ar/* (recommended for beginners)
|
|
108
|
+
|
|
109
|
+
# Advanced: Nested example for versioning
|
|
102
110
|
active_resume_path_en: "2025-06.PM" # -> uses _data/2025-06/PM/*
|
|
103
|
-
|
|
111
|
+
|
|
112
|
+
# Advanced: Root example (not recommended for beginners)
|
|
113
|
+
# Only use this if you place files directly under _data/ (not in language folders)
|
|
104
114
|
active_resume_path_en: ""
|
|
105
115
|
active_resume_path_ar: ""
|
|
106
116
|
```
|
|
107
117
|
|
|
108
|
-
Note
|
|
118
|
+
**Note:** This theme uses the two keys above (there is no single `active_resume_path`). For beginners, always use `"en"` and `"ar"` to keep your data organized in language folders.
|
|
109
119
|
|
|
110
120
|
---
|
|
111
121
|
|
|
112
122
|
## Header and contact
|
|
113
123
|
|
|
114
124
|
- resume_avatar (bool): Show/hide avatar in the header.
|
|
115
|
-
-
|
|
125
|
+
- resume_header_intro_en (bool): Enable/disable the English intro paragraph below name/title. When enabled, reads from `resume_data.header.intro` (create `_data/en/header.yml` with an `intro:` field). **Recommended:** Use `_data/en/header.yml` for English.
|
|
126
|
+
- resume_header_intro_ar (bool): Enable/disable the Arabic intro paragraph below name/title. When enabled, reads from `resume_data.header.intro` (create `_data/ar/header.yml` with an `intro:` field). **Recommended:** Use `_data/ar/header.yml` for Arabic.
|
|
116
127
|
- resume_looking_for_work (bool | omitted):
|
|
117
128
|
- true → Shows “Contact me” button using `contact_info.email`.
|
|
118
129
|
- false → Shows a neutral “I’m not looking for work” pill.
|
|
@@ -146,8 +157,9 @@ Helpful toggles:
|
|
|
146
157
|
|
|
147
158
|
- resume_title_ar: Arabic job title for the Arabic layout.
|
|
148
159
|
- address_ar: Arabic address line for the Arabic header contact row.
|
|
149
|
-
- Arabic dates: `_includes/ar-date.html` expects `site.data.ar.months` to map 1–12 to Arabic month names
|
|
150
|
-
- Present text: English shows
|
|
160
|
+
- Arabic dates: `_includes/ar-date.html` expects `site.data.ar.months` to map 1–12 to Arabic month names. **The theme already includes `_data/ar/months.yml`, so you don't need to create this file manually.**
|
|
161
|
+
- Present text: English shows "Present"; Arabic shows "حتى الآن".
|
|
162
|
+
- Header intro: To add an intro paragraph below your name/title, create `_data/en/header.yml` for English (or `_data/ar/header.yml` for Arabic) with an `intro:` field containing your text. Then enable `resume_header_intro_en: true` or `resume_header_intro_ar: true` in `_config.yml`. **Recommended:** Always use language-specific folders (`_data/en/` and `_data/ar/`). Sample files are available in `docs/_data/en/header.yml` and `docs/_data/ar/header.yml`.
|
|
151
163
|
|
|
152
164
|
---
|
|
153
165
|
|
|
@@ -228,7 +240,8 @@ contact_info:
|
|
|
228
240
|
|
|
229
241
|
display_header_contact_info: true
|
|
230
242
|
resume_avatar: true
|
|
231
|
-
|
|
243
|
+
resume_header_intro_en: true # Enable English intro (reads from resume_data.header.intro)
|
|
244
|
+
resume_header_intro_ar: true # Enable Arabic intro (reads from resume_data.header.intro)
|
|
232
245
|
resume_looking_for_work: true
|
|
233
246
|
|
|
234
247
|
# Data paths
|
|
@@ -316,6 +329,8 @@ exclude:
|
|
|
316
329
|
- Contact button shows but nothing happens.
|
|
317
330
|
- Set `contact_info.email` or set `resume_looking_for_work: false`.
|
|
318
331
|
- Arabic months appear as numbers.
|
|
319
|
-
-
|
|
332
|
+
- The theme includes `_data/ar/months.yml` by default. If you're using a custom data path, ensure `site.data.ar.months` is accessible.
|
|
333
|
+
- Header intro not showing.
|
|
334
|
+
- Enable `resume_header_intro_en: true` or `resume_header_intro_ar: true` in `_config.yml`, and create `_data/en/header.yml` (or `_data/ar/header.yml` for Arabic) in your active data path with an `intro:` field. You can copy sample files from `docs/_data/en/header.yml` and `docs/_data/ar/header.yml`.
|
|
320
335
|
- Data for EN/AR lives in different folders.
|
|
321
336
|
- Point `active_resume_path_en` and `active_resume_path_ar` at the right subtrees (e.g., `en` and `ar`).
|