jsonresume-theme-cjean 1.3.1 → 1.3.3
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/README.md +3 -1
- package/dist/components/Banner.d.ts +7 -0
- package/dist/components/DateTime.d.ts +8 -0
- package/dist/components/Education.d.ts +8 -0
- package/dist/components/FloatingButton.d.ts +40 -0
- package/dist/components/Footer.d.ts +8 -0
- package/dist/components/Header.d.ts +4 -0
- package/dist/components/Icons.d.ts +11 -0
- package/dist/components/Layout.d.ts +8 -0
- package/dist/components/Links.d.ts +5 -0
- package/dist/components/Period.d.ts +9 -0
- package/dist/components/ProfilePageJsonLd.d.ts +4 -0
- package/dist/components/Projects.d.ts +7 -0
- package/dist/components/SEO.d.ts +29 -0
- package/dist/components/Section.d.ts +6 -0
- package/dist/components/Skills.d.ts +7 -0
- package/dist/components/StructuredData.d.ts +3 -0
- package/dist/components/WorkExperience.d.ts +8 -0
- package/dist/index.cjs +12 -11
- package/dist/index.d.ts +6 -8
- package/dist/index.js +1129 -934
- package/dist/lib/google.d.ts +7 -0
- package/dist/lib/gravatar.d.ts +19 -0
- package/dist/lib/i18n.d.ts +78 -0
- package/dist/lib/image.d.ts +8 -0
- package/dist/lib/trianglify.d.ts +13 -0
- package/dist/lib/wsrv.d.ts +16 -0
- package/dist/schema.d.ts +270 -0
- package/package.json +23 -11
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# jsonresume-theme-cjean
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/jsonresume-theme-cjean)
|
|
4
|
+
|
|
3
5
|
A clean, professional [JSON Resume](https://jsonresume.org/) theme built with Tailwind CSS and TypeScript.
|
|
4
6
|
|
|
5
7
|

|
|
@@ -145,7 +147,7 @@ To add a new locale (e.g., Spanish `es`):
|
|
|
145
147
|
2. Add the new translations to the `fr` or `en` model to stay in sync with the `ThemeSpec`.
|
|
146
148
|
3. Define the new locale resource:
|
|
147
149
|
```typescript
|
|
148
|
-
const es =
|
|
150
|
+
const es = defineThemeLocale({
|
|
149
151
|
work_experience: "Experiencia laboral",
|
|
150
152
|
// ... copy and translate all keys
|
|
151
153
|
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
2
|
+
interface BannerProps extends HTMLAttributes {
|
|
3
|
+
name: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
}
|
|
6
|
+
export default function Banner({ name, label, children, ...props }: BannerProps): import("@cjean-fr/jsx-string").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { dateFormatter } from '../lib/i18n.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
export interface DateTimeProps extends HTMLAttributes {
|
|
4
|
+
date: Date | string;
|
|
5
|
+
format?: Parameters<typeof dateFormatter.format>[1];
|
|
6
|
+
children?: any;
|
|
7
|
+
}
|
|
8
|
+
export default function DateTime({ date, format, children, ...props }: DateTimeProps): import("@cjean-fr/jsx-string").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface EducationProps extends HTMLAttributes {
|
|
4
|
+
education: Resume["education"];
|
|
5
|
+
certificates: Resume["certificates"];
|
|
6
|
+
}
|
|
7
|
+
export default function Education({ education, certificates }: EducationProps): import("@cjean-fr/jsx-string").JSX.Element | null;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getIcon } from './Icons.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface FloatingButtonProps extends HTMLAttributes {
|
|
4
|
+
text: string;
|
|
5
|
+
url: string;
|
|
6
|
+
icon?: Parameters<typeof getIcon>[0];
|
|
7
|
+
id?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Floating CTA that expands/collapses like a drawer: the icon stays put
|
|
11
|
+
* while the label slides in/out, fading at the same time.
|
|
12
|
+
*
|
|
13
|
+
* The width animation relies on a single-column CSS grid track going from
|
|
14
|
+
* `0fr` (closed) to `1fr` (open): the browser interpolates towards the
|
|
15
|
+
* *intrinsic* width of the label, so the declared duration/easing apply
|
|
16
|
+
* exactly for any text length — no `max-width` magic number, no dead time.
|
|
17
|
+
*
|
|
18
|
+
* Expansion is driven by the `fab-open` / `group-fab-open` custom variants
|
|
19
|
+
* (defined in styles/tailwind.input.css): pointer hover, keyboard focus
|
|
20
|
+
* (`:focus-visible`), or the `fab--extended` class toggled on scroll
|
|
21
|
+
* direction by `initFloatingButton`.
|
|
22
|
+
* While extended, the button's right padding grows (`px-4` → `pr-6`) to
|
|
23
|
+
* balance the label, animated over the same 300ms as the drawer; the hover
|
|
24
|
+
* background keeps its snappier 150ms via per-property durations.
|
|
25
|
+
*/
|
|
26
|
+
declare const _default: ({ text, url, icon, id, ...props }: FloatingButtonProps) => import("@cjean-fr/jsx-string").JSX.Element;
|
|
27
|
+
export default _default;
|
|
28
|
+
/**
|
|
29
|
+
* Toggles `fab--extended` based on scroll direction: collapsed when
|
|
30
|
+
* scrolling down, re-extended when scrolling up, with a small threshold to
|
|
31
|
+
* ignore jitter. No-op when the user prefers reduced motion: global CSS
|
|
32
|
+
* already neutralises the transitions, so direction-driven toggling would
|
|
33
|
+
* make the label flash on every change of direction — the FAB stays
|
|
34
|
+
* extended instead.
|
|
35
|
+
*
|
|
36
|
+
* Note: this function is inlined into the page via `toString()` (see the
|
|
37
|
+
* <script> above), so keep it self-contained — and keep comments out of its
|
|
38
|
+
* body, they would ship with the HTML.
|
|
39
|
+
*/
|
|
40
|
+
export declare const initFloatingButton: (id: string) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface FooterProps extends HTMLAttributes {
|
|
4
|
+
meta: Resume["meta"];
|
|
5
|
+
bgTiles: string;
|
|
6
|
+
}
|
|
7
|
+
export default function Footer({ meta, bgTiles, ...props }: FooterProps): import("@cjean-fr/jsx-string").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type IconifyIconName = `${string}:${string}`;
|
|
2
|
+
type IconifyAPIOptions = {
|
|
3
|
+
height?: number | "auto" | "unset" | "none";
|
|
4
|
+
width?: number | "auto" | "unset" | "none";
|
|
5
|
+
rotate?: 1 | 2 | 3 | "90deg" | "180deg" | "270deg";
|
|
6
|
+
flip?: "horizontal" | "vertical";
|
|
7
|
+
color?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const fetchIcon: (name: IconifyIconName, options?: IconifyAPIOptions) => Promise<string>;
|
|
10
|
+
export declare const getIcon: (name: string, size?: number, ariaHidden?: boolean) => Promise<import('@cjean-fr/jsx-string').RawString>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface LayoutProps extends HTMLAttributes {
|
|
4
|
+
resume: Resume;
|
|
5
|
+
css: string;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: ({ resume, css, ...props }: LayoutProps) => Promise<import('@cjean-fr/jsx-string').RawString>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DateTimeProps } from './DateTime.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface PeriodProps extends HTMLAttributes {
|
|
4
|
+
startDate?: string | Date;
|
|
5
|
+
endDate?: string | Date;
|
|
6
|
+
format?: DateTimeProps["format"];
|
|
7
|
+
}
|
|
8
|
+
export default function Period({ startDate, endDate, format, ...props }: PeriodProps): import("@cjean-fr/jsx-string").JSX.Element | null;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface ProjectsProps extends HTMLAttributes {
|
|
4
|
+
projects: Resume["projects"];
|
|
5
|
+
}
|
|
6
|
+
export default function Projects({ projects }: ProjectsProps): import("@cjean-fr/jsx-string").JSX.Element | null;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
export default function SEO({ resume }: {
|
|
3
|
+
resume: Resume;
|
|
4
|
+
}): Promise<import('@cjean-fr/jsx-string').RawString>;
|
|
5
|
+
export declare function splitName(name: string): {
|
|
6
|
+
firstNameSlice: string | undefined;
|
|
7
|
+
lastNameSlice: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function Base({ title, description, canonical, robots, favicon, }: {
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
canonical?: string;
|
|
13
|
+
robots?: string;
|
|
14
|
+
favicon?: string;
|
|
15
|
+
}): Promise<import('@cjean-fr/jsx-string').RawString>;
|
|
16
|
+
export declare function OpenGraph({ title, description, url, image, firstName, lastName, }: {
|
|
17
|
+
title: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
url?: string;
|
|
20
|
+
image?: string;
|
|
21
|
+
firstName?: string;
|
|
22
|
+
lastName?: string;
|
|
23
|
+
}): import("@cjean-fr/jsx-string").JSX.Element;
|
|
24
|
+
export declare function Twitter({ title, description, url, image, }: {
|
|
25
|
+
title: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
url?: string;
|
|
28
|
+
image?: string;
|
|
29
|
+
}): import("@cjean-fr/jsx-string").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface SkillsProps extends HTMLAttributes {
|
|
4
|
+
skills: Resume["skills"];
|
|
5
|
+
}
|
|
6
|
+
export default function Skills({ skills, ...props }: SkillsProps): import("@cjean-fr/jsx-string").JSX.Element | null;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Resume } from '../schema.js';
|
|
2
|
+
import { HTMLAttributes } from '@cjean-fr/jsx-string';
|
|
3
|
+
interface WorkExperienceProps extends HTMLAttributes {
|
|
4
|
+
works: Resume["work"];
|
|
5
|
+
showLogos?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export default function WorkExperience({ works, showLogos, }: WorkExperienceProps): import("@cjean-fr/jsx-string").JSX.Element | null;
|
|
8
|
+
export {};
|