70 lines
3.0 KiB
Markdown
70 lines
3.0 KiB
Markdown
# Create Cloud Visualizations
|
|
|
|
## Built-in clouds
|
|
|
|
For simplicity, the default CB theme has two pre-configured cloud visualization pages pre-configured named "Subjects" and "Locations".
|
|
These can be configured using variables in the "_data/theme.yml" to generate clouds from any field(s) in your metadata (not necessarily just a "subject" or "location" field).
|
|
The theme options look like:
|
|
|
|
```
|
|
# Subject page
|
|
subjects-fields: subject;creator # set of fields separated by ; to be featured in the cloud
|
|
subjects-min: 1 # min size for subject cloud, too many terms = slow load time!
|
|
subjects-stopwords: # set of subjects separated by ; that will be removed from display, e.g. boxers;boxing
|
|
|
|
# Locations page
|
|
locations-fields: location # set of fields separated by ; to be featured in the cloud
|
|
locations-min: 1 # min size for subject cloud, too many terms = slow load time!
|
|
locations-stopwords: # set of subjects separated by ; that will be removed from display, e.g. boxers;boxing
|
|
```
|
|
|
|
The files "pages/subjects.md" and "pages/locations.md" pull in these values to create the default cloud pages.
|
|
The settings also create matching data outputs in the "/assets/data/" folder.
|
|
|
|
If `subjects-fields` or `locations-fields` is blank or commented out, the template will not build out the related cloud page or data, which saves build time.
|
|
If you are developing a particularly large collection, you can comment out these options to make rebuild much quicker.
|
|
|
|
Keep in mind these page stubs (`/subjects.html`, `/locations.html`) will also have to be present in "config-nav.csv" to show up in your navigation, and to have the data files to show up in data download options.
|
|
|
|
## Cloud Layout and Front matter
|
|
|
|
Custom cloud pages can be easily created using the cloud layout and page front matter.
|
|
Create a new page stub with standard front matter, and add these cloud values:
|
|
|
|
- `cloud-fields:`, with a value of a set of fields separated by `;` to be featured in the cloud.
|
|
- `cloud-min:` (optional), with a integer value such as `2`.
|
|
- `cloud-stopwords:` (optional), with a set of terms separated by `;` that will be removed from display.
|
|
|
|
For example, to create an "Authors" cloud page, create a file named "authors.md" in the "pages" folder.
|
|
Edit the "authors.md" with this front matter and content:
|
|
|
|
```
|
|
---
|
|
title: Authors
|
|
layout: cloud
|
|
permalink: /authors.html
|
|
cloud-fields: creator
|
|
cloud-min:
|
|
cloud-stopwords:
|
|
---
|
|
|
|
## Browse Authors
|
|
|
|
Example custom cloud page.
|
|
```
|
|
|
|
## Cloud include
|
|
|
|
Clouds can also be directly added to any page using the "_include/js/cloud-js.html" include in the page stub content.
|
|
This makes it possible to embed a cloud anywhere in other interpretive content pages.
|
|
|
|
First, add a div with `id="cloud"` where you want the cloud to display.
|
|
Then below the div add the cloud-js include and provide the variable `fields`, and optionally variables `min` and `stopwords`.
|
|
|
|
For example:
|
|
|
|
```
|
|
<div id="cloud" class="text-center my-4 bg-light border rounded p-2"></div>
|
|
{% include js/cloud-js.html fields="creator;publisher" min=2 stopwords="example;another" %}
|
|
```
|