bilingual-jekyll-resume-theme 0.4.0 → 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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/README.md +131 -20
  4. data/_data/ar/months.yml +12 -0
  5. data/_includes/ar-date.html +32 -0
  6. data/_layouts/default.html +2 -0
  7. data/_layouts/resume-ar.html +1 -1
  8. data/docs/CONFIG_GUIDE.md +28 -13
  9. data/docs/DATA_GUIDE.md +106 -27
  10. data/docs/INCLUDES_GUIDE.md +17 -8
  11. data/docs/LAYOUTS_GUIDE.md +40 -25
  12. data/docs/PROJECT_OVERVIEW.md +69 -0
  13. data/docs/SASS_GUIDE.md +3 -1
  14. data/docs/_data/ar/associations.yml +27 -0
  15. data/docs/_data/ar/certifications.yml +73 -0
  16. data/docs/_data/ar/courses.yml +39 -0
  17. data/docs/_data/ar/education.yml +49 -0
  18. data/docs/_data/ar/experience.yml +50 -0
  19. data/docs/_data/ar/header.yml +6 -0
  20. data/docs/_data/ar/interests.yml +13 -0
  21. data/docs/_data/ar/languages.yml +29 -0
  22. data/docs/_data/ar/links.yml +17 -0
  23. data/docs/_data/ar/projects.yml +28 -0
  24. data/docs/_data/ar/recognitions.yml +23 -0
  25. data/docs/_data/ar/skills.yml +17 -0
  26. data/docs/_data/ar/volunteering.yml +39 -0
  27. data/docs/_data/en/associations.yml +27 -0
  28. data/docs/_data/en/certifications.yml +73 -0
  29. data/docs/_data/en/courses.yml +39 -0
  30. data/docs/_data/en/education.yml +49 -0
  31. data/docs/_data/en/experience.yml +50 -0
  32. data/docs/_data/en/header.yml +6 -0
  33. data/docs/_data/en/interests.yml +13 -0
  34. data/docs/_data/en/languages.yml +29 -0
  35. data/docs/_data/en/links.yml +17 -0
  36. data/docs/_data/en/projects.yml +28 -0
  37. data/docs/_data/en/recognitions.yml +23 -0
  38. data/docs/_data/en/skills.yml +17 -0
  39. data/docs/_data/en/volunteering.yml +39 -0
  40. metadata +59 -23
  41. /data/{CODE_OF_CONDUCT.MD → CODE_OF_CONDUCT.md} +0 -0
  42. /data/docs/{_config.sample.yml → _data/_config.sample.yml} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ab3eac8ae8c6374766ccab55029e67f10807e0929e9148d383ad6ce1ea9db75
4
- data.tar.gz: d63cbf252a02a4c3a596d2b66519cc358b96746645fc3e3efb76f1afb9e437dc
3
+ metadata.gz: 6a564ca7ea40cba9ce7787387ec40f652ba6d372c20efc4e1ea7d4ca96c7fc07
4
+ data.tar.gz: f1bda2da34e9b4655a74a4e08657cb56ae52b8d735bb42e705c59c369fd1bd29
5
5
  SHA512:
6
- metadata.gz: c7a1b38a61d6bde782a5134a8ad35e58fb72f302f4edab3e044c96751900e3f9fadd196e23f6fcaff4a24da688ba535632ce9fd8fb57691981ff2931d0bdc229
7
- data.tar.gz: f44183fc08c72d6bd4b18921ca4a49ee80ce95235338af147e44433bd370c3a32dbbe4f29c587c2ed252d9540a62d8b93cd66d836133951adc42df9a756ce235
6
+ metadata.gz: da02b5f0d81a45531f55151bc1eec5eb9bf0acb74229d40cac47a41a452bfac4c6da21f0ee970930e5b4b40128b56189978c01809301f0673c1ba94e88c0b9fd
7
+ data.tar.gz: ae3a25641c914cfd40894c7484453aa6535cc61f906f9c4c0ffb6653736534fe424ff7d27ccaa859bd1defb0315407950b8c60ed43b9b5dcf48fc246144ebfe5
data/CHANGELOG.md CHANGED
@@ -4,6 +4,33 @@ 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
+
7
34
  ## [0.4.0] - 2025-11-05
8
35
 
9
36
  ### Added
