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
@@ -52,6 +52,8 @@ In this theme, includes are used for:
52
52
  - Social icons
53
53
  - Fine-grained rendering of resume sections in English and Arabic
54
54
 
55
+ **For beginners:** Includes are like small reusable code snippets. Instead of copying the same HTML code in multiple places, you put it in an include file and reference it. The theme uses includes to organize code into logical pieces (like the header, social links, analytics, etc.).
56
+
55
57
  ---
56
58
 
57
59
  ## How includes fit into this theme
@@ -79,14 +81,17 @@ Typical include usage inside layouts:
79
81
 
80
82
  ### Data flow and configuration
81
83
 
82
- The resume layouts compute a `resume_data` object that points to the active data subtree in `_data/`, based on `active_resume_path` configured in your sites `_config.yml`. This lets you organize multiple datasets (e.g., different roles/versions) and switch without editing templates.
84
+ The resume layouts compute a `resume_data` object that points to the active data subtree in `_data/`, based on `active_resume_path_en` (for English) and `active_resume_path_ar` (for Arabic) configured in your site's `_config.yml`. This lets you organize multiple datasets (e.g., different roles/versions) and switch without editing templates.
83
85
 
84
86
  Examples:
85
87
  - No path (empty or nil): `resume_data == site.data`
86
- - `active_resume_path: en`: `resume_data == site.data.en`
87
- - Nested path with dots: `active_resume_path: 2025-06.20250621-PM` `resume_data == site.data['2025-06']['20250621-PM']`
88
+ - `active_resume_path_en: "en"`: `resume_data == site.data.en` (English layout)
89
+ - `active_resume_path_ar: "ar"`: `resume_data == site.data.ar` (Arabic layout)
90
+ - Nested path with dots: `active_resume_path_en: "2025-06.20250621-PM"` → `resume_data == site.data['2025-06']['20250621-PM']`
91
+
92
+ Most resume includes read from `resume_data.<section>` (e.g., `experience`, `skills`, `languages`). Feature flags and ordering live in `_config.yml` (see "Dynamic section rendering" below).
88
93
 
89
- Most resume includes read from `resume_data.<section>` (e.g., `experience`, `skills`, `languages`). Feature flags and ordering live in `_config.yml` (see “Dynamic section rendering” below).
94
+ **For beginners:** The `resume_data` object is like a pointer to your data files. **Recommended:** Set `active_resume_path_en: "en"` and `active_resume_path_ar: "ar"` to use language-specific folders. This way, the theme will look for your data in `_data/en/experience.yml`, `_data/en/education.yml`, etc. for English, and `_data/ar/experience.yml`, etc. for Arabic. This keeps your English and Arabic data separate and organized, and is the recommended approach even if you're only using one language.
90
95
 
91
96
  ---
92
97
 
@@ -196,7 +201,9 @@ Usage in templates:
196
201
  - `style`: `MDY` → “Month Day, Year”; anything else → “Month Year”
197
202
  - Looks up the Arabic month name via `site.data.ar.months[m]`.
198
203
 
199
- Data requirement in your `_data/` (one of these structures):
204
+ Data requirement: The theme includes `_data/ar/months.yml` by default, so you don't need to create this file manually. The months are already defined in the theme.
205
+
206
+ If you're using a custom data path structure, you can define months in one of these ways:
200
207
  ```yaml
201
208
  # Option A: _data/ar.yml
202
209
  months:
@@ -215,12 +222,14 @@ months:
215
222
  ```
216
223
  or
217
224
  ```yaml
218
- # Option B: _data/ar/months.yml
225
+ # Option B: _data/ar/months.yml (already included in theme)
219
226
  "1": يناير
220
227
  "2": فبراير
221
228
  # ...
222
229
  ```
223
230
 
231
+ **Note:** Since the theme already includes `_data/ar/months.yml`, you typically don't need to add this file unless you're using a completely custom data structure.
232
+
224
233
  ---
225
234
 
226
235
  ### 9) social-links.html
@@ -319,7 +328,7 @@ The layout loops this array and includes the matching block.
319
328
 
320
329
  Example: Add “publications”.
321
330
 
322
- 1) Data: create `_data/publications.yml` (or inside your active subtree) like:
331
+ 1) Data: create `_data/en/publications.yml` (or `_data/ar/publications.yml` for Arabic, or inside your active subtree) like:
323
332
  ```yaml
324
333
  - active: true
325
334
  title: Building Scalable Systems
@@ -474,7 +483,7 @@ To add a network not yet supported (e.g., Mastodon):
474
483
  - Respect configuration-driven behavior:
475
484
  - Feature flags under `resume_section.*`
476
485
  - Section order via `resume_section_order`
477
- - Data path via `active_resume_path`
486
+ - Data path via `active_resume_path_en` and `active_resume_path_ar`
478
487
  - Localize: if you add a section in EN, consider adding the AR counterpart with translated labels and RTL visual checks.
479
488
  - SVG hygiene: strip unnecessary attributes/metadata; keep icons lightweight.
480
489
  - Printing: if something is important for PDF/print, add a print-only variant similar to `print-social-links.html`.
@@ -13,7 +13,7 @@ A comprehensive, contributor-friendly overview of `_layouts/` in this theme: wha
13
13
  - [resume-en.html](#3-_layoutsresume-enhtml)
14
14
  - [resume-ar.html](#4-_layoutsresume-arhtml)
15
15
  - [Resume data loading (the `resume_data` object)](#resume-data-loading-the-resume_data-object)
16
- - [Configuring `active_resume_path`](#configuring-active_resume_path)
16
+ - [Configuring `active_resume_path_en` and `active_resume_path_ar`](#configuring-active_resume_path_en-and-active_resume_path_ar)
17
17
  - [Dot-path traversal and bracket-notation](#dot-path-traversal-and-bracket-notation)
18
18
  - [Examples](#examples)
19
19
  - [Rendering flow inside resume layouts](#rendering-flow-inside-resume-layouts)
@@ -33,6 +33,8 @@ A comprehensive, contributor-friendly overview of `_layouts/` in this theme: wha
33
33
 
34
34
  Layouts wrap pages. A page chooses a layout via its front matter (e.g., `layout: resume-en`). The layout defines the overall HTML structure and where page content or reusable includes appear. This theme ships with specialized layouts for the resume (EN/AR) and a general-purpose base layout.
35
35
 
36
+ **For beginners:** If you're new to Jekyll, think of layouts as templates that define the structure of your pages. You create a page file (like `resume-en.md`) and tell it which layout to use. The layout then handles all the HTML structure, styling, and includes the content from your data files.
37
+
36
38
  ---
37
39
 
38
40
  ## Layout inventory and responsibilities
@@ -88,21 +90,26 @@ Purpose: Arabic (RTL) resume layout. It mirrors `resume-en.html` with language-a
88
90
 
89
91
  Both resume layouts compute a single variable, `resume_data`, which points to the active subtree under `_data/`. This allows switching datasets without touching templates.
90
92
 
91
- ### Configuring `active_resume_path`
93
+ ### Configuring `active_resume_path_en` and `active_resume_path_ar`
92
94
 
93
- Set a site-level key in `_config.yml`:
95
+ Set site-level keys in `_config.yml`:
94
96
 
95
97
  ```yaml
96
- # Choose which subtree of _data/ to use for the resume
98
+ # Choose which subtree of _data/ to use for each language
97
99
  # Examples below in the next section
98
- active_resume_path: ""
100
+ active_resume_path_en: "en" # Path for English resume
101
+ active_resume_path_ar: "ar" # Path for Arabic resume
99
102
  ```
100
103
 
101
- - If `active_resume_path` is empty or nil → `resume_data = site.data`
102
- - If `active_resume_path` is a single key (e.g., `en`) → `resume_data = site.data.en`
103
- - If `active_resume_path` is a dotted path (e.g., `2025-06.20250621-PM`) the layout walks down each segment safely
104
+ - If set to a single key (e.g., `"en"`) → `resume_data = site.data.en` (**recommended for beginners**)
105
+ - If set to a dotted path (e.g., `"2025-06.20250621-PM"`) → the layout walks down each segment safely (advanced)
106
+ - If `active_resume_path_en` or `active_resume_path_ar` is empty or nil `resume_data = site.data` (uses root `_data/`, **advanced users only**)
107
+
108
+ **Important:** The English layout (`resume-en.html`) reads `site.active_resume_path_en`, and the Arabic layout (`resume-ar.html`) reads `site.active_resume_path_ar`. This allows you to use different data folders for each language.
104
109
 
105
- Note: The layouts read `site.active_resume_path`. If you maintain multiple variants (time-boxed, roles, locales) under `_data/`, this switch lets you pick the current one at build time.
110
+ **Recommended approach (for beginners):** Always use `"en"` and `"ar"` to place files in `_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.
111
+
112
+ **Advanced users:** If you maintain multiple variants (time-boxed, roles, locales) under `_data/`, you can use nested paths or root paths, but this is not recommended for beginners.
106
113
 
107
114
  ### Dot-path traversal and bracket-notation
108
115
 
@@ -115,17 +122,23 @@ Implementation highlights inside the layouts:
115
122
  ### Examples
116
123
 
117
124
  ```yaml
118
- # 1) Use files directly under _data/
119
- active_resume_path: ""
120
- # resume_data.experience == site.data.experience
121
-
122
- # 2) Use a language subtree
123
- active_resume_path: en
124
- # resume_data.experience == site.data.en.experience
125
-
126
- # 3) Use nested subtrees for versioning
127
- active_resume_path: 2025-06.20250621-PM
125
+ # 1) Recommended: Use language subtrees (recommended for beginners)
126
+ active_resume_path_en: "en"
127
+ active_resume_path_ar: "ar"
128
+ # EN: resume_data.experience == site.data.en.experience
129
+ # AR: resume_data.experience == site.data.ar.experience
130
+ # This is the recommended approach even if you're only using one language
131
+
132
+ # 2) Advanced: Use nested subtrees for versioning
133
+ active_resume_path_en: "2025-06.20250621-PM"
134
+ active_resume_path_ar: "2025-06.20250621-PM"
128
135
  # resume_data.experience == site.data['2025-06']['20250621-PM'].experience
136
+
137
+ # 3) Advanced: Use files directly under _data/ (not recommended for beginners)
138
+ active_resume_path_en: ""
139
+ active_resume_path_ar: ""
140
+ # resume_data.experience == site.data.experience
141
+ # Only use this if you place files directly in _data/ root (advanced users only)
129
142
  ```
130
143
 
131
144
  ---
@@ -146,7 +159,7 @@ active_resume_path: 2025-06.20250621-PM
146
159
  - Small inline icons are included from `vendors/lineicons-v4.0/`
147
160
  - Title bar with `site.resume_title` (or `resume_title_ar` for AR)
148
161
  - Social icon list when `site.social_links` is configured (see `_includes/social-links.html`)
149
- - Executive summary from `site.resume_header_intro`
162
+ - Executive summary (controlled by `resume_header_intro_en`/`resume_header_intro_ar` flags, reads from `resume_data.header.intro`)
150
163
  - CTA button controlled by `site.resume_looking_for_work`
151
164
 
152
165
  ### 3) Dynamic section rendering
@@ -180,7 +193,8 @@ name:
180
193
  last: "Last"
181
194
  resume_title: "Job Title"
182
195
  resume_title_ar: "المسمّى الوظيفي"
183
- resume_header_intro: "Short executive summary paragraph."
196
+ resume_header_intro_en: true # Enable English intro (reads from resume_data.header.intro)
197
+ resume_header_intro_ar: true # Enable Arabic intro (reads from resume_data.header.intro)
184
198
  resume_avatar: true
185
199
 
186
200
  # Header contact toggles
@@ -236,8 +250,9 @@ resume_section_order:
236
250
  # Print behavior
237
251
  resume_print_social_links: true
238
252
 
