A Ruby gem that parses CSS/JS comments to generate customizable style guide documentation from markdown.
Hologram is a Ruby gem that extracts specially formatted comments from CSS, Sass, Less, Stylus, and JavaScript files to build living style guides. It separates content generation from presentation, allowing teams to maintain design systems with live, executable code examples directly embedded in the documentation.
Frontend developers, design system teams, and UI engineers who need to create and maintain living style guides with documentation tightly coupled to their source code.
Developers choose Hologram because it keeps documentation inline with code, supports live examples that render actual components, and offers full customization of the style guide's appearance through templates, unlike many opinionated or pre-styled alternatives.
A markdown based documentation system for style guides.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Documentation is written directly in source code comments using /*doc */ blocks, keeping it synchronized with the code and reducing maintenance overhead.
Supports executable snippets like html_example and js_example that render interactively in the style guide, making components tangible and testable.
Users control the entire output with ERB templates for headers, footers, and code examples, allowing for brand-consistent and tailored style guides.
Custom code example renderers can be added for new languages, such as CoffeeScript, by defining them in the code_example_renderers folder.
As a Ruby gem, it requires Ruby and Bundler setup, which can be a barrier for teams using other tech stacks like Node.js or modern JavaScript frameworks.
The gem only generates content; users must provide all styling, HTML structure, and assets, adding significant initial development time.
The hologram_config.yml file has numerous optional settings and requires careful path management, which can be error-prone and tedious to maintain.