Skip to content

Conversation

@jserv
Copy link
Contributor

@jserv jserv commented Nov 19, 2025

Overview

Replace inline ASCII art with a generated PNG logo for consistent rendering across different markdown viewers and platforms.

Problem

The original inline ASCII art logo in README.md had several issues:

  • Inconsistent line spacing across browsers (excessive spacing in Chrome)
  • CSS styling limitations due to GitHub's markdown sanitization
  • Poor rendering in some terminals and markdown viewers
  • Difficult to maintain consistent appearance

Solution

Convert to PNG image with automated generation:

  1. PNG Logo: Generated Documentation/logo.png (753×299, 5.7KB)
  2. Generation Script: scripts/generate-logo.sh with:
    • Automated extraction from README comment block
    • Font preference system (Intel One Mono → Menlo → Courier)
    • ImageMagick detection (magick/convert)
    • Configurable parameters via environment variables
    • Comprehensive error handling
  3. README Update: Replace <pre> with <img> tag, preserve ASCII art in comment for regeneration

Technical Details

Logo Generation Parameters

Font: Intel One Mono (with fallback chain)
Point size: 15
Interline spacing: -4
Canvas: 1600x (auto-height)
Output: 753×299 PNG (trimmed)

Script Features

  • Font Detection: Automatic selection from preference list
  • Cross-platform: macOS, Ubuntu, Fedora support
  • Configurable: Environment variables for customization
  • Validated: Input validation and error handling
  • Help: --help option with usage examples

Usage

# Generate logo
./scripts/generate-logo.sh

# Custom parameters
POINTSIZE=20 ./scripts/generate-logo.sh

# Help
./scripts/generate-logo.sh --help

Benefits

  • ✅ Consistent rendering across all platforms
  • ✅ Compact file size (5.7KB)
  • ✅ Automated regeneration from source
  • ✅ Professional appearance
  • ✅ Easy to maintain and update

Files Changed

  • README.md: Replace inline ASCII with image reference
  • Documentation/logo.png: Generated logo image
  • scripts/generate-logo.sh: Automated generation script (212 lines)

Testing

Tested with:

  • ImageMagick 7.x (magick command)
  • ImageMagick 6.x (convert command)
  • Intel One Mono, Menlo, Courier fonts
  • macOS environment

The logo displays correctly in GitHub markdown viewer with proper Unicode box drawing character rendering.

@jserv jserv force-pushed the tweak-logo branch 3 times, most recently from 9b0b81a to 320f12a Compare November 19, 2025 20:26
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

@jserv jserv force-pushed the tweak-logo branch 3 times, most recently from 5c0bf70 to 9c14a2c Compare November 19, 2025 21:38
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
This converts README logo from inline HTML <pre> block to PNG image for
better rendering consistency across platforms. It adds automated logo
generation script using ImageMagick with Intel One Mono font.
- README.md: Replace <pre> with <img> tag, move ASCII art to comment
- scripts/generate-logo.sh: Automated PNG generation with font fallback
@github-actions
Copy link

Linmo CI Test Results

Overall Status: ✅ passed
Timestamp: 2025-11-19T21:53:04+00:00

Toolchain Results

Toolchain Build Crash Test Functional
GNU ✅ passed ✅ passed ✅ passed
LLVM ✅ passed ⏭️ skipped ⏭️ skipped

Application Tests

App GNU LLVM
cond ✅ passed ⏭️ skipped
coop ✅ passed ⏭️ skipped
cpubench ✅ passed ⏭️ skipped
echo ✅ passed ⏭️ skipped
hello ✅ passed ⏭️ skipped
mqueues ✅ passed ⏭️ skipped
mutex ✅ passed ⏭️ skipped
pipes ✅ passed ⏭️ skipped
pipes_small ✅ passed ⏭️ skipped
pipes_struct ✅ passed ⏭️ skipped
prodcons ✅ passed ⏭️ skipped
progress ✅ passed ⏭️ skipped
rtsched ✅ passed ⏭️ skipped
semaphore ✅ passed ⏭️ skipped
suspend ✅ passed ⏭️ skipped
test64 ✅ passed ⏭️ skipped
test_libc ✅ passed ⏭️ skipped
timer ✅ passed ⏭️ skipped
timer_kill ✅ passed ⏭️ skipped