@@ -98,6 +125,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
98
125
 
99
126
  * Initial commit (New Theme Template) ([`00af662`](https://github.com/kmutahar/bilingual-jekyll-resume-theme/commit/00af6628dfec7aefe0ef7d7083bf98c9713a5ffd))
100
127
 
128
+ [0.5.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.4.0...v0.5.0
101
129
  [0.4.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.3.1...v0.4.0
102
130
  [0.3.1]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.3.0...v0.3.1
103
131
  [0.3.0]: https://github.com/kmutahar/bilingual-jekyll-resume-theme/compare/v0.2.0...v0.3.0
data/README.md CHANGED
@@ -1,50 +1,161 @@
1
1
  # bilingual-jekyll-resume-theme
2
2
 
3
- Welcome to your new Jekyll theme! In this directory, you'll find the files you need to be able to package up your theme into a gem. Put your layouts in `_layouts`, your includes in `_includes`, your sass files in `_sass` and any other assets in `assets`.
3
+ [![Latest release](https://img.shields.io/github/v/release/kmutahar/bilingual-jekyll-resume-theme?display_name=tag)](https://github.com/kmutahar/bilingual-jekyll-resume-theme/releases) [![Gem Version](https://badge.fury.io/rb/bilingual-jekyll-resume-theme.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/bilingual-jekyll-resume-theme)
4
4
 
5
- To experiment with this code, add some sample content and run `bundle exec jekyll serve` this directory is setup just like a Jekyll site!
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
- TODO: Delete this and the text above, and describe your gem
8
+ ## Features
8
9
 
9
- ## Installation
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
- Add this line to your Jekyll site's `Gemfile`:
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
- And add this line to your Jekyll site's `_config.yml`:
18
-
26
+ 2. Add to your `_config.yml`:
19
27
  ```yaml
20
28
  theme: bilingual-jekyll-resume-theme
21
29
  ```
22
30
 
23
- And then execute:
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
- $ bundle
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
- Or install it yourself as:
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
- $ gem install bilingual-jekyll-resume-theme
54
+ 4. **Run the development server**:
55
+ ```bash
56
+ bundle exec jekyll serve
57
+ ```
30
58
 
31
- ## Usage
59
+ Visit `http://localhost:4000` to see your resume!
32
60
 
33
- TODO: Write usage instructions here. Describe your available layouts, includes, sass and/or assets.
61
+ ## Documentation
34
62
 
35
- ## Contributing
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
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/bilingual-jekyll-resume-theme. 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.
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 set up your environment to develop this theme, run `bundle install`.
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
- Your theme is setup just like a normal Jekyll site! To test your theme, run `bundle exec jekyll serve` and open your browser at `http://localhost:4000`. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
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
- When your theme is released, only the files in `_layouts`, `_includes`, `_sass` and `assets` tracked with Git will be bundled.
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](https://opensource.org/licenses/MIT).
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
@@ -0,0 +1,12 @@
1
+ "1": يناير
2
+ "2": فبراير
3
+ "3": مارس
4
+ "4": أبريل
5
+ "5": مايو
6
+ "6": يونيو
7
+ "7": يوليو
8
+ "8": أغسطس
9
+ "9": سبتمبر
10
+ "10": أكتوبر
11
+ "11": نوفمبر
12
+ "12": ديسمبر
@@ -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 %}
@@ -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>
@@ -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
- &nbsp;&nbsp;تاريخ الميلاد:&nbsp;{{ site.contact_info.dob | date_to_long_string }}
208
+ &nbsp;&nbsp;تاريخ الميلاد:&nbsp;{% 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 %}
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: Path for English pages.
93
- - active_resume_path_ar: Path for Arabic pages.
94
- - If the value is an empty string (`""`) or not set, the root of `_data/` is used.
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
- active_resume_path_en: "en" # -> uses _data/en/*
100
- active_resume_path_ar: "ar" # -> uses _data/ar/*
101
- # Nested example:
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
- # Root example (use files directly under _data/ not suggested unless using one language only):
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: This theme uses the two keys above (there is no single `active_resume_path`).
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
- - resume_header_intro (HTML string): Short paragraph under your header; basic HTML supported.
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 (define in `_data/ar.yml` or `_data/ar/months.yml`).
150
- - Present text: English shows Present”; Arabic 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
- resume_header_intro: "<p>Building products customers love through clear strategy and measurable outcomes.</p>"
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
- - Define Arabic month names under `site.data.ar.months` (e.g., `_data/ar/months.yml`).
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`).
data/docs/DATA_GUIDE.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This document explains all data file structures used by the bilingual Jekyll resume theme. Each section of your resume is stored in a separate YAML file in the `_data/` directory.
4
4
 
5
+ **For beginners:** All your resume content (experience, education, skills, etc.) goes in YAML files in the `_data/` folder.
6
+
7
+ **Recommended approach:** Use language-specific folders (`_data/en/` for English and `_data/ar/` for Arabic). This is the recommended approach even if you're only using one language, as it makes it easier to add more languages in the future and keeps your data organized.
8
+
9
+ **Advanced users:** If you prefer, you can place files directly in `_data/` (root), but you'll need to set `active_resume_path_en: ""` and `active_resume_path_ar: ""` in your `_config.yml`.
10
+
11
+ You can copy sample files from `docs/_data/en/` and `docs/_data/ar/` to get started. The theme reads these files and displays them on your resume pages.
12
+
5
13
  Key Features:
6
14
 
7
15
  1. Complete coverage of all 12 data types with commented YAML examples
@@ -40,13 +48,16 @@ Highlights:
40
48
  10. [Languages](#languages)
41
49
  11. [Links](#links)
42
50
  12. [Interests](#interests)
43
- 13. [General Guidlines](#general-guidelines)
51
+ 13. [Header Intro](#header-intro)
52
+ 14. [General Guidlines](#general-guidelines)
44
53
 
45
54
  ---
46
55
 
47
56
  ## Experience
48
57
 
49
- **File:** `_data/experience.yml`
58
+ **File:** `_data/en/experience.yml` (English) or `_data/ar/experience.yml` (Arabic)
59
+
60
+ **Recommended:** Use `_data/en/experience.yml` for English and `_data/ar/experience.yml` for Arabic. This keeps your data organized and makes it easy to add more languages later.
50
61
 
51
62
  Jobs are grouped by company name. Multiple roles at the same company will be displayed together. Roles are sorted by `startdate` (most recent first).
52
63
 
@@ -93,7 +104,9 @@ Jobs are grouped by company name. Multiple roles at the same company will be dis
93
104
 
94
105
  ## Education
95
106
 
96
- **File:** `_data/education.yml`
107
+ **File:** `_data/en/education.yml` (English) or `_data/ar/education.yml` (Arabic)
108
+
109
+ **Recommended:** Use `_data/en/education.yml` for English and `_data/ar/education.yml` for Arabic.
97
110
 
98
111
  ```yaml
99
112
  - degree: "Bachelor of Business" # Required: Degree name and details
@@ -125,7 +138,9 @@ Jobs are grouped by company name. Multiple roles at the same company will be dis
125
138
 
126
139
  ## Certifications
127
140
 
128
- **File:** `_data/certifications.yml`
141
+ **File:** `_data/en/certifications.yml` (English) or `_data/ar/certifications.yml` (Arabic)
142
+
143
+ **Recommended:** Use `_data/en/certifications.yml` for English and `_data/ar/certifications.yml` for Arabic.
129
144
 
130
145
  ```yaml
131
146
  - name: "Business Certificate" # Required: Certification name
@@ -165,7 +180,9 @@ Jobs are grouped by company name. Multiple roles at the same company will be dis
165
180
 
166
181
  ## Courses
167
182
 
168
- **File:** `_data/courses.yml`
183
+ **File:** `_data/en/courses.yml` (English) or `_data/ar/courses.yml` (Arabic)
184
+
185
+ **Recommended:** Use `_data/en/courses.yml` for English and `_data/ar/courses.yml` for Arabic.
169
186
 
170
187
  ```yaml
171
188
  - name: "Certificate of Course Completion" # Required: Course name
@@ -200,7 +217,9 @@ Jobs are grouped by company name. Multiple roles at the same company will be dis
200
217
 
201
218
  ## Volunteering
202
219
 
203
- **File:** `_data/volunteering.yml`
220
+ **File:** `_data/en/volunteering.yml` (English) or `_data/ar/volunteering.yml` (Arabic)
221
+
222
+ **Recommended:** Use `_data/en/volunteering.yml` for English and `_data/ar/volunteering.yml` for Arabic.
204
223
 
205
224
  Structure is identical to Experience section. Volunteer positions are grouped by organization.
206
225
 
@@ -232,7 +251,9 @@ Same as Experience section - grouped by organization, sorted by date.
232
251
 
233
252
  ## Projects
234
253
 
235
- **File:** `_data/projects.yml`
254
+ **File:** `_data/en/projects.yml` (English) or `_data/ar/projects.yml` (Arabic)
255
+
256
+ **Recommended:** Use `_data/en/projects.yml` for English and `_data/ar/projects.yml` for Arabic.
236
257
 
237
258
  ```yaml
238
259
  - project: "Closed Source Project" # Required: Project name
@@ -269,7 +290,9 @@ Same as Experience section - grouped by organization, sorted by date.
269
290
 
270
291
  ## Skills
271
292
 
272
- **File:** `_data/skills.yml`
293
+ **File:** `_data/en/skills.yml` (English) or `_data/ar/skills.yml` (Arabic)
294
+
295
+ **Recommended:** Use `_data/en/skills.yml` for English and `_data/ar/skills.yml` for Arabic.
273
296
 
274
297
  ```yaml
275
298
  - skill: "Organizational leadership" # Required: Skill name/title
@@ -298,7 +321,9 @@ Same as Experience section - grouped by organization, sorted by date.
298
321
 
299
322
  ## Recognition
300
323
 
301
- **File:** `_data/recognitions.yml`
324
+ **File:** `_data/en/recognitions.yml` (English) or `_data/ar/recognitions.yml` (Arabic)
325
+
326
+ **Recommended:** Use `_data/en/recognitions.yml` for English and `_data/ar/recognitions.yml` for Arabic.
302
327
 
303
328
  ```yaml
304
329
  - award: "Outstanding Achievement" # Required: Award name
@@ -331,7 +356,9 @@ Same as Experience section - grouped by organization, sorted by date.
331
356
 
332
357
  ## Associations
333
358
 
334
- **File:** `_data/associations.yml`
359
+ **File:** `_data/en/associations.yml` (English) or `_data/ar/associations.yml` (Arabic)
360
+
361
+ **Recommended:** Use `_data/en/associations.yml` for English and `_data/ar/associations.yml` for Arabic.
335
362
 
336
363
  ```yaml
337
364
  - organization: "Internet Sociaity" # Required: Organization name
@@ -368,7 +395,9 @@ Same as Experience section - grouped by organization, sorted by date.
368
395
 
369
396
  ## Languages
370
397
 
371
- **File:** `_data/languages.yml`
398
+ **File:** `_data/en/languages.yml` (English) or `_data/ar/languages.yml` (Arabic)
399
+
400
+ **Recommended:** Use `_data/en/languages.yml` for English and `_data/ar/languages.yml` for Arabic.
372
401
 
373
402
  ```yaml
374
403
  - language: English # Required: Language name
@@ -408,7 +437,9 @@ Same as Experience section - grouped by organization, sorted by date.
408
437
 
409
438
  ## Links
410
439
 
411
- **File:** `_data/links.yml`
440
+ **File:** `_data/en/links.yml` (English) or `_data/ar/links.yml` (Arabic)
441
+
442
+ **Recommended:** Use `_data/en/links.yml` for English and `_data/ar/links.yml` for Arabic.
412
443
 
413
444
  ```yaml
414
445
  - description: "Resume" # Required: Link description/title
@@ -441,7 +472,9 @@ Same as Experience section - grouped by organization, sorted by date.
441
472
 
442
473
  ## Interests
443
474
 
444
- **File:** `_data/interests.yml`
475
+ **File:** `_data/en/interests.yml` (English) or `_data/ar/interests.yml` (Arabic)
476
+
477
+ **Recommended:** Use `_data/en/interests.yml` for English and `_data/ar/interests.yml` for Arabic.
445
478
 
446
479
  Simple list of interests/hobbies.
447
480
 
@@ -463,6 +496,33 @@ Simple list of interests/hobbies.
463
496
 
464
497
  ---
465
498
 
499
+ ## Header Intro
500
+
501
+ **File:** `_data/en/header.yml` (English) or `_data/ar/header.yml` (Arabic)
502
+
503
+ **Recommended:** Use `_data/en/header.yml` for English and `_data/ar/header.yml` for Arabic.
504
+
505
+ Contains the executive summary/intro paragraph that appears below your name and title in the resume header.
506
+
507
+ ```yaml
508
+ # Header intro paragraph
509
+ # Enable this in _config.yml with: resume_header_intro_en: true (for English)
510
+ # or resume_header_intro_ar: true (for Arabic)
511
+
512
+ intro: "Your professional summary or elevator pitch goes here. This is the English version."
513
+ ```
514
+
515
+ **Display Format:**
516
+ - Appears as a paragraph below your name, title, and social links
517
+ - Only shows if `resume_header_intro_en: true` (English) or `resume_header_intro_ar: true` (Arabic) is set in `_config.yml`
518
+ - Supports basic HTML formatting
519
+
520
+ **Important:**
521
+ - Create separate files for each language: `_data/en/header.yml` for English and `_data/ar/header.yml` for Arabic
522
+ - Sample files are available in `docs/_data/en/header.yml` and `docs/_data/ar/header.yml`
523
+
524
+ ---
525
+
466
526
  ## General Guidelines
467
527
 
468
528
  ### Date Formats
@@ -470,7 +530,8 @@ Simple list of interests/hobbies.
470
530
  **For startdate/enddate fields:**
471
531
  - Always use ISO format: `YYYY-MM-DD` (e.g., `2024-03-15`)
472
532
  - These auto-format to "Mon YYYY" in English (e.g., "Mar 2024")
473
- - Arabic layout uses custom date formatting
533
+ - Arabic layout uses custom date formatting via `ar-date.html` which reads from `site.data.ar.months`
534
+ - **Note:** The theme already includes `_data/ar/months.yml` with Arabic month names, so you don't need to create this file manually.
474
535
 
475
536
  **For display text fields (year, duration):**
476
537
  - Use any text format you want
@@ -506,23 +567,41 @@ url: https://example.com
506
567
 
507
568
  ### File Location
508
569
 
509
- All data files go in the `_data/` directory or a subdirectory based on the `_config.yml`:
570
+ **Recommended approach (for beginners):** Place all data files in language-specific folders (`_data/en/` and `_data/ar/`). This is the recommended approach even if you're only using one language, as it:
571
+ - Keeps your data organized
572
+ - Makes it easy to add more languages in the future
573
+ - Follows the same structure as the sample files
574
+
575
+ **Advanced approach:** You can place files directly in `_data/` (root), but you'll need to set `active_resume_path_en: ""` and `active_resume_path_ar: ""` in your `_config.yml`. This approach is not recommended for beginners.
576
+
577
+ **Recommended structure (use language folders):**
510
578
  ```
511
579
  _data/
512
- ├── experience.yml
513
- ├── education.yml
514
- ├── certifications.yml
515
- ├── courses.yml
516
- ├── volunteering.yml
517
- ├── projects.yml
518
- ├── skills.yml
519
- ├── recognitions.yml
520
- ├── associations.yml
521
- ├── languages.yml
522
- ├── links.yml
523
- └── interests.yml
580
+ ├── en/
581
+ ├── header.yml # Executive summary/intro paragraph
582
+ ├── experience.yml
583
+ ├── education.yml
584
+ ├── certifications.yml
585
+ ├── courses.yml
586
+ ├── volunteering.yml
587
+ ├── projects.yml
588
+ ├── skills.yml
589
+ ├── recognitions.yml
590
+ ├── associations.yml
591
+ │ ├── languages.yml
592
+ │ ├── links.yml
593
+ │ └── interests.yml
594
+ └── ar/
595
+ ├── header.yml # Executive summary/intro paragraph (Arabic)
596
+ ├── experience.yml
597
+ ├── education.yml
598
+ └── ... (same files as en/)
524
599
  ```
525
600
 
601
+ **Note:** The theme includes `_data/ar/months.yml` in the theme itself (not in your site), so Arabic month names are available automatically. You don't need to create this file in your site's `_data/` folder.
602
+
603
+ **Sample files:** You can copy sample data files from `docs/_data/en/` and `docs/_data/ar/` to get started. These contain commented examples showing the structure for each section type.
604
+
526
605
  ### Enabling Sections in _config.yml
527
606
 
528
607
  To control which sections appear on your resume, edit `_config.yml`: