Skip to content
samizdata-coPublic

About

A cookiecutter template for data journalism projects

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

17 Commits

Folders and files

Repository files navigation

A cookiecutter template for data journalism projects. Named after the Romanian word for sourdough starter.

Creating a project

Navigate to the directory where you want to create a new project and run the following command.

uvx cookiecutter gh:nicucalcea/maia

Testing

Template checks can be run with uv run -m unittest discover -s tests -v.

Quarto branding

Generated projects vendor the pinned SAMIZDATA Quarto Brand Extension from samizdata-co/brand@v0.1.0. The extension is committed into each generated project, so rendering never fetches a mutable remote dependency.

Matching Space Grotesk and Work Sans files are included for offline PDF rendering, with PDF-only composition in samizdata-pdf.tex and samizdata-before-body.tex. Update the template's extension deliberately with quarto update extension samizdata-co/brand@<tag> and regenerate/test a project before committing.

Structure

Here's the current folder structure.

.
├── data
│   ├── handmade                        # data created by hand
│   ├── interim                         # various bits and pieces, i.e. for transfer between tools
│   ├── processed                       # final datasets
│   └── raw                             # raw, immutable data
├── etl                                 # scripts to clean and process data
├── notebooks                           # analysis of already cleaned data
│   └── analysis.ext                    # Quarto, Jupyter or Observable notebook
├── output                              # publishable notebooks, dashboards, charts, stories, etc.
├── _extensions/samizdata-co/samizdata # pinned SAMIZDATA Quarto brand
├── fonts                               # offline PDF copies of brand fonts
├── _quarto.yml                         # Quarto config
├── .gitignore                          # files to be ignored by version control
├── .Rprofile                           # (R) environment variables
├── {{cookiecutter.project_slug}}.Rproj # (R) RStudio project
├── package.json                        # (Observable) run scripts
├── README.md                           # boilerplate with instructions, sources, etc
└── story.md                            # article

About

A cookiecutter template for data journalism projects

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages