Skip to content

Commit ecf8748

Browse files
authored
Merge pull request #2 from mintyPT/examples/dribbble-social-posts
Add Brandency social post examples
2 parents 6fe6c08 + 9133089 commit ecf8748

23 files changed

Lines changed: 864 additions & 0 deletions

‎README.md‎

Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,24 @@ await screenshotUrl({
308308
These examples cover the workflows ClickClick is meant to make scriptable: live website screenshots,
309309
custom HTML cards, template modifications, and config-driven image sets.
310310

311+
### Example Set Workflow
312+
313+
Use manifest-driven example sets for multi-post inspiration work. The manifest keeps template paths,
314+
variant JSON, output paths, and README labels in one place, so rendering and documentation stay in
315+
sync.
316+
317+
```bash
318+
npm run examples:scaffold -- campaign-social coral indigo lime
319+
npm run examples:render -- examples/use-cases/orbit-social.manifest.json
320+
npm run examples:readme -- examples/use-cases/orbit-social.manifest.json
321+
npm run examples:contact-sheet -- examples/use-cases/orbit-social.manifest.json examples/use-cases/orbit-social-contact-sheet.png
322+
```
323+
324+
When adapting external references, replace source-specific names, logos, slogans, URLs, and direct
325+
media. Use fictional copy and pass any needed assets through modification JSON or documented options.
326+
Palettes may be shifted when that keeps the composition recognizable without copying the source
327+
branding.
328+
311329
### Capture a Live Website
312330

313331
Use URL screenshots when you need a reproducible image of a product page, docs page, landing page,
@@ -526,6 +544,189 @@ Result:
526544

527545
![Agriculture perspective pattern post result](./examples/use-cases/agriculture-social-perspective.png)
528546

547+
### Render Orbit Marketing Social Posts
548+
549+
Use a reusable template when a campaign has a fixed visual system but each square post swaps color,
550+
copy, and geometric accents. This set adapts a six-post marketing grid into source-neutral examples
551+
with fictional names, original slogans, and a shifted palette.
552+
553+
#### Coral Signal Post
554+
555+
CLI:
556+
557+
```bash
558+
npm run dev -- template examples/use-cases/orbit-social-post.html \
559+
--css examples/use-cases/orbit-social-post.css \
560+
--modify-file examples/use-cases/orbit-social-coral.json \
561+
--out examples/use-cases/orbit-social-coral.png \
562+
--width 1080 \
563+
--height 1080
564+
```
565+
566+
Library:
567+
568+
```ts
569+
import { readFile } from "node:fs/promises";
570+
import { renderTemplate } from "@maurogoncalo/clickclick";
571+
572+
await renderTemplate({
573+
htmlPath: "examples/use-cases/orbit-social-post.html",
574+
cssPath: "examples/use-cases/orbit-social-post.css",
575+
modifications: JSON.parse(await readFile("examples/use-cases/orbit-social-coral.json", "utf8")),
576+
viewport: { width: 1080, height: 1080 },
577+
output: { path: "examples/use-cases/orbit-social-coral.png" },
578+
});
579+
```
580+
581+
Result:
582+
583+
![Orbit coral social post result](./examples/use-cases/orbit-social-coral.png)
584+
585+
#### Indigo Ideas Post
586+
587+
CLI:
588+
589+
```bash
590+
npm run dev -- template examples/use-cases/orbit-social-post.html \
591+
--css examples/use-cases/orbit-social-post.css \
592+
--modify-file examples/use-cases/orbit-social-indigo.json \
593+
--out examples/use-cases/orbit-social-indigo.png \
594+
--width 1080 \
595+
--height 1080
596+
```
597+
598+
Library:
599+
600+
```ts
601+
await renderTemplate({
602+
htmlPath: "examples/use-cases/orbit-social-post.html",
603+
cssPath: "examples/use-cases/orbit-social-post.css",
604+
modifications: JSON.parse(await readFile("examples/use-cases/orbit-social-indigo.json", "utf8")),
605+
viewport: { width: 1080, height: 1080 },
606+
output: { path: "examples/use-cases/orbit-social-indigo.png" },
607+
});
608+
```
609+
610+
Result:
611+
612+
![Orbit indigo social post result](./examples/use-cases/orbit-social-indigo.png)
613+
614+
#### Lime Story Post
615+
616+
CLI:
617+
618+
```bash
619+
npm run dev -- template examples/use-cases/orbit-social-post.html \
620+
--css examples/use-cases/orbit-social-post.css \
621+
--modify-file examples/use-cases/orbit-social-lime.json \
622+
--out examples/use-cases/orbit-social-lime.png \
623+
--width 1080 \
624+
--height 1080
625+
```
626+
627+
Library:
628+
629+
```ts
630+
await renderTemplate({
631+
htmlPath: "examples/use-cases/orbit-social-post.html",
632+
cssPath: "examples/use-cases/orbit-social-post.css",
633+
modifications: JSON.parse(await readFile("examples/use-cases/orbit-social-lime.json", "utf8")),
634+
viewport: { width: 1080, height: 1080 },
635+
output: { path: "examples/use-cases/orbit-social-lime.png" },
636+
});
637+
```
638+
639+
Result:
640+
641+
![Orbit lime social post result](./examples/use-cases/orbit-social-lime.png)
642+
643+
#### Mint Signal Post
644+
645+
CLI:
646+
647+
```bash
648+
npm run dev -- template examples/use-cases/orbit-social-post.html \
649+
--css examples/use-cases/orbit-social-post.css \
650+
--modify-file examples/use-cases/orbit-social-mint.json \
651+
--out examples/use-cases/orbit-social-mint.png \
652+
--width 1080 \
653+
--height 1080
654+
```
655+
656+
Library:
657+
658+
```ts
659+
await renderTemplate({
660+
htmlPath: "examples/use-cases/orbit-social-post.html",
661+
cssPath: "examples/use-cases/orbit-social-post.css",
662+
modifications: JSON.parse(await readFile("examples/use-cases/orbit-social-mint.json", "utf8")),
663+
viewport: { width: 1080, height: 1080 },
664+
output: { path: "examples/use-cases/orbit-social-mint.png" },
665+
});
666+
```
667+
668+
Result:
669+
670+
![Orbit mint social post result](./examples/use-cases/orbit-social-mint.png)
671+
672+
#### Stone Story Post
673+
674+
CLI:
675+
676+
```bash
677+
npm run dev -- template examples/use-cases/orbit-social-post.html \
678+
--css examples/use-cases/orbit-social-post.css \
679+
--modify-file examples/use-cases/orbit-social-stone.json \
680+
--out examples/use-cases/orbit-social-stone.png \
681+
--width 1080 \
682+
--height 1080
683+
```
684+
685+
Library:
686+
687+
```ts
688+
await renderTemplate({
689+
htmlPath: "examples/use-cases/orbit-social-post.html",
690+
cssPath: "examples/use-cases/orbit-social-post.css",
691+
modifications: JSON.parse(await readFile("examples/use-cases/orbit-social-stone.json", "utf8")),
692+
viewport: { width: 1080, height: 1080 },
693+
output: { path: "examples/use-cases/orbit-social-stone.png" },
694+
});
695+
```
696+
697+
Result:
698+
699+
![Orbit stone social post result](./examples/use-cases/orbit-social-stone.png)
700+
701+
#### Ink Ideas Post
702+
703+
CLI:
704+
705+
```bash
706+
npm run dev -- template examples/use-cases/orbit-social-post.html \
707+
--css examples/use-cases/orbit-social-post.css \
708+
--modify-file examples/use-cases/orbit-social-ink.json \
709+
--out examples/use-cases/orbit-social-ink.png \
710+
--width 1080 \
711+
--height 1080
712+
```
713+
714+
Library:
715+
716+
```ts
717+
await renderTemplate({
718+
htmlPath: "examples/use-cases/orbit-social-post.html",
719+
cssPath: "examples/use-cases/orbit-social-post.css",
720+
modifications: JSON.parse(await readFile("examples/use-cases/orbit-social-ink.json", "utf8")),
721+
viewport: { width: 1080, height: 1080 },
722+
output: { path: "examples/use-cases/orbit-social-ink.png" },
723+
});
724+
```
725+
726+
Result:
727+
728+
![Orbit ink social post result](./examples/use-cases/orbit-social-ink.png)
729+
529730
### Render Custom HTML with Fit Text
530731

531732
Use custom HTML/CSS when presets are too constrained, but keep `data-clickclick-fit` on important
236 KB
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{ "name": "post", "className": "post post-coral" },
3+
{ "name": "brand", "text": "orbitside" },
4+
{ "name": "title", "html": "Build<br>a <span>signal</span> people<br>notice" },
5+
{ "name": "url", "text": "orbitside.example" }
6+
]
39.3 KB
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{ "name": "post", "className": "post post-indigo" },
3+
{ "name": "brand", "text": "orbitside" },
4+
{ "name": "title", "html": "Give your<br>ideas lift" },
5+
{ "name": "url", "text": "orbitside.example" }
6+
]
27.9 KB
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{ "name": "post", "className": "post post-ink" },
3+
{ "name": "brand", "text": "orbitside" },
4+
{ "name": "title", "html": "Give your<br>ideas lift" },
5+
{ "name": "url", "text": "orbitside.example" }
6+
]
27.8 KB
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[
2+
{ "name": "post", "className": "post post-lime" },
3+
{ "name": "brand", "text": "orbitside" },
4+
{ "name": "title", "html": "Start with<br>the <span>story</span>" },
5+
{ "name": "url", "text": "orbitside.example" }
6+
]
33.4 KB
Loading

0 commit comments

Comments
 (0)