# huggingface/blog: How the Official Hugging Face Blog Accepts and Publishes Contributions

> The huggingface/blog repository is the source of record for all articles at hf.co/blog, providing a Git-based workflow for Hugging Face team members and approved collaborators to write, review, and publish machine learning content. External contributors who want to reach the same audience without a formal collaboration can use the community blog instead.

**huggingface/blog** — Public repo for HF blog posts

- Repository: https://github.com/huggingface/blog
- Website: https://hf.co/blog
- Stars: 3,537 · Forks: 1,053
- Language: Jupyter Notebook
- License: not declared
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/huggingface-blog

## What the huggingface/blog Repository Does

The huggingface/blog repository on GitHub is the authoring and publishing pipeline for the official Hugging Face blog at hf.co/blog. Every article that appears there starts as a Markdown file in this repository. The repository does not contain the Hugging Face platform itself and is not a software library; it is a structured collection of article files, assets, and metadata that the Hugging Face Hub reads to generate the live blog.

The intended audience is Hugging Face employees, researchers writing in collaboration with Hugging Face, and anyone who has arranged a formal collaboration post. The README states clearly that external contributors without a collaboration post should use the community blog at huggingface.co/blog-explorers. Posts submitted there appear on the same main page as articles from this repository, so the community route is a real option, not a fallback.

## The Pull-Request Workflow from Draft to Live Article

The README describes an eight-step process. A contributor creates a branch named in the format YourName/Title, writes a Markdown file with a short filename (the filename becomes the article URL), creates a matching folder in assets for the thumbnail, edits _blog.yml to register the post, and opens a pull request. When the pull request merges, the Hub publishes the article automatically.

The Markdown file requires a YAML front matter block at the top:

```yaml
---
title: "PUT YOUR TITLE HERE"
thumbnail: /blog/assets/101_decision-transformers-train/thumbnail.gif
authors:
- user: your_hf_user
- user: your_coauthor
---
```

After the main heading, the Hub automatically inserts the publication date, an "Update on GitHub" button, and the author avatars based on the handles listed in the front matter. The filename matters for SEO because it maps directly to the URL path under hf.co/blog.

## Managing Images, Thumbnails, and Non-Thumbnail Assets

The repository separates thumbnail images from all other images. Thumbnails go in the numbered folder under assets (for example, assets/123_intro-rl). The README recommends creating a 1300x650 image and filling in the provided Figma template or the SVG thumbnail template in assets/thumbnail-template.svg.

All other images for an article go into a mirrored folder in the separate huggingface/documentation-images dataset on the Hub. This keeps the main repository from becoming bloated with binary content. The README explicitly instructs contributors to compress images using a tool such as tinypng.com or iloveimg.com to avoid slow page loading.

The asset folder in assets can optionally use a numerical prefix (for example, 123_intro-rl) for rough ordering. The README notes that the number is not required and is not critical if two concurrent articles happen to use the same number.

## LaTeX, Figure Captions, Highlight Boxes, and Space Embeds

The repository supports several formatting extensions beyond standard Markdown.

LaTeX is rendered using double-backslash delimiters around the expression. The README shows an inline example where the expression Q(S_t, A_t) is written as a LaTeX inline formula and renders as a mathematical symbol in the published article. This covers the common case of embedding equations in ML research posts.

Figure captions can be added either as a Markdown table around an image or as HTML. The README links to examples of both approaches in existing articles. The HTML approach gives more layout control; the Markdown table approach is faster to write.

Highlight boxes are available for calling out important notes. The README links to a pull request showing the syntax and recommends using them sparingly.

To embed a Hugging Face Space, contributors paste a script tag loading the Gradio JavaScript library followed by a gradio-app element:

```
<script
	type="module"
	src="https://gradio.s3-us-west-2.amazonaws.com/4.36.1/gradio.js"
></script>

<gradio-app theme_mode="light" space="derek-thomas/hugging-face-blog-assistant"></gradio-app>
```

This approach ties the embed to a specific Gradio version in the src attribute, which could break if that version is removed from the CDN. The gradio-app element takes a space attribute pointing to the username/space-name identifier on the Hub. Contributors who want to preview rendering before submitting can use the community blog editor at huggingface.co/new-blog, which provides a live preview, or the blog assistant Space at derek-thomas/hugging-face-blog-assistant for rendering tricky Markdown blocks such as caption figures and tip formatting.

## Limitation: External Contributions Are Routed Elsewhere

The repository is not open to arbitrary external contributions. The README instructs anyone whose post is not a collaboration with Hugging Face to use the community blog instead. This is a deliberate design choice: the official blog is tied to the Hugging Face brand, and posts there carry an implicit editorial association with the organization.

For contributors who do proceed through the repository, the process involves writing content directly in Markdown without a rich editing environment other than the community blog editor preview. There is no automated spell-check, no built-in image optimization step, and no preview server that can be run locally from this repository. The README does not document a local preview workflow; it points to the blog assistant Space for rendering help.

The repository also stores no version history of the published site beyond what Git tracks. There is no staging environment documented in the README.

## Comparison with Independent Publishing Platforms

Platforms such as Medium and Substack let any author publish immediately without going through a pull request review, and they provide rich in-browser editors with image hosting. The trade-off is that posts on those platforms live under the platform's domain and branding rather than hf.co/blog.

The huggingface/blog workflow keeps authorship inside Git, which means articles are version-controlled, reviewable via standard pull request tooling, and permanently associated with the Hugging Face domain. For Hugging Face team members who already use Git daily, the overhead is low. For an external researcher who wants visibility at hf.co/blog and is willing to follow the contribution process, the community blog route at huggingface.co/blog-explorers provides the same audience reach without requiring a formal collaboration arrangement.

## Repository Structure: _blog.yml, _tags.yml, and Article Files

Aside from the article Markdown files and the assets directory, the repository contains several metadata files that govern how the Hub processes the blog.

_blog.yml is the central index. The README's step six instructs contributors to add an entry there when their article is ready. Without that entry, the Hub will not pick up the new post even if the Markdown file is present. _tags.yml and _events.yml serve analogous roles for tag definitions and event posts. _redirects.yml handles URL redirects when articles are renamed or moved.

The top-level directory listing shows hundreds of Markdown files alongside a handful of Jupyter notebooks. The primary language listed for the repository is Jupyter Notebook, reflecting that some articles are rendered from .ipynb files. Articles on training code, model evaluations, and dataset construction sometimes use notebooks so that the code and prose are kept in a single file that can be executed independently.

Contributors are responsible for keeping their article file names short, since those names become the URL slugs at hf.co/blog. The README gives the example of an article titled "Introduction to Deep Reinforcement Learning" using the filename intro-rl.md, which would publish at hf.co/blog/intro-rl.

## Repository Activity and Licensing

The last push to huggingface/blog was on 2026-09-23, which is consistent with an actively maintained publication. The repository has no GitHub releases, since versioning applies to individual articles rather than the repository as a whole. The repository lists no license in the metadata; contributors should verify the terms before incorporating content from it.

The tooling for writing articles requires only a text editor and the ability to create a pull request on GitHub. There is no build system, no local server, and no required framework installation. The blog assistant Space and the community blog editor handle preview and rendering, keeping the local contribution workflow simple.

## Conclusion

The huggingface/blog repository suits Hugging Face team members and invited collaborators who want their articles to appear at hf.co/blog under the official brand. The publication workflow is light: a branch, a Markdown file, an asset folder, and a pull request. Before opening that pull request, contributors should verify that images are compressed to avoid slow page loads, that the YAML front matter includes the correct author handles, and that any LaTeX or Gradio embeds render correctly in the community blog editor preview. External contributors who have not arranged a collaboration post should go to huggingface.co/blog-explorers instead; posts submitted there appear on the same main blog page.

## FAQ

### What is the primary goal of Hugging Face as discussed in the blog?

The blog covers machine learning research, tools, and tutorials from Hugging Face and its collaborators. The README does not state a single primary goal for the blog itself, but the range of article files in the repository spans model releases, training methods, safety research, and developer tooling.

### Can anyone submit an article to the Hugging Face blog via this repository?

The README states that external contributors whose post is not a collaboration with Hugging Face should use the community blog at huggingface.co/blog-explorers instead of this repository. Community posts appear on the same main blog page.

### How does the Hugging Face blog handle image hosting for articles?

Thumbnail images go into a numbered folder under the assets directory in this repository. All other article images belong in a mirrored folder in the separate huggingface/documentation-images dataset on the Hub, which keeps the main repository from accumulating large binary files.

## Sources

- [huggingface/blog on GitHub](https://github.com/huggingface/blog)
- [Issues](https://github.com/huggingface/blog/issues)
- [Project website](https://hf.co/blog)
- [README](https://github.com/huggingface/blog/blob/main/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/huggingface-blog
