Guess The Case
GTC
DevReferenceStyle Guide

Post Manager (Dev Only)

2025-01-01
8 min read
0 views

1. Typography & Content Blocks

Basic Formatting

Code:

**Bold Text**
*Italic Text*
<u>Underline</u>
~~Strikethrough~~
`Inline Code`

Result:

  • Bold Text
  • Italic Text
  • Underline
  • Strikethrough
  • Inline Code

Custom Text Styling (<Text>)

Use the <Text> component to apply inline Tailwind classes.

Code:

<Text className="text-blue-600 font-bold">Blue Bold Text</Text>
<Text className="bg-yellow-200 text-yellow-900 px-1 rounded">Highlight</Text>
<Text className="bg-green-100 text-green-700 px-2 py-0.5 rounded-full text-xs font-bold uppercase border border-green-200">Status Badge</Text>

Result:

  • Blue Bold Text
  • Highlight
  • Status Badge

Sections & Blocks (<Section>)

Use ! to force text colors inside the block.

Code:

<Section className="!text-purple-900 bg-purple-50 border-l-4 border-purple-500 p-4 my-4 rounded-r">
  **Info Block:** This section uses `bg-purple-50` and `border-l-4`.
  1. Even lists inside inherit the color.
  2. Because we used `!text-purple-900`.
</Section>

Result:

Info Block: This section uses bg-purple-50 and border-l-4.

  1. 1.
    Even lists inside inherit the color.
  2. 2.
    Because we used !text-purple-900.

2. Links & Downloads

Standard & External Links

Code:

