Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple experience blocks #105

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

daihaminkey
Copy link

It's possible now to add multiple experience blocks on a portfolio page.

I also refactored experience into partials and removed some code duplications in it.

I propose this request, because job experience may be non-linear.

My story:
I have not only full-time jobs, but also freelance and pet projects. It's important to highlight, but if I place in one Experience block, HR are afraid of overlap.
Two blocks helps me separate "real jobs" from other things better, then projects section.

Two experience blocks

@SamGreenwood1
Copy link

How did you do that?

@daihaminkey
Copy link
Author

@SamGreenwood1
Hugo generates static sites via HTML templates, Profile Theme provides data to it's template in config. I changed template, and, accordingly, data input format.

Now, instead of generating one experience block from one filed in config, it iterates over a list field from config, and generates list of experience blocks.

A bit tricky part was with HTML of it, needed to change some classes to id's, so tabs of different blocks don't affect each other.

It's my first play with Hugo themes, and I'm not a web developer, but I think it my first experiment went well.

MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
MarekPikula added a commit to MarekPikula/hugo-profile that referenced this pull request Jun 2, 2024
This change enables theme user to specify arbitrary order of sections,
and add multiple sections of the same type (more generic approach than
in gurusabarish#105, which is applicable only to experience blocks).

- All sections are specified in config as a list, with order of items
  directly reflecting order on the main page (including navbar).
- Type of a section is specified with a new `type` field.
- If there are multiple sections of the same type, in order to
  distinguish them for navbar navigation, you need to specify unique
  `id` field.
- Navbar and main page generation is more generic, allowing to add
  custom section types – the only requirement is a custom partial named
  after the section type. Styling can be provided in a custom CSS
  (enabled with `customCSS` site param).

Signed-off-by: Marek Pikuła <marek@serenitycode.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants