This is a comprehensive style gallery demonstrating all common markup elements used on the Latacora website. This post serves multiple purposes:
- Visual review of styling for headings, lists, blockquotes, and other elements
- Testing unlisted post functionality (#276)
- Demonstrating heading sizes and table of contents (#266)
- Quick reference for content authors
Headings
The following demonstrates all heading levels:
Heading 1
This is the largest heading level, typically reserved for the page title (set in front matter).
Heading 2
Major section headings use H2. These appear in the table of contents.
Heading 3
Subsection headings use H3. These provide structure within major sections.
Heading 4
Further subdivision uses H4. Less commonly used but available.
Heading 5
Even more specific subsections can use H5.
Heading 6
The smallest heading level is H6, rarely needed in practice.
Paragraphs and text formatting
This is a regular paragraph with bold text, italic text, and bold
italic text. You can also use inline code for technical terms, commands,
or code snippets within sentences.
Paragraphs are separated by blank lines. This is the second paragraph, demonstrating the default spacing between paragraphs.
You can use strikethrough text to indicate deletions or corrections.
Highlighted text can draw attention to important points (if
supported by the theme).
Lists
Unordered lists
Basic unordered list:
- First item
- Second item
- Third item
- Fourth item
Nested unordered list:
- Top level item
- Nested item 1
- Nested item 2
- Deeply nested item
- Another deeply nested item
- Back to second level
- Another top level item
- With nested content
- And deeper nesting
- With nested content
Ordered lists
Basic ordered list:
- First step
- Second step
- Third step
- Fourth step
Nested ordered list:
- Major step one
- Sub-step 1a
- Sub-step 1b
- Major step two
- Sub-step 2a
- Detailed step 2a-i
- Detailed step 2a-ii
- Sub-step 2b
- Sub-step 2a
- Major step three
Mixed lists
You can combine ordered and unordered lists:
- First numbered item
- Bulleted sub-item
- Another bulleted sub-item
- Second numbered item
- More bullets
- Nested numbers
- Within bullets
- More bullets
Task lists
GitHub-flavored Markdown supports task lists:
- Incomplete task
- Completed task
- Another incomplete task
- Completed subtask
- Incomplete subtask
Blockquotes
Simple blockquote:
This is a blockquote. It’s typically used for quotations, callouts, or emphasized text that needs to stand apart from the main content.
Nested blockquote:
This is the outer quote.
This is a nested quote within the first quote.
It can contain multiple paragraphs.
Back to the outer quote level.
Blockquote with formatting:
You can use bold, italic, and
codewithin blockquotes.
- Even lists
- Work within
- Blockquotes
# And code blocks def hello(): print("Hello from a blockquote!")
Code blocks
Inline code: Use git status to check your working directory.
Fenced code block without syntax highlighting:
This is a plain code block
No syntax highlighting
Just monospace text
Python with syntax highlighting:
def fibonacci(n):
"""Calculate the nth Fibonacci number."""
if n <= 1:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
# Example usage
for i in range(10):
print(f"F({i}) = {fibonacci(i)}")
JavaScript with syntax highlighting:
// Event listener for theme toggle
document.getElementById("theme-toggle").addEventListener("click", () => {
const currentTheme = document.documentElement.getAttribute("data-theme");
const newTheme = currentTheme === "dark" ? "light" : "dark";
document.documentElement.setAttribute("data-theme", newTheme);
localStorage.setItem("theme", newTheme);
});
Shell commands:
# Clone the repository
git clone https://github.com/latacora/latacora.github.io.git
# Navigate to the directory
cd latacora.github.io
# Run the development server
bb dev
Clojure code:
(defn greet
"Greet a person by name."
[name]
(str "Hello, " name "!"))
(greet "World")
;; => "Hello, World!"
Tables
Basic Markdown Tables
Simple table:
| Header 1 | Header 2 | Header 3 |
|---|---|---|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
| Cell 7 | Cell 8 | Cell 9 |
Table with alignment:
| Left Aligned | Center Aligned | Right Aligned |
|---|---|---|
| Left | Center | Right |
| Text | Text | Text |
| 1 | 2 | 3 |
Larger example markdown table:
| ID | Service Name | Description | Priority | Status | Est. Hours |
|---|---|---|---|---|---|
| 001 | Security Assessment | Comprehensive evaluation of security posture including infrastructure review and code analysis | High | ✅ Implemented | 120 |
| 002 | Penetration Testing | Simulated attack scenarios to identify vulnerabilities in systems and applications | High | ✅ Implemented | 80 |
| 003 | Incident Response | 24/7 rapid response to security incidents with containment and remediation support | Critical | 🚧 In Progress | 40 |
| 004 | Security Training | Comprehensive training programs for development and operations teams | Medium | ✅ Implemented | 24 |
| 005 | Compliance Audit | SOC 2, ISO 27001, and other compliance framework assessments | High | ✅ Implemented | 60 |
Tables with Tailwind Column Widths
To control column widths precisely, use HTML tables with Tailwind classes. Here are various approaches:
Fixed Width Columns
Use w-{size} utilities to set specific pixel/rem widths:
| Narrow (w-32) | Medium (w-48) | Wide (w-64) |
|---|---|---|
| 8rem | 12rem | 16rem |
| Compact | Standard size for most content | Great for longer descriptions or detailed text |
Fractional Width Columns
Use w-1/{n} utilities for proportional widths:
| Quarter (w-1/4) | Half (w-1/2) | Quarter (w-1/4) |
|---|---|---|
| 25% | 50% - Takes up half the table width | 25% |
| ID | Description of the item or feature | Status |
Mixed Width Columns
Combine auto-width with specific widths for flexible layouts:
| Auto | Two-thirds (w-2/3) | Fixed (w-24) |
|---|---|---|
| Auto-sized | This column takes up most of the space and is perfect for long-form content, descriptions, or any text that needs room to breathe. | 6rem |
| #1 | Main content area with plenty of space for detailed information | ✅ |
Minimum Width Columns
Use min-w-{size} to ensure columns don’t get too narrow:
| Min 8rem | Min 12rem | Auto |
|---|---|---|
| Short | Medium length content | Flexible |
| Won't shrink below 8rem | Won't shrink below 12rem | Adapts to content |
Comparison: Full-Width vs. Auto-Width Tables
Full-width table with w-full on the table element:
| Column 1 | Column 2 |
|---|---|
| Data | Data |
Auto-width table with w-auto on the table element:
| Column 1 | Column 2 |
|---|---|
| Data | Data |
Advanced Example: Data Table with Precise Widths
| ID | Service | Description | Status | Price |
|---|---|---|---|---|
| 001 | Security Assessment | Comprehensive evaluation of security posture including infrastructure review, code analysis, and threat modeling | ✅ | $25,000 |
| 002 | Penetration Testing | Simulated attack scenarios to identify vulnerabilities in systems and applications | ✅ | $35,000 |
| 003 | Incident Response | 24/7 rapid response to security incidents with containment and remediation support | 🚧 | Custom |
Key Tailwind classes for table column widths:
w-{size}: Fixed width (e.g.,w-32,w-48,w-64,w-96)w-1/{n}: Fractional width (e.g.,w-1/2,w-1/3,w-1/4,w-2/3,w-3/4)w-auto: Auto width based on contentw-full: 100% widthmin-w-{size}: Minimum width (e.g.,min-w-[8rem],min-w-[200px])max-w-{size}: Maximum width (e.g.,max-w-xs,max-w-md,max-w-lg)
Usage notes:
- Apply width classes to
<th>or<td>elements, not the table itself (unless controlling overall table width) - Use
w-fullon the<table>element for full-width tables - Use
w-autoon the<table>element for content-sized tables - Combine with other Tailwind utilities for borders, padding, alignment, etc.
- For arbitrary values not in Tailwind’s scale, use bracket notation:
min-w-[200px]
Links and Images
Links
Reference-style link: Latacora and GitHub
Images
Standard image with alt text:
Image with title:
![]()
Horizontal rules
Horizontal rules can separate major sections:
Different syntax for the same result:
And another variation:
Math (KaTeX)
The site automatically enables KaTeX when LaTeX math is detected.
Inline math: The quadratic formula is $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$.
Display math:
$$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$
Matrix example:
Technical note about matrices: The matrix above is wrapped in a <div> tag
to prevent markdown’s goldmark processor from consuming the backslashes before
KaTeX sees them. In LaTeX, \\ creates line breaks in matrices, but markdown
treats backslashes as escape characters. By wrapping the math in raw HTML
(which works because unsafe = true in hugo.toml), the LaTeX syntax passes
through unchanged to KaTeX. Without the wrapper, you would need to
double-escape as \\\\, which is less readable.
Unlisted post behavior
In production builds:
- This post should NOT appear in blog lists
- This post SHOULD be accessible via direct URL:
/blog/2024/01/15/test-unlisted-post/
In development mode (bb dev):
- This post SHOULD appear in blog lists (for easy access during development)
- This post SHOULD be accessible via direct URL
HTML in Markdown
Since the site uses goldmark in unsafe mode, you can embed HTML:
Click to expand
This content is hidden by default and revealed when clicked.
- You can include
- Any Markdown
- Inside HTML details
print("Even code blocks!")
End of Style Gallery - This comprehensive demonstration should help review all styling elements across the Latacora website.