@kolkrabbi/kol-resume 0.1.2 → 0.1.4
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.
- package/package.json +4 -4
- package/src/components/ExportButtons.jsx +2 -2
- package/src/components/KitOptions.jsx +2 -2
- package/src/components/LangToggle.jsx +1 -1
- package/src/data.jsx +1 -1
- package/src/lib/kitSections.jsx +5 -5
- package/src/lib/treatments.js +1 -1
- package/src/pages/Backside.jsx +1 -1
- package/src/pages/Cover.jsx +2 -2
- package/src/pages/CoverLetter.jsx +2 -2
- package/src/pages/KitPreview.jsx +2 -2
- package/src/pages/Resume.jsx +1 -1
- package/src/pages/ResumeGrid.jsx +2 -2
- package/src/pages/ResumeLibrary.jsx +5 -5
- package/src/pages/ResumeMarginalia.jsx +2 -2
- package/src/pages/ResumeRail.jsx +2 -2
- package/src/pages/ResumeSource.jsx +4 -4
- package/src/pages/ResumeTreatment.jsx +9 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-resume",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "A resume kit that prints to PDF",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@kolkrabbi/kol-
|
|
42
|
-
"@kolkrabbi/kol-
|
|
43
|
-
"@kolkrabbi/kol-
|
|
41
|
+
"@kolkrabbi/kol-theme": "^0.196.0",
|
|
42
|
+
"@kolkrabbi/kol-component": "^0.311.2",
|
|
43
|
+
"@kolkrabbi/kol-styleguide": "^0.14.1"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
46
46
|
"kol",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useExportDownload } from '../lib/exportDownload'
|
|
2
|
-
import { exportRequest } from '../lib/treatments'
|
|
1
|
+
import { useExportDownload } from '../lib/exportDownload.js'
|
|
2
|
+
import { exportRequest } from '../lib/treatments.js'
|
|
3
3
|
import { useResume } from '../data.jsx'
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from 'react'
|
|
2
2
|
import { useSearchParams } from 'react-router-dom'
|
|
3
|
-
import { KIT_PAGES, KIT_PAGE_IDS, readKitOptions } from '../lib/kitOptions'
|
|
4
|
-
import LangToggle from './LangToggle'
|
|
3
|
+
import { KIT_PAGES, KIT_PAGE_IDS, readKitOptions } from '../lib/kitOptions.js'
|
|
4
|
+
import LangToggle from './LangToggle.jsx'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* The export options — language, which numbered sections compile into the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useSearchParams } from 'react-router-dom'
|
|
2
2
|
import { SegmentedToggle } from '@kolkrabbi/kol-component'
|
|
3
|
-
import { readLang } from '../lib/i18n'
|
|
3
|
+
import { readLang } from '../lib/i18n.js'
|
|
4
4
|
|
|
5
5
|
/** EN / IS, written to `?lang` — the one value every resume surface (source,
|
|
6
6
|
* library, treatment preview, headless export) reads. English clears the param. */
|
package/src/data.jsx
CHANGED
|
@@ -24,7 +24,7 @@ import { parsePortfolio } from './lib/portfolio.js'
|
|
|
24
24
|
* { en: { kicker, title, intro }, is } }` — each key overrides the kit's default
|
|
25
25
|
* fileStem the exports' file stem (`<stem>-kit.pdf`); defaults to the person's name, slugged
|
|
26
26
|
*/
|
|
27
|
-
const ResumeContext = createContext(null)
|
|
27
|
+
const ResumeContext = (globalThis[Symbol.for('@kolkrabbi/kol-resume/ResumeContext')] ??= createContext(null))
|
|
28
28
|
|
|
29
29
|
export function ResumeProvider({ person = {}, records = {}, contact = {}, letters = {}, portfolio = {}, media = {}, workBase = '', workUrl, assetUrl = (k) => k, portrait, fileStem, copy = {}, children }) {
|
|
30
30
|
const value = useMemo(() => {
|
package/src/lib/kitSections.jsx
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import Cover from '../pages/Cover'
|
|
2
|
-
import Resume from '../pages/Resume'
|
|
3
|
-
import CoverLetter from '../pages/CoverLetter'
|
|
4
|
-
import Portfolio from '../pages/Portfolio'
|
|
5
|
-
import Backside from '../pages/Backside'
|
|
1
|
+
import Cover from '../pages/Cover.jsx'
|
|
2
|
+
import Resume from '../pages/Resume.jsx'
|
|
3
|
+
import CoverLetter from '../pages/CoverLetter.jsx'
|
|
4
|
+
import Portfolio from '../pages/Portfolio.jsx'
|
|
5
|
+
import Backside from '../pages/Backside.jsx'
|
|
6
6
|
|
|
7
7
|
/** The five kit sections keyed by KIT_PAGES id, rendered from `data/` for one
|
|
8
8
|
* language. The source page renders them plain; the kit treatments pass
|
package/src/lib/treatments.js
CHANGED
package/src/pages/Backside.jsx
CHANGED
package/src/pages/Cover.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import ContactLine from '../components/ContactLine'
|
|
1
|
+
import ContactLine from '../components/ContactLine.jsx'
|
|
2
2
|
import { useResume } from '../data.jsx'
|
|
3
|
-
import { pick } from '../lib/i18n'
|
|
3
|
+
import { pick } from '../lib/i18n.js'
|
|
4
4
|
|
|
5
5
|
const LABELS = {
|
|
6
6
|
en: { kicker: 'Portfolio & CV · 2026' },
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useState } from 'react'
|
|
2
2
|
import { useSearchParams } from 'react-router-dom'
|
|
3
3
|
import { useResume } from '../data.jsx'
|
|
4
|
-
import { pick } from '../lib/i18n'
|
|
5
|
-
import { readKitOptions } from '../lib/kitOptions'
|
|
4
|
+
import { pick } from '../lib/i18n.js'
|
|
5
|
+
import { readKitOptions } from '../lib/kitOptions.js'
|
|
6
6
|
import { SegmentedToggle } from '@kolkrabbi/kol-component'
|
|
7
7
|
|
|
8
8
|
// The letter markdown carries `[Role]` / `[Company]` tokens. Left blank they
|
package/src/pages/KitPreview.jsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useSearchParams } from 'react-router-dom'
|
|
2
2
|
import { A4Pages as A4Page } from '@kolkrabbi/kol-styleguide'
|
|
3
|
-
import { kitSections } from '../lib/kitSections'
|
|
4
|
-
import { KIT_PAGES, readKitOptions } from '../lib/kitOptions'
|
|
3
|
+
import { kitSections } from '../lib/kitSections.jsx'
|
|
4
|
+
import { KIT_PAGES, readKitOptions } from '../lib/kitOptions.js'
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Whole-kit preview — stacks the application kit (Cover → Resume → Cover Letter
|
package/src/pages/Resume.jsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useResume } from '../data.jsx'
|
|
2
|
-
import { pick as f } from '../lib/i18n'
|
|
2
|
+
import { pick as f } from '../lib/i18n.js'
|
|
3
3
|
|
|
4
4
|
/* Section labels + the "–Present" word per language. Content (bio, titles,
|
|
5
5
|
bullets, …) comes from the data via `f()` below — labels are chrome. */
|
package/src/pages/ResumeGrid.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useResume } from '../data.jsx'
|
|
2
|
-
import { pick as f } from '../lib/i18n'
|
|
3
|
-
import { yearLabel } from '../lib/resume'
|
|
2
|
+
import { pick as f } from '../lib/i18n.js'
|
|
3
|
+
import { yearLabel } from '../lib/resume.js'
|
|
4
4
|
|
|
5
5
|
/* Layout 4 — modular Swiss grid. Numbered experience index with a date gutter,
|
|
6
6
|
and a four-cell footer for the supporting facts. KOL tokens. */
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useLocation, useNavigate, useSearchParams } from 'react-router-dom'
|
|
2
2
|
import { useEffect, useState } from 'react'
|
|
3
3
|
import { Button, MediaLibrary } from '@kolkrabbi/kol-component'
|
|
4
|
-
import { KitOptionsFields } from '../components/KitOptions'
|
|
5
|
-
import { TREATMENTS, exportRequest } from '../lib/treatments'
|
|
6
|
-
import { useExportDownload } from '../lib/exportDownload'
|
|
7
|
-
import { readKitOptions } from '../lib/kitOptions'
|
|
8
|
-
import { readLang } from '../lib/i18n'
|
|
4
|
+
import { KitOptionsFields } from '../components/KitOptions.jsx'
|
|
5
|
+
import { TREATMENTS, exportRequest } from '../lib/treatments.js'
|
|
6
|
+
import { useExportDownload } from '../lib/exportDownload.js'
|
|
7
|
+
import { readKitOptions } from '../lib/kitOptions.js'
|
|
8
|
+
import { readLang } from '../lib/i18n.js'
|
|
9
9
|
|
|
10
10
|
/* Every treatment of the source, as cards: open one to preview it at
|
|
11
11
|
* /resume/t/:slug, or export it from here. The options panel writes the URL
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useResume } from '../data.jsx'
|
|
2
|
-
import { pick as f } from '../lib/i18n'
|
|
3
|
-
import { yearLabel } from '../lib/resume'
|
|
2
|
+
import { pick as f } from '../lib/i18n.js'
|
|
3
|
+
import { yearLabel } from '../lib/resume.js'
|
|
4
4
|
|
|
5
5
|
/* Layout 2 — single column, marginalia labels. Section labels sit in a fixed
|
|
6
6
|
left gutter; content flows in the wide right column. Swiss editorial, KOL. */
|
package/src/pages/ResumeRail.jsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useResume } from '../data.jsx'
|
|
2
|
-
import { pick as f } from '../lib/i18n'
|
|
3
|
-
import { yearLabel } from '../lib/resume'
|
|
2
|
+
import { pick as f } from '../lib/i18n.js'
|
|
3
|
+
import { yearLabel } from '../lib/resume.js'
|
|
4
4
|
|
|
5
5
|
/* Layout 3 — sidebar rail. Facts (contact, profile, skills, education,
|
|
6
6
|
languages) fill a tinted left rail; experience runs down the wide right
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useSearchParams } from 'react-router-dom'
|
|
2
|
-
import LangToggle from '../components/LangToggle'
|
|
3
|
-
import { kitSections } from '../lib/kitSections'
|
|
4
|
-
import { KIT_PAGES } from '../lib/kitOptions'
|
|
5
|
-
import { readLang } from '../lib/i18n'
|
|
2
|
+
import LangToggle from '../components/LangToggle.jsx'
|
|
3
|
+
import { kitSections } from '../lib/kitSections.jsx'
|
|
4
|
+
import { KIT_PAGES } from '../lib/kitOptions.js'
|
|
5
|
+
import { readLang } from '../lib/i18n.js'
|
|
6
6
|
|
|
7
7
|
/* The kit as plain text: every section on one page, in kit order, no sheet
|
|
8
8
|
* framing — the source every Library treatment renders. Section labels come
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Navigate, useParams, useSearchParams } from 'react-router-dom'
|
|
2
|
-
import KitPreview from './KitPreview'
|
|
3
|
-
import ResumeMarginalia from './ResumeMarginalia'
|
|
4
|
-
import ResumeRail from './ResumeRail'
|
|
5
|
-
import ResumeGrid from './ResumeGrid'
|
|
6
|
-
import ExportButtons from '../components/ExportButtons'
|
|
7
|
-
import KitOptions from '../components/KitOptions'
|
|
8
|
-
import { TREATMENTS } from '../lib/treatments'
|
|
9
|
-
import { readKitOptions } from '../lib/kitOptions'
|
|
10
|
-
import { readLang } from '../lib/i18n'
|
|
2
|
+
import KitPreview from './KitPreview.jsx'
|
|
3
|
+
import ResumeMarginalia from './ResumeMarginalia.jsx'
|
|
4
|
+
import ResumeRail from './ResumeRail.jsx'
|
|
5
|
+
import ResumeGrid from './ResumeGrid.jsx'
|
|
6
|
+
import ExportButtons from '../components/ExportButtons.jsx'
|
|
7
|
+
import KitOptions from '../components/KitOptions.jsx'
|
|
8
|
+
import { TREATMENTS } from '../lib/treatments.js'
|
|
9
|
+
import { readKitOptions } from '../lib/kitOptions.js'
|
|
10
|
+
import { readLang } from '../lib/i18n.js'
|
|
11
11
|
|
|
12
12
|
const LAYOUTS = { marginalia: ResumeMarginalia, rail: ResumeRail, grid: ResumeGrid }
|
|
13
13
|
|