Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 69 additions & 3 deletions content/docs-v1/for-developers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ aliases:
- /documentation/for-developers/
---

TK
Since its launch in December 2022, Quire has been freely available under the BSD 3-Clause License. Quire is a tool for generating full static sites using 11ty, with pages that load quickly in the browser. The Quire CLI provides a straightforward set of commands for building and publishing your site.

## Requirements
[Node.js](https://nodejs.org/en/) v18 or higher (LTS preferred)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This should be v22 -- see the engines property of the CLI and 11ty package file, for now without mentioning LTS. Node's LTS version is 24 currently but I don't know if quire has been sufficiently tested against v24 to document it that way.


## Repositories

### quire

https://github.com/thegetty/quire

Quire’s primary repository, with the command-line interface and 11ty template packages
Quire’s primary repository, with the command-line interface and 11ty template packages.

### quire-docs

Expand All @@ -25,12 +28,75 @@ This repository is specifically for the Quire website and documentation.

## Configuration

TK
Quire uses 11ty to generate static site files for publication. Through 11ty's Configuration API, general settings are available for developers in `config.yaml` to configure their Quire project. Learn more about 11ty's Configuration API through their official [documentation](https://www.11ty.dev/docs/config/).
Comment thread
andy-jdl marked this conversation as resolved.

Read our [*Metadata & Configuration*](https://quire.getty.edu/docs-v1/metadata-configuration/) for adjusting your `config.yaml`.

| Property | Expected Value | Description |
| --- | --- | --- |
| `accordion` | object | Controls accordion UI behavior. |
| `analytics` | object | Analytics settings. |
| `bibliography` | object | Bibliography display settings. |
| `bylineFormat` | `initials` \| `name` \| `name-title` \| `string` \| `false` | Controls how contributor bylines are displayed. |
| `citations` | object | Citation display settings. |
| `copyButton` | object | Configures the section link copy button. |
| `entryPage` | object | Settings for object/catalogue entry pages. |
| `epub` | object | EPUB output settings. |
| `figures` | object | Figure and image display settings. |
| `footnotes` | object | Footnote display settings. |
| `globalControls` | object | Labels for expand/collapse all controls. |
| `licenseIcons` | boolean | Whether to display license icons. |
| `localization` | object | Localization settings. |
| `menuType` | `full` \| `brief` | Set the appearance of the contents list in the sidebar menu. Setting to `brief` will hide any pages with sub-sections. |
| `navigation` | object | Previous/next navigation button labels. |
| `pageTitle` | object | Page title formatting. |
| `pdf` | object | PDF output settings. |
| `ref` | object | Cross-reference settings. |
| `searchEnabled` | boolean | Enables or disables site search. |
| `tableOfContents` | object | Table of contents display settings. |

## Migrating from Hugo to 11ty

Hugo supports various config file types including YAML, TOML and JSON while 11ty supports YAML with a separate `.eleventy.js` file for Configuration API.

{% q-class "box warning" %}
- Editing `.eleventy.js` can introduce breaking changes. Ensure you read the official 11ty documentation before making any changes.
Comment thread
andy-jdl marked this conversation as resolved.
{% endq-class %}

### Properties removed from `config.yaml` under Hugo
- `blackfriday`
- `markup`
- `theme`
- `metaDataFormat`
- `pluralizeListTitles`
- `disableKinds`
- `buildDrafts`

### Directory Structure under 11ty

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This is a great start, it should be toward the top of the document and at a heading level 2. Could you elaborate more on directories used, working from the directories configured in .eleventy.js (eg, public, _site, _includes, etc)?

Layouts: `./_layouts`
Site Data: `./content/_data`
Assets: `./content/_assets`

### Shortcodes
11ty uses JavaScript to register shortcodes and Liquid for templating.

Basic shortcode syntax: `{% shortcode-name %}`

Shortcode registration can be found under `./_plugins/shortcodes`


## Publication API

TK

## Page API

TK

## Shortcodes API

TK

## Notes

TK