[Internal Link](/about)
[External Link](https://google.com)

Result:

Open in New Tab (+newTab)

Append +newTab to the URL to force it to open in a new window.

Code:

[Open in New Tab](/about+newTab)

Result:
Open in New Tab

Download Link (With Counter)

Use the format /download-page?id=ID to automatically trigger the counter.

Code:

[Download Syllabus](/download-page?id=1001)

Result:
Download Syllabus..

Alignments

The reason text-justify isn't working is that your <Text> component renders an HTML <span> tag, which is an inline element by default. The CSS property text-align: justify (which text-justify applies) only works on block-level elements (like <div> or <p>).

justify

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pretium, odio sed varius fermentum, urna ligula vulputate erat, vel facilisis mauris lorem a nunc. Sed dignissim, ipsum non hendrerit malesuada, lacus justo faucibus tortor, id interdum sem magna non neque.

centre

In hac habitasse platea dictumst. Donec euismod lorem vel tellus tempor, vitae pharetra mi porttitor. Pellentesque ultricies, mauris nec lacinia eleifend, urna libero malesuada ante, quis porttitor lorem tellus vel arcu.

right

Vestibulum dapibus scelerisque justo, et pulvinar sem fermentum id. Nullam volutpat, nisl a tristique lacinia, risus sem mollis dolor, in ullamcorper est nibh ac sapien. Vivamus faucibus interdum sagittis. Suspendisse potenti.

left

Phasellus tincidunt, risus in iaculis ullamcorper, lacus lorem faucibus leo, non cursus lectus libero non nulla. Integer euismod imperdiet justo, eget malesuada ligula tincidunt non. Donec vitae lectus ut magna ultricies rhoncus. Vestibulum id ligula vitae enim tincidunt varius.

BoxHeader

Default

Code:

<BoxHeader>Default BoxHeader</BoxHeader>

Result:

Default BoxHeader

custom: (use !)

Code:

<BoxHeader className="!bg-blue-700">Default BoxHeader</BoxHeader>

Result:

Default BoxHeader


3. Lists

Standard Ordered & Unordered

Code:

1. First Item
2. Second Item

* Bullet A
* Bullet B

Result:

  1. 1.
    First Item
  2. 2.
    Second Item
  • Bullet A
  • Bullet B

Loose but not loose list

One space will treat as normal list, but in case of two, it will treat as loose least

  1. 1.
    item-1
  2. 2.
    item-2
    Description
  3. 3.
    item-3

Loose List (More Spacing)

Add blank lines between items.

Code:

1. **Step One**
   Description here.


2. **Step Two**
   Description here.

Result:

  1. 1.

    Step One
    Description here.

  2. 2.

    Step Two
    Description here.

Customized Markers (<List>)

Code:

<List marker="text-blue-600 font-bold">
1. Step One (Bold Blue)
2. Step Two (Bold Blue)
</List>

Result:

  1. 1.
    Step One (Bold Blue)
  2. 2.
    Step Two (Bold Blue)

Custom Padding

Code:

<List className="pl-20">
1. This list has extra indentation (pl-20).
</List>

Result:

  1. 1.
    This list has extra indentation (pl-20).

Nested Lists

Code:

1. Parent Item
    * Child Item
        * Grandchild
2. Parent Item 2

Result:

  1. 1.
    Parent Item
    • Child Item
      • Grandchild
  2. 2.
    Parent Item 2

4. Accordions

Default Accordion

Code:

<Accordion title="Expanded by Default">
  The content is immediately visible.
</Accordion>

Result:

Expanded by Default

The content is immediately visible.

Closed Accordion

Code:

<Accordion title="Click to Reveal" close>
  This content was hidden.
</Accordion>

Result:

Click to Reveal

This content was hidden.

Colored Header

Code:

<Accordion 
  title="Critical Warning" 
  close
  summaryClassName="!bg-red-600 hover:!bg-red-700 !text-white"
>
  Alert content here.
</Accordion>

Result:

Critical Warning

Alert content here.

Nested Accordion (Visual Hierarchy)

We use summaryClassName on the inner accordion to give it a distinct look from the parent.

Code:

<Accordion title="Outer (Default Dark)" close>
  This is the outer content.
  
  <Accordion 
    title="Inner (Light/Distinct)" 
    close 
    className="ml-4 mt-4"
    summaryClassName="!bg-slate-100 dark:!bg-slate-800 !text-slate-900 dark:!text-slate-200"
  >
    This is nested inside! It uses a lighter background to distinguish it from the parent.
  </Accordion>
</Accordion>

Result:

Outer (Default Dark)

This is the outer content.

Inner (Light/Distinct)

This is nested inside! It uses a lighter background to distinguish it from the parent.


5. Images & Figures

Standard Image

Code:

![Placeholder Image](https://picsum.photos/id/15/800/400)

Result:
Placeholder ImagePlaceholder Image

Custom Figure

Use <Figure> for styling and explicit captions.

Code:

<Figure 
  src="https://picsum.photos/id/28/800/400" 
  alt="Scenery"
  caption="Figure 1: Custom border and blue caption."
  imgClassName="border-4 border-blue-100 dark:border-slate-700 shadow-lg"
  captionClassName="text-blue-600 font-semibold not-italic"
  width="50%"
  align="center"
/>

Result:

SceneryFigure 1: Custom border and blue caption.

6. Buttons

Icons are provided by Lucide React. Available icons: download, external, arrow, chevron, file, play, info, alert, check.
You can use any icon name from the Lucide website. You can use kebab-case or PascalCase.

Variants

Code:

<ButtonGroup>
  <Button href="#">Primary</Button>
  <Button href="#" variant="secondary">Secondary</Button>
  <Button href="#" variant="outline">Outline</Button>
  <Button href="#" variant="ghost">Ghost</Button>
  <Button href="#" variant="danger">Danger</Button>
</ButtonGroup>

Result:

Sizes & Icons

Code:

<ButtonGroup>
  <Button href="#" size="sm" icon="play">Small Play</Button>
  <Button href="#" size="md" icon="info">Medium Info</Button>
  <Button href="#" size="lg" icon="arrow">Large Arrow</Button>
  <DownloadButton href="#">Download</DownloadButton>
</ButtonGroup>

Result:

Layouts (Vertical)

Code:

<ButtonGroup vertical>
  <Button href="#" className="w-full sm:w-auto">Option 1</Button>
  <Button href="#" variant="secondary" className="w-full sm:w-auto">Option 2</Button>
</ButtonGroup>

Result:


7. Tables

A. CSV Table (Easiest)

Code:

<CsvTable 
  caption="Class Routine" 
  data={`
    Time, Subject, Teacher
    10:00 AM, Anatomy, Dr. Smith
    11:00 AM, Physiology, Dr. Doe
  `} 
/>

Result:

TimeSubjectTeacher
10:00 AMAnatomyDr. Smith
11:00 AMPhysiologyDr. Doe
Class Routine

B. Markdown Table (TableBox)

Code:

<TableBox caption="System Comparison">

| Feature | Basic | Pro |
| :--- | :---: | ---: |
| Users | 1 | Unlimited |
| Storage | 5GB | 1TB |

</TableBox>

Result:

FeatureBasicPro
Users1Unlimited
Storage5GB1TB
System Comparison

8. Tailwind Reference

Common Utility Classes

TypeClass NameEffect
Font Weightfont-normalNormal (400)
font-mediumMedium (500)
font-semiboldSemibold (600)
font-boldBold (700)
Text Colortext-slate-900Dark Grey (Black)
text-gray-500Muted Grey
text-blue-600Standard Blue
text-red-600Standard Red
text-whiteWhite
Backgroundbg-whiteWhite BG
bg-slate-100Light Grey BG
bg-blue-500Blue BG
Bordersborder1px Border
border-22px Border
border-44px Border
rounded-lgLarge Radius
rounded-fullCircle/Pill

Full Spacing Scale (Padding/Margin)

These values work for p (padding), m (margin), gap, h (height), w (width), etc.

ClassSize (rem)Size (px)
000px
px1px1px
0.50.1252px
10.254px
1.50.3756px
20.58px
2.50.62510px
30.7512px
3.50.87514px
4116px
51.2520px
61.524px
71.7528px
8232px
92.2536px
102.540px
112.7544px
12348px
143.556px
16464px
20580px
24696px
287112px
328128px
369144px
4010160px
4411176px
4812192px
5213208px
5614224px
6015240px
6416256px
7218288px
8020320px
9624384px
Tailwind Spacing Scale (1 unit = 0.25rem = 4px)
HomeClassAI BookPostsQB Archive