Functional Test Details

Test GNU LLVM
mutex:data_consistency ✅ passed ⏭️ skipped
mutex:fairness ✅ passed ⏭️ skipped
mutex:mutual_exclusion ✅ passed ⏭️ skipped
mutex:overall ✅ passed ⏭️ skipped
semaphore:all_tests_passed! ✅ passed ⏭️ skipped

Report generated from test-summary.toml

@sysprog21 sysprog21 deleted a comment from github-actions bot Nov 19, 2025
@github-actions
Copy link

Linmo CI Test Results

Overall Status: ✅ passed
Timestamp: 2025-11-19T21:55:25+00:00

Toolchain Results

Toolchain Build Crash Test Functional
GNU ✅ passed ✅ passed ✅ passed
LLVM ✅ passed ⏭️ skipped ⏭️ skipped

Application Tests

App GNU LLVM
cond ✅ passed ⏭️ skipped
coop ✅ passed ⏭️ skipped
cpubench ✅ passed ⏭️ skipped
echo ✅ passed ⏭️ skipped
hello ✅ passed ⏭️ skipped
mqueues ✅ passed ⏭️ skipped
mutex ✅ passed ⏭️ skipped
pipes ✅ passed ⏭️ skipped
pipes_small ✅ passed ⏭️ skipped
pipes_struct ✅ passed ⏭️ skipped
prodcons ✅ passed ⏭️ skipped
progress ✅ passed ⏭️ skipped
rtsched ✅ passed ⏭️ skipped
semaphore ✅ passed ⏭️ skipped
suspend ✅ passed ⏭️ skipped
test64 ✅ passed ⏭️ skipped
test_libc ✅ passed ⏭️ skipped
timer ✅ passed ⏭️ skipped
timer_kill ✅ passed ⏭️ skipped

Functional Test Details

Test GNU LLVM
mutex:data_consistency ✅ passed ⏭️ skipped
mutex:fairness ✅ passed ⏭️ skipped
mutex:mutual_exclusion ✅ passed ⏭️ skipped
mutex:overall ✅ passed ⏭️ skipped
semaphore:all_tests_passed! ✅ passed ⏭️ skipped

Report generated from test-summary.toml

@github-actions
Copy link

Linmo CI Test Results

Overall Status: ✅ passed
Timestamp: 2025-11-19T21:56:31+00:00

Toolchain Results

Toolchain Build Crash Test Functional
GNU ✅ passed ✅ passed ✅ passed
LLVM ✅ passed ⏭️ skipped ⏭️ skipped

Application Tests

App GNU LLVM
cond ✅ passed ⏭️ skipped
coop ✅ passed ⏭️ skipped
cpubench ✅ passed ⏭️ skipped
echo ✅ passed ⏭️ skipped
hello ✅ passed ⏭️ skipped
mqueues ✅ passed ⏭️ skipped
mutex ✅ passed ⏭️ skipped
pipes ✅ passed ⏭️ skipped
pipes_small ✅ passed ⏭️ skipped
pipes_struct ✅ passed ⏭️ skipped
prodcons ✅ passed ⏭️ skipped
progress ✅ passed ⏭️ skipped
rtsched ✅ passed ⏭️ skipped
semaphore ✅ passed ⏭️ skipped
suspend ✅ passed ⏭️ skipped
test64 ✅ passed ⏭️ skipped
test_libc ✅ passed ⏭️ skipped
timer ✅ passed ⏭️ skipped
timer_kill ✅ passed ⏭️ skipped

Functional Test Details

Test GNU LLVM
mutex:data_consistency ✅ passed ⏭️ skipped
mutex:fairness ✅ passed ⏭️ skipped
mutex:mutual_exclusion ✅ passed ⏭️ skipped
mutex:overall ✅ passed ⏭️ skipped
semaphore:all_tests_passed! ✅ passed ⏭️ skipped

Report generated from test-summary.toml

@jserv jserv merged commit b106e8c into main Nov 19, 2025
3 checks passed
@jserv jserv deleted the tweak-logo branch November 19, 2025 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants