Documentation

About Me Page

Grayscale developer portfolio fully rendered in JS by PDRenderKit 1.5.2 from a PDConfig object, with scroll-spy nav, tabs and portfolio filter.

Overview

Item Value
Created 2023-06-13
Category Personal Examples
HTML files index.html
Source target/20230613

Live Preview

Open the example in a new tab

Page Sections

Section Description
Nav (#nav) Title from PDConfig.nav.title, 7 items (Home..Contact) in #nav-list with index-driven highlight, hamburger #button-tab; gets .min after scrolling.
Header Social icon column, name, subtitle, description, Contact button, Scroll Down hint, and avatar in a rotated blob frame animated via border-radius keyframes.
About Me Image, 3 stat items (Full-stack, iOS, Examples), intro paragraph and Contact button.
Skills Front-end and back-end columns, each listing 4 technologies with years and check icons.
Services 3 cards (iOS, Front-end, Back-end) with View More buttons (no handler).
Experiences #tab-experience switches between Education and Experience timelines via the parent section's show attribute (initial show=1).
Portfolios #tab-portfolio (All / Lorem1 / Lorem2) and #body-portfolio grid of 20 placeholder images filtered by tag-filter / tag-key.
Contact Me Email and LinkedIn cards with Open buttons (no handler) and a 3-field message form whose labels come from label[key] via CSS attr().
Footer Brand, GitHub / LinkedIn / mail icon links and copyright.
Scroll-to-top button Fixed #button-scrollTop shown once scrolled past the header.

Interactions

Dependencies

Styling

Item Value
SCSS entry sass/index.scss
Output CSS css/index.css
Partials _nav.scss, _footer.scss, _header.scss, _about.scss, _skills.scss, _services.scss, _experiences.scss, _portfolios.scss, _contact.scss

index.scss: reset, body scroll container, fixed #button-scrollTop; partials style each generated section. _nav handles .min shrink, mobile .show overlay and [index] highlight; _header has mouse-animation and head-animation (morphing border-radius blob); _experiences toggles lists via [show]; _portfolios uses [index] and [tag-filter]/[tag-key]; _contact prints label text with attr(key). Grayscale --col-brand-1..9 and --width-max 1280px are in an inline <style>.

cd target/20230613
npx sass sass/index.scss css/index.css --no-source-map || exit 1

Techniques

External Assets

中文