A clean, minimalist WordPress theme for personal academic publishing.
Nota turns WordPress into a simple scholarly writing platform with margin sidenotes, multi-format citations (APA, MLA, Chicago, BibTeX), PDF and EPUB export, dark mode, reading mode, and optional project pages with team management and HAL publications integration.
Nota was originally built as a custom theme for Politics of Language, a linguistics and anthropology research project.
The theme's design philosophy is inspired by the typographic traditions of academic publishing: serif body text, generous margins, marginal annotations (sidenotes), and a distraction-free reading experience.
- Sidenotes -- WordPress footnotes (WP 6.3+) are automatically converted to Tufte-style margin notes on desktop and tap-to-reveal popovers on mobile
- Reading mode -- A distraction-free view that hides navigation and focuses on the article
- Dark mode -- Toggle between light and dark themes; respects system preference and persists via localStorage
- Multi-format citations -- Generate citations for any article in APA 7th, MLA 9th, Chicago 17th, and BibTeX (BibLaTeX
@online) formats - Selection citations -- Select any passage and cite it with a paragraph locator
- PDF and EPUB export -- Download any post as a valid PDF or EPUB file.
- References sidebar -- Display bibliographic references alongside articles (via ACF fields)
- Project showcase template -- A structured page for research projects with:
- Key information (PI, period, funding, institution)
- Team member profiles with links
- Research themes/topics
- HAL publications integration (live from the HAL open-access repository)
- Manual publications management
- Native meta boxes -- Team, themes, links, and publications are managed via WordPress-native meta boxes (no ACF Pro required)
- Responsive -- Mobile-first design with hamburger menu, touch-friendly popovers
- Bilingual UI -- Built-in English/French UI translations with Polylang integration
- Header search -- Animated search overlay in the header
- CSS custom properties -- All colors and fonts use CSS variables for easy theming
- Print-friendly -- Optimized print styles with references moved after body text
- Accessible -- ARIA labels, semantic HTML5, focus management
- Download or clone this repository
- Copy the
notafolder intowp-content/themes/ - Go to Appearance > Themes in your WordPress admin
- Activate Nota
- Download the theme as a ZIP file
- Go to Appearance > Themes > Add New > Upload Theme
- Upload the ZIP and activate
Go to Appearance > Customize > Nota Theme to configure:
| Setting | Description | Default |
|---|---|---|
| Footer text | Additional text after the copyright line | (empty) |
| Copyright format | Use {year} and {site} as placeholders |
© {year} {site} |
| Setting | Description | Default |
|---|---|---|
| Accent color | Links, highlights, branding | #163316 (dark green) |
| Background color | Page background | #fcfbf9 (cream) |
| Text color | Body text | #0f140f (near-black) |
| Background pattern | Toggle the dotted background texture | On |
| Setting | Description | Default |
|---|---|---|
| Body font (serif) | Font for body text | Libre Caslon Text |
| Heading font (sans) | Font for headings and UI | Cabin |
Available serif fonts: Libre Caslon Text, Georgia, Lora, Source Serif 4, Merriweather, EB Garamond
Available sans fonts: Cabin, Inter, Source Sans 3, Work Sans, Nunito Sans, System UI
All features can be independently toggled on/off:
- Citation tools
- EPUB export
- Reading mode
- Sidenotes
- Header search
- Dark mode toggle
- Language switcher (requires Polylang)
The theme includes a Project Page template for showcasing research projects.
- Create a new Page in WordPress
- In the Page Attributes panel, select Project Page as the template
- Fill in the project information fields (requires ACF plugin, free version)
These fields appear when the Project Page template is selected:
- Tagline -- Short project description
- Principal Investigator -- Lead researcher name
- Period -- e.g., "2024--2029"
- Funding body -- Grant or funding organization
- Institution -- Host institution
These are managed without ACF Pro:
- Project Links -- URL + label pairs
- Team Members -- Name, role, institution, bio, and personal links
- Research Themes -- Title + description
- Manual Publications -- Citation text, year, type, DOI, URL
To display publications from the HAL open-access repository:
- Install ACF (free version)
- On the Project Page, fill in either:
- HAL Author ID (e.g.,
james-costa) -- fetches all publications by this author - HAL Collection Code -- fetches publications from a specific HAL collection
- HAL Author ID (e.g.,
- Publications are cached for 12 hours. Append
?flush_halto the URL to refresh.
The theme uses a lightweight translation system for UI strings. To add a new language:
- Open
functions.phpand find thenota_translations()function - Add a new top-level key matching the Polylang language slug:
function nota_translations() {
return array(
'fr' => array( /* existing French translations */ ),
'de' => array(
'Author' => 'Autor',
'Published on' => 'Veröffentlicht am',
'Read more' => 'Weiterlesen →',
// ... add all strings you want translated
),
);
}English is the source language (used as keys). Any untranslated string falls back to English automatically.
The UI language is determined by (in priority order):
?ui_lang=URL parameter- Polylang's current language
nota_ui_langcookie- English (default)
| Function | Description |
|---|---|
nota_t( $string ) |
Returns the translated UI string |
nota_e( $string ) |
Echoes the translated UI string |
nota_ui_lang() |
Returns the current UI language slug |
nota_feature( $key ) |
Checks if a feature is enabled (e.g., nota_feature('citations')) |
nota_post_has_notes( $post_id ) |
Returns true if the post has footnotes/sidenotes |
nota_hal_publications( $author, $collection ) |
Fetches publications from HAL API |
nota_hal_entry_html( $doc, $type ) |
Renders a single HAL publication entry |
nota_google_fonts_url() |
Returns the Google Fonts URL based on Customizer settings |
:root {
--bg-color: #fcfbf9;
--text-color: #0f140f;
--accent: #163316;
--line-color: #e0e0e0;
--font-serif: 'Libre Caslon Text', Georgia, serif;
--font-sans: 'Cabin', sans-serif;
}These are overridden by the Customizer settings. You can also override them in a child theme.
| Template | Purpose |
|---|---|
index.php |
Blog/post grid |
single.php |
Single article with sidebar, citations, sidenotes |
page.php |
Static pages |
page-project.php |
Project showcase (team, themes, publications) |
archive.php |
Archives (categories, tags, dates, authors) |
category.php |
Category archive with smart subcategory layout |
search.php |
Search results |
404.php |
Error page |
- The sidenote conversion hooks into
the_contentat priority 15 - The EPUB export hooks into
template_redirect - Custom CSS is output via
wp_headat priority 20 - All features respect the Customizer toggles
- WordPress 6.3+ (required for native footnotes/sidenotes)
- PHP 7.4+
- Advanced Custom Fields (free) -- Required for Project Page fields (tagline, PI, period, funding, institution, HAL config)
- Polylang (free) -- For multilingual content and the language switcher
Nota is released under the GNU General Public License v3.
- Originally built for Politics of Language
- Typography: Libre Caslon Text and Cabin via Google Fonts
- Sidenote design inspired by Edward Tufte's typographic principles
- HAL integration via the HAL open-access repository API