239
- # Active data subtree for resume_data
240
- active_resume_path: ""
253
+ # Active data subtree for resume_data (separate for each language)
254
+ active_resume_path_en: "en"
255
+ active_resume_path_ar: "ar"
241
256
  ```
242
257
 
243
258
  Per-page front matter (for multilingual SEO):
@@ -304,8 +319,8 @@ Tip: Keep date formatting and “present” text consistent with the target lang
304
319
  ## Common pitfalls and troubleshooting
305
320
 
306
321
  - Sections not rendering? Check `resume_section_order`, `resume_section.<name>` flags, and `active: true` on data items.
307
- - Wrong data showing? Confirm `active_resume_path` and your `_data/` structure.
308
- - Arabic months not displayed? Ensure `site.data.ar.months` is defined (see includes guide: `ar-date.html`).
322
+ - Wrong data showing? Confirm `active_resume_path_en`/`active_resume_path_ar` and your `_data/` structure.
323
+ - Arabic months not displayed? The theme includes `_data/ar/months.yml` by default. If you're using a custom data path, ensure `site.data.ar.months` is accessible (see includes guide: `ar-date.html`).
309
324
  - Icons missing? Verify the SVG exists under `/_includes/vendors/lineicons-*/` and the include path is correct.
310
325
  - SEO alternates missing? Ensure both pages share the same `t_id`, and each has a `lang` value.
311
326
 
@@ -0,0 +1,69 @@
1
+ ## Project overview
2
+
3
+ **bilingual-jekyll-resume-theme** is a Jekyll theme for creating bilingual (English & Arabic) resumes. Created by Khaldoon Mutahar.
4
+
5
+ ## Features
6
+
7
+ 1. Bilingual support
8
+ - Separate layouts for English (`_layouts/resume-en.html`) and Arabic (`_layouts/resume-ar.html`)
9
+ - RTL support for Arabic (SCSS in `_sass/_resume-rtl.scss`)
10
+ - Arabic date formatting via `_includes/ar-date.html` (uses `_data/ar/months.yml`)
11
+ - Separate name fields objects: `site.name.{first,middle,last}` and `site.name_ar.{first,middle,last}`
12
+ - Optional language chips in header via `resume_section.lang_header`
13
+
14
+ 2. Data-driven architecture
15
+ - Resume content in YAML files in `_data/`
16
+ - Supports nested data folders (e.g., `_data/en/`, `_data/ar/`, or versioned/custom paths)
17
+ - Dynamic data loader (in both layouts) resolves dot-separated paths using bracket notation, e.g., `"2025-06.20250621-PM"`
18
+ - Configurable data paths via `_config.yml` keys `active_resume_path_en` and `active_resume_path_ar`
19
+
20
+ 3. Resume sections (13 types)
21
+ - Experience, Education, Certifications, Courses, Volunteering, Projects, Skills, Recognition, Associations, Languages, Links, Interests, Header (Executive Summary)
22
+ - Ordering via `resume_section_order` and toggles via `resume_section.*` in `_config.yml`
23
+ - Active/inactive flags per entry across all sections
24
+
25
+ 4. Design and UX
26
+ - Print-friendly styling (print-only/no-print classes); optional print-only social links block
27
+ - Social links integration via `_includes/social-links.html` (GitHub, LinkedIn, X, YouTube, etc.)
28
+ - SVG icon set via Lineicons (bundled in `_includes/vendors/lineicons-*`)
29
+ - Profile avatar support
30
+ - Header contact info toggle (`display_header_contact_info`)
31
+ - Live vs print contact info (`enable_live`) for phone/email variants
32
+ - "Looking for work" contact button
33
+ - Languages can appear in header or separate section
34
+
35
+ 5. Technical features
36
+ - Jekyll 4.4+ compatibility
37
+ - SEO via `jekyll-seo-tag`; alternate language links via `_includes/hreflang.html`
38
+ - Analytics hooks in head/body includes (Google Tag Manager/GA4 supported)
39
+ - Sitemap and feed generation (`jekyll-sitemap`, `jekyll-feed`), redirects via `jekyll-redirect-from`
40
+ - Schema.org markup for `Person` and various sections
41
+
42
+ ## Project structure
43
+
44
+ - `_layouts/`: HTML templates (`default.html`, `resume-en.html`, `resume-ar.html`, `profile.html`)
45
+ - `_includes/`: Reusable components (sections, headers, social links, analytics, `hreflang.html`, SVG vendors)
46
+ - `_sass/`: SCSS stylesheets (base, layout, resume, RTL, print)
47
+ - `_data/`: Theme data files (Arabic month names in `ar/months.yml`)
48
+ - `assets/`: CSS, images, favicons
49
+ - `docs/`: Documentation (config, data, includes, layouts, SASS guides) and sample `_data/` content
50
+
51
+ ## Notable implementation details
52
+
53
+ 1. Dynamic data loading: In both `resume-en.html` and `resume-ar.html`, Liquid bracket notation iterates over a dot-separated path to resolve nested data objects (handles numeric or hyphenated keys like `"2025-06"`).
54
+ 2. Conditional rendering: Sections render from `resume_section_order` and respect per-section toggles and data availability; optional header intro blocks (`resume_header_intro_en`/`_ar`).
55
+ 3. Date formatting: Arabic dates via `_includes/ar-date.html` with month name lookup from `_data/ar/months.yml`.
56
+ 4. Print behavior: Print-only URL echoes for links and optional print-only social links block.
57
+
58
+ ## Documentation
59
+
60
+ Includes guides for:
61
+ - Configuration (`docs/CONFIG_GUIDE.md`)
62
+ - Data structure (`docs/DATA_GUIDE.md`)
63
+ - Includes (`docs/INCLUDES_GUIDE.md`)
64
+ - Layouts (`docs/LAYOUTS_GUIDE.md`)
65
+ - SASS (`docs/SASS_GUIDE.md`)
66
+
67
+ Sample data is provided under `docs/_data/en/` and `docs/_data/ar/` and a sample `_config` at `docs/_data/_config.sample.yml`.
68
+
69
+ The theme is production-ready and well-documented for creating bilingual resumes with Jekyll.
data/docs/SASS_GUIDE.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # SCSS/SASS Guide (_sass)
2
2
 
3
- A contributor- and user-friendly tour of the themes styling system: how styles are organized, how entrypoints compile, what each partial does, and safe ways to customize or extend.
3
+ A contributor- and user-friendly tour of the theme's styling system: how styles are organized, how entrypoints compile, what each partial does, and safe ways to customize or extend.
4
+
5
+ **For beginners:** This guide explains how the theme's CSS/SCSS works. If you're new to CSS or just want to change colors/fonts, start with the [Customization recipes](#customization-recipes) section. You can override styles without modifying the theme files directly.
4
6
 
5
7
  ---
6
8
 
@@ -0,0 +1,27 @@
1
+ # العضويات
2
+ # الملف: _data/ar/associations.yml
3
+ # المنظمات أو المجموعات المهنية أو العضويات
4
+
5
+ # كل إدخال يمثل عضوية أو جمعية
6
+ - organization: "" # مطلوب: اسم المنظمة
7
+ active: true # مطلوب: اضبط على false لإخفاء هذا الإدخال
8
+ role: "" # مطلوب: دورك/منصبك في المنظمة
9
+ year: "" # مطلوب: الفترة الزمنية (كنص عرض، مثلاً "2020 &mdash; الحاضر" أو "يوليو 2022 &mdash; الحاضر")
10
+ url: "" # اختياري: رابط المنظمة (اتركه فارغاً إذا لم يكن هناك رابط)
11
+ summary: "" # اختياري: وصف لانخراطك
12
+
13
+ # مثال مع رابط
14
+ - organization: ""
15
+ active: true
16
+ role: ""
17
+ year: ""
18
+ url: "https://example.com"
19
+ summary: ""
20
+
21
+ # مثال بدون رابط
22
+ - organization: ""
23
+ active: true
24
+ role: ""
25
+ year: ""
26
+ url: ""
27
+ summary: ""
@@ -0,0 +1,73 @@
1
+ # الشهادات والتراخيص
2
+ # الملف: _data/ar/certifications.yml
3
+ # الشهادات والتراخيص المهنية
4
+
5
+ # كل إدخال يمثل شهادة أو ترخيص
6
+ - name: "" # مطلوب: اسم الشهادة
7
+ active: true # مطلوب: اضبط على true للعرض في السيرة الذاتية، false للإخفاء
8
+ issuing_organization: "" # مطلوب: المنظمة التي أصدرت الشهادة
9
+ credential_id: "" # اختياري: رقم اعتماد/شهادة (اتركه فارغاً إذا لم يكن هناك)
10
+ credential_url: "" # اختياري: رابط للتحقق من الاعتماد (اتركه فارغاً إذا لم يكن هناك)
11
+ issue_date: # مطلوب: تاريخ الإصدار (تنسيق YYYY-MM-DD، مثلاً 2024-03-15)
12
+ expiration: # اختياري: تاريخ الانتهاء (تنسيق YYYY-MM-DD، اتركه فارغاً إذا لم يكن هناك تاريخ انتهاء)
13
+ courses: # اختياري: للاستخدام الداخلي فقط - لا يتم عرضه في السيرة الذاتية
14
+ # هذه الدورات المتداخلة هي للاحتفاظ بالسجلات الشخصية فقط
15
+ # تربط الدورات بشهادتها الأصلية ولكن لا يتم عرضها أبداً
16
+ - name: "" # اسم الدورة (للسجلات الشخصية فقط)
17
+ active: false # حالة النشاط (للسجلات الشخصية فقط)
18
+ issuing_organization: "" # المنظمة (للسجلات الشخصية فقط)
19
+ credential_id: "" # رقم الاعتماد (للسجلات الشخصية فقط)
20
+ credential_url: "" # رابط الاعتماد (للسجلات الشخصية فقط)
21
+ issue_date: # تاريخ الإصدار (تنسيق YYYY-MM-DD، للسجلات الشخصية فقط)
22
+ expiration: # تاريخ الانتهاء (تنسيق YYYY-MM-DD، اتركه فارغاً إذا لم يكن هناك، للسجلات الشخصية فقط)
23
+
24
+ # مثال مع رقم اعتماد ورابط
25
+ - name: ""
26
+ active: true
27
+ issuing_organization: ""
28
+ credential_id: ""
29
+ credential_url: "https://example.com/cert/123"
30
+ issue_date:
31
+ expiration:
32
+ courses:
33
+ - name: ""
34
+ active: false
35
+ issuing_organization: ""
36
+ credential_id: ""
37
+ credential_url: ""
38
+ issue_date:
39
+ expiration:
40
+
41
+ # مثال مع رقم اعتماد بدون رابط
42
+ - name: ""
43
+ active: true
44
+ issuing_organization: ""
45
+ credential_id: ""
46
+ credential_url: ""
47
+ issue_date:
48
+ expiration:
49
+ courses:
50
+ - name: ""
51
+ active: false
52
+ issuing_organization: ""
53
+ credential_id: ""
54
+ credential_url: ""
55
+ issue_date:
56
+ expiration:
57
+
58
+ # مثال بدون تاريخ انتهاء
59
+ - name: ""
60
+ active: true
61
+ issuing_organization: ""
62
+ credential_id: ""
63
+ credential_url: ""
64
+ issue_date:
65
+ expiration:
66
+ courses:
67
+ - name: ""
68
+ active: false
69
+ issuing_organization: ""
70
+ credential_id: ""
71
+ credential_url: ""
72
+ issue_date:
73
+ expiration:
@@ -0,0 +1,39 @@
1
+ # الدورات
2
+ # الملف: _data/ar/courses.yml
3
+ # دورات تدريبية وورش عمل أو برامج تعليمية
4
+
5
+ # كل إدخال يمثل دورة أو برنامج تدريبي
6
+ - name: "" # مطلوب: اسم الدورة
7
+ active: true # مطلوب: اضبط على false لإخفاء هذا الإدخال
8
+ issuing_organization: "" # مطلوب: المنظمة المقدمة للدورة
9
+ credential_id: "" # اختياري: رقم اعتماد/شهادة (اتركه فارغاً إذا لم يكن هناك)
10
+ credential_url: "" # اختياري: رابط للتحقق من الاعتماد (اتركه فارغاً إذا لم يكن هناك)
11
+ startdate: # مطلوب: تاريخ بداية الدورة (تنسيق YYYY-MM-DD، مثلاً 2024-09-01)
12
+ enddate: # اختياري: تاريخ نهاية الدورة (تنسيق YYYY-MM-DD، اتركه فارغاً إذا كانت مستمرة)
13
+ expiration: # اختياري: تاريخ انتهاء الاعتماد (تنسيق YYYY-MM-DD، اتركه فارغاً إذا لم يكن هناك)
14
+ notes: "" # اختياري: ملاحظات شخصية (لا يتم عرضها في السيرة الذاتية)
15
+ summary: "" # اختياري: وصف الدورة (يُعرض فقط إذا كان enable_summary صحيحاً في _config.yml)
16
+
17
+ # مثال مع اعتماد
18
+ - name: ""
19
+ active: true
20
+ issuing_organization: ""
21
+ credential_id: ""
22
+ credential_url: "https://example.com/verify/certificate"
23
+ startdate:
24
+ enddate:
25
+ expiration:
26
+ notes: ""
27
+ summary: ""
28
+
29
+ # مثال بدون اعتماد
30
+ - name: ""
31
+ active: true
32
+ issuing_organization: ""
33
+ credential_id: ""
34
+ credential_url: ""
35
+ startdate:
36
+ enddate:
37
+ expiration:
38
+ notes: ""
39
+ summary: ""
@@ -0,0 +1,49 @@
1
+ # التعليم
2
+ # الملف: _data/ar/education.yml
3
+ # الشهادات الأكاديمية والخلفية التعليمية
4
+
5
+ # كل إدخال يمثل درجة أو برنامج تعليمي
6
+ - degree: "" # مطلوب: اسم الدرجة والتفاصيل (مثلاً "بكالوريوس العلوم في علوم الحاسب")
7
+ active: true # مطلوب: اضبط على false لإخفاء هذا الإدخال
8
+ uni: "" # مطلوب: اسم الجامعة/المؤسسة
9
+ year: "" # مطلوب: الفترة الزمنية (كنص عرض، مثلاً "سبتمبر 2020 &mdash; يونيو 2024" أو "2015 &mdash; 2019")
10
+ location: "" # مطلوب: موقع المؤسسة (مثلاً "المدينة، الولاية" أو "المدينة، الدولة")
11
+ awards: # اختياري: قائمة الجوائز/الأوسمة المستلمة (استخدم هذا أو حقل الجائزة الواحدة أدناه)
12
+ - award: "" # جائزة أو وسام (يمكن إضافة عناصر متعددة)
13
+ award: "" # اختياري: جائزة واحدة (بديل لقائمة الجوائز أعلاه، مثلاً "تخرجت بمرتبة الشرف")
14
+ # ملاحظة: يمكنك استخدام 'awards' (قائمة) أو 'award' (نص واحد)، أو كليهما
15
+ summary: "" # اختياري: وصف إضافي أو تفاصيل عن تعليمك
16
+
17
+ # مثال مع قائمة جوائز
18
+ - degree: ""
19
+ active: true
20
+ uni: ""
21
+ year: ""
22
+ location: ""
23
+ awards:
24
+ - award: ""
25
+ - award: ""
26
+ award: ""
27
+ summary: ""
28
+
29
+ # مثال مع حقل جائزة واحد
30
+ - degree: ""
31
+ active: true
32
+ uni: ""
33
+ year: ""
34
+ location: ""
35
+ awards:
36
+ - award: ""
37
+ award: ""
38
+ summary: ""
39
+
40
+ # مثال بسيط (بدون جوائز أو ملخص)
41
+ - degree: ""
42
+ active: true
43
+ uni: ""
44
+ year: ""
45
+ location: ""
46
+ awards:
47
+ - award: ""
48
+ award: ""
49
+ summary: ""
@@ -0,0 +1,50 @@
1
+ # الخبرات العملية
2
+ # الملف: _data/ar/experience.yml
3
+ # الخبرة المهنية وسجل التوظيف
4
+
5
+ # الوظائف مجمعة حسب اسم الشركة. الأدوار المتعددة في نفس الشركة ستظهر معاً.
6
+ # الأدوار مرتبة حسب تاريخ البدء (الأحدث أولاً).
7
+
8
+ # الخيار 1: استخدام startdate و enddate (موصى به للتوظيف المستمر)
9
+ # كل إدخال يمثل دور/منصب
10
+ - company: "" # مطلوب: اسم الشركة/المنظمة
11
+ position: "" # مطلوب: المسمى الوظيفي/المنصب
12
+ startdate: # مطلوب: تاريخ البدء (تنسيق YYYY-MM-DD، مثلاً 2018-05-01)
13
+ enddate: # اختياري: تاريخ الانتهاء (تنسيق YYYY-MM-DD) أو "Present" للأدوار الحالية
14
+ location: "" # اختياري: موقع العمل (مثلاً "المدينة، الولاية" أو "عن بعد")
15
+ active: true # مطلوب: اضبط على false لإخفاء هذا الإدخال
16
+ notes: "" # اختياري: ملاحظات شخصية (لا يتم عرضها في السيرة الذاتية)
17
+ summary: "" # اختياري: وصف الوظيفة (يُعرض فقط إذا كان enable_summary صحيحاً في _config.yml)
18
+
19
+ # مثال منصب حالي
20
+ - company: ""
21
+ position: ""
22
+ startdate:
23
+ enddate: Present # استخدم "Present" للمناصب المستمرة
24
+ location: ""
25
+ active: true
26
+ notes: ""
27
+ summary: ""
28
+
29
+ # الخيار 2: استخدام durations (بديل لفترات غير مستمرة في نفس الشركة)
30
+ # استخدم هذا بدلاً من startdate/enddate عندما يكون لديك فترات زمنية منفصلة متعددة
31
+ - company: ""
32
+ position: ""
33
+ durations: # بديل: استخدم هذا بدلاً من startdate/enddate للفترات غير المستمرة
34
+ - duration: "" # نص العرض للفترة الأولى (مثلاً "يونيو 2020 &mdash; يناير 2021")
35
+ - duration: "" # نص العرض للفترة الثانية (مثلاً "&amp; يونيو 2022 &mdash; ديسمبر 2022")
36
+ # استخدم &amp; للرمز (&) و &mdash; للشرطة الطويلة (—)
37
+ location: ""
38
+ active: true
39
+ notes: ""
40
+ summary: ""
41
+
42
+ # مثال مع أدوار متعددة في نفس الشركة (ستكون مجمعة معاً)
43
+ - company: ""
44
+ position: ""
45
+ startdate:
46
+ enddate:
47
+ location: ""
48
+ active: true
49
+ notes: ""
50
+ summary: ""
@@ -0,0 +1,6 @@
1
+ # Header intro paragraph
2
+ # This file contains the executive summary/intro paragraph that appears below your name and title
3
+ # Enable this in _config.yml with: resume_header_intro_ar: true
4
+
5
+ intro: "ملخصك المهني أو نبذتك المختصرة هنا. هذه هي النسخة العربية."
6
+
@@ -0,0 +1,13 @@
1
+ # الاهتمامات
2
+ # الملف: _data/ar/interests.yml
3
+ # الاهتمامات الشخصية والهوايات
4
+
5
+ # قائمة بسيطة من الاهتمامات والهوايات
6
+ # ملاحظة: لا يوجد مفتاح نشط/غير نشط - إذا كان في الملف، سيظهر
7
+ # كل إدخال يمثل اهتمام واحد
8
+
9
+ - description: "" # مطلوب: وصف الاهتمام
10
+
11
+ - description: ""
12
+
13
+ - description: ""
@@ -0,0 +1,29 @@
1
+ # اللغات
2
+ # الملف: _data/ar/languages.yml
3
+ # مستويات إتقان اللغات
4
+
5
+ # قسم اللغات يظهر في جدول من عمودين
6
+ # إذا تم تفعيل lang_header في _config.yml، تظهر اللغات في رأس الصفحة بدلاً من ذلك
7
+ # كل إدخال يمثل إتقان لغة
8
+
9
+ - language: "" # مطلوب: اسم اللغة (مثلاً "الإنجليزية"، "العربية"، "الإسبانية")
10
+ active: true # مطلوب: اضبط على false لإخفاء هذا الإدخال
11
+ description: "" # مطلوب: وصف الإتقان الكامل (مثلاً "إتقان كلغة أم"، "إتقان مهني")
12
+ descrp_short: "" # مطلوب: النموذج القصير للعرض في الرأس (مثلاً "لغة أم"، "مهني"، "محدود"، "ابتدائي")
13
+
14
+ # مستويات الإتقان المقترحة:
15
+ # - لغة أم / ثنائي اللغة
16
+ # - إتقان مهني
17
+ # - إتقان محدود
18
+ # - إتقان ابتدائي
19
+
20
+ # أمثلة إدخالات
21
+ - language: ""
22
+ active: true
23
+ description: ""
24
+ descrp_short: ""
25
+
26
+ - language: ""
27
+ active: true
28
+ description: ""
29
+ descrp_short: ""
@@ -0,0 +1,17 @@
1
+ # الروابط
2
+ # الملف: _data/ar/links.yml
3
+ # روابط إضافية (معرض أعمال، مدونة، GitHub، إلخ)
4
+
5
+ # كل إدخال يمثل رابط
6
+ - description: "" # مطلوب: وصف/عنوان الرابط (مثلاً "المعرض الشخصي"، "ملف GitHub"، "مدونة شخصية")
7
+ active: true # مطلوب: اضبط على false لإخفاء هذا الرابط
8
+ url: "" # مطلوب: الرابط (مثلاً "https://github.com/username" أو "https://example.com")
9
+
10
+ # أمثلة إدخالات
11
+ - description: ""
12
+ active: true
13
+ url: ""
14
+
15
+ - description: ""
16
+ active: true
17
+ url: ""
@@ -0,0 +1,28 @@
1
+ # المشاريع
2
+ # الملف: _data/ar/projects.yml
3
+ # مشاريع شخصية أو مهنية
4
+
5
+ # كل إدخال يمثل مشروع
6
+ - project: "" # مطلوب: اسم المشروع
7
+ active: true # مطلوب: اضبط على false لإخفاء هذا الإدخال
8
+ role: "" # مطلوب: دورك في المشروع (مثلاً "مطور رئيسي"، "قائد فريق"، "مشرف")
9
+ duration: "" # مطلوب: الفترة الزمنية (كنص عرض، مثلاً "مايو 2021 &mdash; الحاضر" أو "يناير 2023 &mdash; يونيو 2024")
10
+ # استخدم &mdash; للشرطة الطويلة (—)
11
+ url: "" # اختياري: رابط المشروع (اتركه فارغاً إذا لم يكن هناك رابط، مثلاً مستودع GitHub أو موقع المشروع)
12
+ description: "" # مطلوب: وصف المشروع
13
+
14
+ # مثال مع رابط
15
+ - project: ""
16
+ active: true
17
+ role: ""
18
+ duration: ""
19
+ url: "https://github.com/username/project"
20
+ description: ""
21
+
22
+ # مثال بدون رابط
23
+ - project: ""
24
+ active: true
25
+ role: ""
26
+ duration: ""
27
+ url: ""
28
+ description: ""