Skip to content

Commit 269cc25

Browse files
authored
Merge pull request #1685 from gethinode/templatev2
Templatev2
2 parents e1b5d6b + f5fba6b commit 269cc25

File tree

11 files changed

+205
-63
lines changed

11 files changed

+205
-63
lines changed

CLAUDE.md

Lines changed: 72 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,5 +183,75 @@ Test with both main site and exampleSite:
183183
- Main branch: `main` (production releases)
184184
- Development branch: `develop`
185185
- Uses semantic-release for automated versioning
186-
- Commits follow conventional commits (enforced by commitlint)
187-
- Husky pre-commit hooks run linters
186+
- Commits follow Angular Conventional Commits (enforced by commitlint)
187+
- Husky pre-commit hooks run linters automatically
188+
189+
### Commit Message Format
190+
191+
Follow Angular Conventional Commits format:
192+
193+
```text
194+
<type>(<scope>): <subject>
195+
196+
<body>
197+
198+
🤖 Generated with [Claude Code](https://claude.com/claude-code)
199+
200+
Co-Authored-By: Claude Haiku 4.5 <[email protected]>
201+
```
202+
203+
**Common types:**
204+
205+
- `feat` - New feature
206+
- `fix` - Bug fix
207+
- `refactor` - Code refactoring
208+
- `style` - Styling changes (CSS/SCSS only, no logic changes)
209+
- `docs` - Documentation changes
210+
- `test` - Adding or updating tests
211+
- `chore` - Build process, dependencies, tooling
212+
213+
**Common scopes:**
214+
215+
- `i18n` - Internationalization/translations
216+
- `components` - Component changes
217+
- `docs` - Documentation
218+
- `theme` - Theme styling
219+
- `build` - Build process
220+
221+
**Example commits:**
222+
223+
- `feat(i18n): add missing translations for testimonials`
224+
- `fix(components): correct variable reference in testimonials`
225+
- `style: add width constraint to section-title class`
226+
- `refactor(components): improve testimonials component layout`
227+
228+
### Linting & Code Quality
229+
230+
Run linters before committing (pre-commit hooks will enforce this):
231+
232+
```bash
233+
npm test # Run all linters (recommended before commits)
234+
npm run lint:scripts # Check JavaScript
235+
npm run lint:styles # Check SCSS
236+
npm run lint:markdown # Check Markdown documentation
237+
```
238+
239+
**Linting tools:**
240+
241+
- **ESLint** (`.eslintrc.yml`) - JavaScript linting with ES6 and browser environment
242+
- **Stylelint** (`.stylelintrc.json`) - SCSS linting with standard-scss rules
243+
- **Markdownlint** (`.markdownlint-cli2.jsonc`) - Markdown file linting
244+
245+
**Markdown linting rules** (`.markdownlint-cli2.jsonc`):
246+
247+
- Enforced: MD040 (fenced code blocks must have language specified), MD032 (lists must be surrounded by blank lines), and others
248+
- Disabled rules: MD013 (line length), MD024 (duplicate headers), MD026 (trailing punctuation), MD034 (bare URLs), MD051 (link fragments), MD053 (link reference definitions), MD055 (table pipe escaping), MD056 (table header/body cell count)
249+
- Ignored: `node_modules/`, `CHANGELOG.md`
250+
251+
**Important notes:**
252+
253+
- Pre-commit hooks run automatically when committing
254+
- If hooks modify files (e.g., formatting), the commit will fail and you should commit again
255+
- Always test changes with the example site: `npm run build:example`
256+
- Check for i18n warnings when modifying translations or components using testimonials
257+
- Ensure all language variants build without warnings

assets/scss/common/_styles.scss

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,11 @@ div.rounded, img.rounded {
5252

5353
.section-cover {
5454
min-height: calc(var(--section-height) - var(--overlay-offset));
55-
}
55+
}
56+
57+
.section-title {
58+
width: 100%;
59+
}
5660

5761
@include media-breakpoint-up(xxl) {
5862
.section-cover {

component-library/components/testimonials/testimonials.hugo.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@
7979
</button>
8080
</div>
8181
{{ else }}
82-
<div class="container p-0">
82+
<div class="testimonial-grid container p-0">
8383
<div class="row {{ $colGrid }} g-3">
84-
{{ range .testimonials }}
84+
{{ range $args.testimonials }}
8585
<div class="col">
8686
{{ partial "assets/testimonial.html" (dict
8787
"page" page

component-library/components/testimonials/testimonials.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
}
2121

2222
section.testimonials {
23-
.carousel {
23+
.carousel, .testimonial-grid {
2424
width: 100%;
2525
}
2626

exampleSite/content/en/blocks/testimonials.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,13 @@ Set `carousel` to `true` to render a carousel of multiple testimonials.
6060
testimonials:
6161
- icon: fab linkedin
6262
content: First testimonial.
63+
link: /en/about/
6364
- icon: fab google
6465
content: Second testimonial.
66+
link: /en/about/
6567
- icon: fab github
6668
content: Third testimonial.
69+
link: /en/about/
6770
```
6871

6972
{{< /example-bookshop >}}

exampleSite/hugo_stats.json

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
"btn-secondary",
132132
"btn-sm",
133133
"btn-social",
134+
"btn-testimonial",
134135
"btn-xs",
135136
"card",
136137
"card-block-2",
@@ -580,6 +581,7 @@
580581
"tag-link",
581582
"team",
582583
"testimonial-carousel-item",
584+
"testimonial-grid",
583585
"testimonial-icon",
584586
"testimonial-img",
585587
"testimonials",
@@ -735,11 +737,11 @@
735737
"docs",
736738
"documentation",
737739
"dropdown-nav-0",
738-
"dropdown-panel-176e79a81804990838b25b5b7db3d707",
739-
"dropdown-panel-2a393f6f0bdf9cf0729b6aac8ecc19f4",
740-
"dropdown-panel-3c757508b637a949db22f85379b36d09",
741-
"dropdown-panel-60874ab8013a46b38bc3a7cbac2bbbfe",
742-
"dropdown-panel-d2b20ed35372229931cb14b436248a49",
740+
"dropdown-panel-24eb1095d52c008b0a371dcbd9991fd9",
741+
"dropdown-panel-45611534504290a4b3d09afa8b8b9c2b",
742+
"dropdown-panel-a376f9d045b3e2101677b9e936a535e1",
743+
"dropdown-panel-fd967038dceaf2412c59c3b29b288f74",
744+
"dropdown-panel-fe0d6d688bb383fe83a0dc3a5ed68e6a",
743745
"eerste-artikel",
744746
"elements-type",
745747
"entity-relationship-diagram",
@@ -762,11 +764,11 @@
762764
"fab-whatsapp",
763765
"fab-x-twitter",
764766
"faq",
765-
"faq-eebe765f3d549a50d1376984dcfacfb1",
766-
"faq-eebe765f3d549a50d1376984dcfacfb1-heading-faq-eebe765f3d549a50d1376984dcfacfb1",
767-
"faq-eebe765f3d549a50d1376984dcfacfb1-item-0",
768-
"faq-eebe765f3d549a50d1376984dcfacfb1-item-1",
769-
"faq-eebe765f3d549a50d1376984dcfacfb1-item-2",
767+
"faq-bff129cfbc7f25b4fd5cd99242271805",
768+
"faq-bff129cfbc7f25b4fd5cd99242271805-heading-faq-bff129cfbc7f25b4fd5cd99242271805",
769+
"faq-bff129cfbc7f25b4fd5cd99242271805-item-0",
770+
"faq-bff129cfbc7f25b4fd5cd99242271805-item-1",
771+
"faq-bff129cfbc7f25b4fd5cd99242271805-item-2",
770772
"fas-1",
771773
"fas-2",
772774
"fas-3",
@@ -884,11 +886,11 @@
884886
"nav-0-btn-1",
885887
"nav-0-btn-2",
886888
"nav-nav-0",
887-
"nav-panel-176e79a81804990838b25b5b7db3d707",
888-
"nav-panel-2a393f6f0bdf9cf0729b6aac8ecc19f4",
889-
"nav-panel-3c757508b637a949db22f85379b36d09",
890-
"nav-panel-60874ab8013a46b38bc3a7cbac2bbbfe",
891-
"nav-panel-d2b20ed35372229931cb14b436248a49",
889+
"nav-panel-24eb1095d52c008b0a371dcbd9991fd9",
890+
"nav-panel-45611534504290a4b3d09afa8b8b9c2b",
891+
"nav-panel-a376f9d045b3e2101677b9e936a535e1",
892+
"nav-panel-fd967038dceaf2412c59c3b29b288f74",
893+
"nav-panel-fe0d6d688bb383fe83a0dc3a5ed68e6a",
892894
"navbar",
893895
"navbar-0-collapse",
894896
"navbar-mode",
@@ -898,36 +900,36 @@
898900
"notification",
899901
"over-mij",
900902
"overview",
901-
"panel-176e79a81804990838b25b5b7db3d707-0",
902-
"panel-176e79a81804990838b25b5b7db3d707-1",
903-
"panel-176e79a81804990838b25b5b7db3d707-2",
904-
"panel-176e79a81804990838b25b5b7db3d707-btn-0",
905-
"panel-176e79a81804990838b25b5b7db3d707-btn-1",
906-
"panel-176e79a81804990838b25b5b7db3d707-btn-2",
907-
"panel-2a393f6f0bdf9cf0729b6aac8ecc19f4-0",
908-
"panel-2a393f6f0bdf9cf0729b6aac8ecc19f4-1",
909-
"panel-2a393f6f0bdf9cf0729b6aac8ecc19f4-2",
910-
"panel-2a393f6f0bdf9cf0729b6aac8ecc19f4-btn-0",
911-
"panel-2a393f6f0bdf9cf0729b6aac8ecc19f4-btn-1",
912-
"panel-2a393f6f0bdf9cf0729b6aac8ecc19f4-btn-2",
913-
"panel-3c757508b637a949db22f85379b36d09-0",
914-
"panel-3c757508b637a949db22f85379b36d09-1",
915-
"panel-3c757508b637a949db22f85379b36d09-2",
916-
"panel-3c757508b637a949db22f85379b36d09-btn-0",
917-
"panel-3c757508b637a949db22f85379b36d09-btn-1",
918-
"panel-3c757508b637a949db22f85379b36d09-btn-2",
919-
"panel-60874ab8013a46b38bc3a7cbac2bbbfe-0",
920-
"panel-60874ab8013a46b38bc3a7cbac2bbbfe-1",
921-
"panel-60874ab8013a46b38bc3a7cbac2bbbfe-2",
922-
"panel-60874ab8013a46b38bc3a7cbac2bbbfe-btn-0",
923-
"panel-60874ab8013a46b38bc3a7cbac2bbbfe-btn-1",
924-
"panel-60874ab8013a46b38bc3a7cbac2bbbfe-btn-2",
925-
"panel-d2b20ed35372229931cb14b436248a49-0",
926-
"panel-d2b20ed35372229931cb14b436248a49-1",
927-
"panel-d2b20ed35372229931cb14b436248a49-2",
928-
"panel-d2b20ed35372229931cb14b436248a49-btn-0",
929-
"panel-d2b20ed35372229931cb14b436248a49-btn-1",
930-
"panel-d2b20ed35372229931cb14b436248a49-btn-2",
903+
"panel-24eb1095d52c008b0a371dcbd9991fd9-0",
904+
"panel-24eb1095d52c008b0a371dcbd9991fd9-1",
905+
"panel-24eb1095d52c008b0a371dcbd9991fd9-2",
906+
"panel-24eb1095d52c008b0a371dcbd9991fd9-btn-0",
907+
"panel-24eb1095d52c008b0a371dcbd9991fd9-btn-1",
908+
"panel-24eb1095d52c008b0a371dcbd9991fd9-btn-2",
909+
"panel-45611534504290a4b3d09afa8b8b9c2b-0",
910+
"panel-45611534504290a4b3d09afa8b8b9c2b-1",
911+
"panel-45611534504290a4b3d09afa8b8b9c2b-2",
912+
"panel-45611534504290a4b3d09afa8b8b9c2b-btn-0",
913+
"panel-45611534504290a4b3d09afa8b8b9c2b-btn-1",
914+
"panel-45611534504290a4b3d09afa8b8b9c2b-btn-2",
915+
"panel-a376f9d045b3e2101677b9e936a535e1-0",
916+
"panel-a376f9d045b3e2101677b9e936a535e1-1",
917+
"panel-a376f9d045b3e2101677b9e936a535e1-2",
918+
"panel-a376f9d045b3e2101677b9e936a535e1-btn-0",
919+
"panel-a376f9d045b3e2101677b9e936a535e1-btn-1",
920+
"panel-a376f9d045b3e2101677b9e936a535e1-btn-2",
921+
"panel-fd967038dceaf2412c59c3b29b288f74-0",
922+
"panel-fd967038dceaf2412c59c3b29b288f74-1",
923+
"panel-fd967038dceaf2412c59c3b29b288f74-2",
924+
"panel-fd967038dceaf2412c59c3b29b288f74-btn-0",
925+
"panel-fd967038dceaf2412c59c3b29b288f74-btn-1",
926+
"panel-fd967038dceaf2412c59c3b29b288f74-btn-2",
927+
"panel-fe0d6d688bb383fe83a0dc3a5ed68e6a-0",
928+
"panel-fe0d6d688bb383fe83a0dc3a5ed68e6a-1",
929+
"panel-fe0d6d688bb383fe83a0dc3a5ed68e6a-2",
930+
"panel-fe0d6d688bb383fe83a0dc3a5ed68e6a-btn-0",
931+
"panel-fe0d6d688bb383fe83a0dc3a5ed68e6a-btn-1",
932+
"panel-fe0d6d688bb383fe83a0dc3a5ed68e6a-btn-2",
931933
"panels",
932934
"persona",
933935
"pie-chart",
@@ -965,7 +967,7 @@
965967
"table",
966968
"tabs",
967969
"team",
968-
"testimonial-carousel-c60d5407dc42e4174a7eb9fc3847330b",
970+
"testimonial-carousel-e9c4bd825854986577faca5bebb5a3ae",
969971
"testimonials",
970972
"testimonials-type",
971973
"third-party-links--use-of-your-information",

hugo_stats.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@
191191
"search-modal",
192192
"search-suggestions",
193193
"section-cover",
194+
"section-title",
194195
"svg-inline--fa",
195196
"text-",
196197
"text-body",

i18n/de.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,4 +188,12 @@
188188
- id: contactBody
189189
translation: "Bitte hinterlassen Sie Ihre Kontaktdaten, damit wir uns mit Ihnen in Verbindung setzen können."
190190
- id: contactAction
191-
translation: "Kontakt aufnehmen"
191+
translation: "Kontakt aufnehmen"
192+
193+
# Testimonial
194+
- id: testimonialPrevious
195+
translation: "Vorheriges Testimonial"
196+
- id: testimonialNext
197+
translation: "Nächstes Testimonial"
198+
- id: testimonialCase
199+
translation: "Kundenfallstudie anzeigen"

i18n/fr.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@
5858
- id: download
5959
translation: "Télécharger l'article"
6060

61+
# Hero
62+
- id: backgroundImage
63+
translation: "Image de fond"
64+
- id: heroImage
65+
translation: "Image héro"
66+
6167
# Pagination
6268
- id: paginationNav
6369
translation: "Navigation de la page"
@@ -95,6 +101,10 @@
95101
translation: "Voir également"
96102
- id: sectionMenu
97103
translation: "Selectionner un topic"
104+
- id: tocShowMore
105+
translation: "Afficher {{ . }} plus"
106+
- id: tocShowLess
107+
translation: "Afficher moins"
98108

99109
# Sidebar
100110
- id: toggleSidebar
@@ -169,3 +179,19 @@
169179
# Nav & Tab
170180
- id: clickToExpand
171181
translation: "Cliquez pour afficher le contenu"
182+
183+
# Contact information
184+
- id: contactHeaderTopic
185+
translation: "Intéressé par ce sujet?"
186+
- id: contactBody
187+
translation: "Veuillez laisser vos coordonnées afin que nous puissions vous contacter."
188+
- id: contactAction
189+
translation: "Nous contacter"
190+
191+
# Testimonial
192+
- id: testimonialPrevious
193+
translation: "Témoignage précédent"
194+
- id: testimonialNext
195+
translation: "Témoignage suivant"
196+
- id: testimonialCase
197+
translation: "Voir l'étude de cas client"

i18n/pt-br.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@
6060
- id: download
6161
translation: "Baixar artigo"
6262

63+
# Hero
64+
- id: backgroundImage
65+
translation: "Imagem de fundo"
66+
- id: heroImage
67+
translation: "Imagem principal"
68+
6369
# Pagination
6470
- id: paginationNav
6571
translation: "Navegação da página"
@@ -97,6 +103,10 @@
97103
translation: "Veja também"
98104
- id: sectionMenu
99105
translation: "Selecionar um tópico"
106+
- id: tocShowMore
107+
translation: "Mostrar {{ . }} mais"
108+
- id: tocShowLess
109+
translation: "Mostrar menos"
100110

101111
# Sidebar
102112
- id: toggleSidebar
@@ -167,3 +177,23 @@
167177
# Image
168178
- id: image
169179
translation: imagem
180+
181+
# Nav & Tab
182+
- id: clickToExpand
183+
translation: "Clique para expandir"
184+
185+
# Contact information
186+
- id: contactHeaderTopic
187+
translation: "Interessado neste tópico?"
188+
- id: contactBody
189+
translation: "Por favor, deixe seus detalhes de contato para que possamos entrar em contato com você."
190+
- id: contactAction
191+
translation: "Entre em contato"
192+
193+
# Testimonial
194+
- id: testimonialPrevious
195+
translation: "Depoimento anterior"
196+
- id: testimonialNext
197+
translation: "Próximo depoimento"
198+
- id: testimonialCase
199+
translation: "Ver estudo de caso do cliente"

0 commit comments

Comments
 (0)