Skip to content

Commit 32a3041

Browse files
committed
New content pages
1 parent 97952e1 commit 32a3041

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+2244
-522
lines changed

content/publish/_toc.yml

-50
This file was deleted.

content/publish/article-actions.md

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
title: Designing your articles
3+
---
4+
5+
## Actions
6+
7+
Actions are buttons that appear on the right of the navigation bar. By default, a single “Learn More” action is added to new curvenote sites. You can add, customize and remove actions by editing the `actions:` list in the `site:` section of the root `curvenote.yml` file.
8+
9+
```yaml
10+
version: 1
11+
site:
12+
actions:
13+
- title: Learn More
14+
url: https://docs.curvenote.com/web
15+
```
16+
17+
⚒️ To Customize the existing action, simply update the `title:` and `url:` fields in place
18+
19+
```yaml
20+
version: 1
21+
site:
22+
actions:
23+
- title: Curvenote on GitHub
24+
url: https://gihub.com/curvenote
25+
```
26+
27+
⚒️ To add more actions, add additional items to the YAML list, each with their own `title:` and `url:` fields
28+
29+
```yaml
30+
version: 1
31+
site:
32+
actions:
33+
- title: GitHub
34+
url: https://gihub.com/curvenote
35+
- title: Sign Up
36+
url: https://curvenote.com/signup
37+
```
38+
39+
🛠️ To remove all actions, set the field to an empty list `actions: []`
40+
41+
```yaml
42+
version: 1
43+
site:
44+
actions: []
45+
```

content/publish/authoring-in-myst.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Writing a Scientific Paper using MyST
3+
short_title: MyST Markdown
34
description: Curvenote uses a flavour of Markdown called MyST Markdown, which is designed to create publication-quality, computational documents written entirely in Markdown.
45
---
56

content/publish/cards.md

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: Cards
3+
description: Curvenote bundles many helpful directives and roles that allow you to interact with and add content from Curvenote's APIs to your Curvenote Site or Journal.
4+
---
5+
6+
Curvenote bundles many helpful directives and roles that allow you to interact with and add content from Curvenote's APIs to your Curvenote Site or Journal.
7+
8+
## Person cards
9+
10+
The {myst:directive}`person` directive allows you to have a card for a person, who for example is part of a lab-group.
11+
12+
::::{tip} Example person card
13+
:::{person}
14+
:name: Rowan Cockett
15+
:pronouns: he/him
16+
:position: Co-founder & CEO
17+
:orcid: 0000-0002-7859-8394
18+
19+
:github: rowanc1
20+
:image: https://avatars.githubusercontent.com/u/913249?v=4
21+
22+
Rowan is the CEO and founder of Curvenote (https://curvenote.com), where we build tools to free science from static PDF documents such that the scientific community can share more interactive, reproducible, and richly-linked scientific content. Curvenote provides an all-in-one publishing platform for researchers, societies and institutes, with a focus on computational research.
23+
:::
24+
::::
25+
26+
## List articles
27+
28+
Add a listing of articles to any content page on your site by including the {myst:directive}`cn:articles` directive. This allows you to list all published articles for a site or an individual collection on your site and control how this is presented via options such as `layout`, `limit` and `pagination`.
29+
30+
For example, a listing for the SciPy 2023 abtracts collection:
31+
32+
```{figure} images/directives-articles-scipy-2023.png
33+
:width: 80%
34+
```
35+
36+
````{code}
37+
```{cn:articles}
38+
:venue: my-journal
39+
:collection: 2023
40+
:limit: 10
41+
```
42+
````
43+
44+
## List collections
45+
46+
Publications on Curvenote sites and Journals can be organized into {term}`collections <collection>` of articles. These are very flexible and can include different publication kinds, can represent year's, issues, special editions and can be nested.
47+
48+
Use the {myst:directive}`cn:collections` directive to add a listing of the collections available on a site, for example as used on the [SciPy Conference site](https://proceedings.scipy.org).
49+
50+
```{figure} images/directives-collections-scipy.png
51+
:width: 80%
52+
```
53+
54+
````{code}
55+
```{cn:collections}
56+
:venue: my-journal
57+
:exclude: archive
58+
```
59+
````
60+
61+
## Additional directives
62+
63+
You can also add your own custom directives to Curvenote by using MyST's plugin mechanism, adding these to your local folder and `curvenote.yml` file as described in [MyST's plugin documentation](https://mystmd.org/guide/plugins).
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: Computational Articles
3+
short_title: Overview
4+
---
5+
6+
We have identified two main patterns that take advantage of Curvenote's computational capabilities: **Computational Articles** and **Computational Reports**.
7+
8+
Computational Articles
9+
: Structured around a core manuscript with attached supporting materials, **computational articles** focus on providing **in-context interactive figures** and notebooks with a strong narrative flow. Interactive figures can be executed independently, and notebooks are integrated into the main content. A separate JupyterLab environment can be launched by the reader, allowing them to explore the content fully and encourage re-use and further experimentation.
10+
: Examples: [pyUserCalc](https://agu.curve.space/articles/NN0002)
11+
12+
Computational Reports & Tutorials
13+
: Computational reports include the same interactive features as articles, they are structured more like a "book"—presenting a collection of notebooks within a broader narrative. These reports emphasize comprehensive documentation and exploration of the computational environment. Readers can launch a **JupyterLab instance** to interact with the notebooks or, optionally, execute the notebooks in place within the report.
14+
: Example: [Tilt-Corrected BF-STEM](https://www.elementalmicroscopy.com/articles/EM000002)
15+
16+
In both cases, it's important to carefully consider the **computational environment** for your article or report. Whether you're working in Python, Julia, or R, best practices for **dependency management** and **reproducibility** are essential.
+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: Computational Tiers
3+
---
4+
5+
Curvenote provides a range of **compute services** to support the interactive and computational aspects of your articles. These services are delivered through a private {term}`BinderHub`, ensuring that all computational environments are isolated and securely managed. We also **store the images** used in these environments to ensure that they can be accessed quickly, minimizing the time it takes for readers to start interacting with your article's computational components.
6+
7+
Each **tier** is designed to scale according to your needs, allowing you to select the appropriate level of compute resources depending on the expected **traffic** and **complexity** of your article's interactive features.
8+
9+
It’s important to note that the **initial load** of an article does **not trigger compute resources** to be used. Compute is only engaged when a reader opts to interact with the figures or execute the computational steps independently, ensuring optimal use of resources.
10+
11+
### Compute Tier Descriptions
12+
13+
```{list-table} Curvenote offers three main computational tiers.
14+
:header-rows: 1
15+
:label: tab:computational-tiers
16+
17+
* - Name
18+
- Description
19+
* - **Tier 1** \
20+
Shared compute
21+
- The entry-level compute service, private to Curvenote customers, is provided as part of our infrastructure for **lab groups** and small **independent journals/collections**. It includes access to **shared end-user servers**, which are ideal for lightweight interactive visualizations and smaller datasets.
22+
* - **Tier 2** \
23+
Dedicated single instance
24+
- In this tier, we provide a **dedicated single-instance host** for a journal or project. This setup ensures improved **availability** of compute resources, allowing more consistent performance when readers request servers for interactive tasks. This service can be **scaled** based on the journal’s specific needs and traffic demands.
25+
* - **Tier 2** \
26+
Dedicated cluster-based hub
27+
- For larger projects or journals that require substantial compute resources, we offer a **dedicated cluster-based hub**. This option provides enhanced **availability and reliability**, with more efficient use of compute resources as traffic or computational requirements increase. This is the most scalable option and becomes cost-effective at higher compute usage levels.
28+
```
29+
30+
### Choosing the Right Tier
31+
32+
The tier you select should be based on the **scale** of your project and the **interaction complexity** within your articles. If your readers are primarily interacting with lightweight visualizations, the **shared compute** tier may be sufficient. For larger journals or projects that expect high levels of interaction and require more **consistent availability**, a **dedicated instance** or **cluster-based hub** will provide the necessary performance and reliability.
33+
34+
Where computation is required it is necessary to connect to a compute service to start a service for the reader, on demand. This scales based on **concurrent users**, which is defined as a user who is actively connected to our servers within the same 45 minute time period.
35+
36+
### Key Features Across All Tiers:
37+
38+
- **Private BinderHub**: All compute services are managed through a secure, private BinderHub, ensuring that each journal or article’s resources are isolated and managed independently.
39+
- **Stored Images for Speed**: We store computational images, ensuring **fast access** for readers when they begin interacting with articles.
40+
- **Scale as Needed**: Each tier is scalable based on consultation, so you can tailor the compute environment to the specific needs of your project.
41+
42+
### When Compute Resources Are Triggered
43+
44+
It is important to note that Curvenote articles remain fully readable without being connected to a compute service, in some cases these can also include interactive graphs and data without the need for connected computation although this is content dependent. Compute resources are only engaged when a reader chooses to interact beyond the static content of an article. This may include:
45+
46+
- Exploring **interactive figures** and widgets.
47+
- **Executing code** or rerunning analyses embedded in a Jupyter Notebook.
48+
- Engaging with datasets or models in real-time.
49+
50+
This ensures that the resources are only used when needed, optimizing the use of compute power while maintaining an efficient, reader-friendly experience.
51+
52+
### Consultation and Setup
53+
54+
Setting up the right compute environment for your journal or project is done in **consultation** with Curvenote. Our team will help assess your expected traffic, computational needs, and any specific requirements your articles may have. This ensures that you receive the right tier and scaling options from the start, providing both reliability and cost-efficiency.
55+
56+
For more information or to get started with your compute tier, please [contact us](https://curvenote.com/demo).

content/publish/curvenote-branding.md

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: Curvenote branding
3+
description: Minimal Curvenote branding and a logo is retained in the Curvenote tag, in the top right, and Footer.
4+
venue: Designing your Site
5+
---
6+
7+
Our pricing model is intended to enable researchers, lab groups and communities to easily take charge of their Open Access publishing, with minimal friction, while having the means to produce high quality web based articles to rival journal publications. Minimal Curvenote branding / logo will be retained in the Curvenote tag, in the top right, and Curvenote footer.
8+
9+
## Curvenote tag
10+
11+
:::{figure} ./images/curvenote-tag.png
12+
:label: fig:curvenote-tag
13+
The Curvenote tag (top right) is included on all sites. Example from [Applied Geophysics](https://www.appliedgeophysics.org/).
14+
:::
15+
16+
## Curvenote footer
17+
18+
We provide a number of different footers for our sites, for example, to link to our terms of service and privacy agreements for the hosting. This footer can be customized based on your journal or site.
19+
20+
:::{figure} ./images/curvenote-footer-built-with.png
21+
:label: fig:curvenote-footer-built-with
22+
The Curvenote footer showing "Built with Curvenote". Example from [Applied Geophysics](https://www.appliedgeophysics.org/).
23+
:::
24+
25+
As the Curvenote footer is a required element, this is configured when you setup your deployment for the first time with Curvenote. The Curvenote footer is the last element shown on the page, and appears below any custom footers that you have included for your site [](./navigation.md)
26+
27+
## White labeling and enterprise
28+
29+
If you would like the Curvenote logo and footer to _not_ appear on your site, ask us about white-labeling and custom themes.

content/publish/custom-development.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: Custom development
3+
description: Curvenote engages in custom development work to further the open-source components we develop.
4+
venue: Designing your Site
5+
---
6+
7+
Curvenote engages in custom development work to further the open-source components we develop. Examples of this are custom MyST Markdown themes, new Jupyter or MyST directives and components that can help communicate research by enabling specific visualizations, data integration or interactivity in a particular field.
8+
9+
## Examples
10+
11+
Some examples of previous development work include:
12+
13+
- Custom themes, banners, headers and footers (e.g. [Lab Groups at Stanford](https://colab.stanford.edu/), [Landing Themes](https://qiime2.org))
14+
- Custom components and directives (e.g. [Discourse Forum Component](https://qiime2.org/))
15+
- Improved LaTeX reading and rendering (e.g. for [Econ-ARK](https://econ-ark.github.io/FOSSProF))
16+
- JATS improvements for computational notebooks (e.g. for [AGU Notebooks Now](https://curvenote.github.io/notebooks-in-publishing/))
17+
18+
## Grant friendly
19+
20+
If you are writing a grant to enable something we are happy to contribute to making that happen. We can work with you as a partner on the grant, on a consultancy basis, or for a fixed price. If the features you are looking to develop are close to our existing roadmap, we would love the extra motivation and the chance to work closely with you to accommodate your use cases.

content/publish/custom-domains.md

+14-11
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Custom Domains
3-
description: ''
2+
title: Custom domains
3+
description: You can use Curvenote to host any custom domain that you own, for example a personal blog, lab-website, or journal.
44
subject: How To
55
venue: MyST Websites
66
tags: []
77
---
88

9-
You can use Curvenote to host any custom domain that you own, for example a personal blog, lab-website, or journal. Note that custom domains are a feature of the Curvenote Pro plan (see [plans](https://curvenote.com/pricing)).
9+
You can use Curvenote to host any custom domain that you own, for example a personal blog, lab-website, or journal. Note that custom domains are a feature of the Curvenote Pro plan (see [plans](https://curvenote.com/pricing)) or require a subscription to a Lab Group site or Journal that is hosted with Curvenote.
1010

1111
## Update DNS
1212

@@ -29,6 +29,16 @@ You can use Curvenote to host any custom domain that you own, for example a pers
2929
If you visit <https://ssh.curve.space> you will see a custom landing page that points back to this documentation, this is not what will be shown on your site!
3030
:::
3131

32+
Once you have completed that step, send [[email protected]](mailto:[email protected]) an email with the domain and we will ensure it is setup on our side. This will be automated in the future! 🤖
33+
34+
🛠️ Email [[email protected]](mailto:[email protected]) and include:
35+
36+
- domain name (e.g. `subdomain.example.com`)
37+
- Curvenote username or team name that owns this domain (e.g. `rowanc1`)
38+
- Your journal name, if appropriate
39+
40+
## Deploying a stand-alone site
41+
3242
🛠️ Add this domain to your site configuration under the `domains:` list. You can also keep the original curve.space domains in there if you wish.
3343

3444
```yaml
@@ -38,17 +48,10 @@ site:
3848
- subdomain.example.com
3949
```
4050
41-
Once you have completed that step, send [[email protected]](mailto:[email protected]) an email with the domain and we will ensure it is setup on our side. This will be automated in the future! 🤖
42-
43-
🛠️ Email [[email protected]](mailto:[email protected]) and include:
44-
45-
- domain name (e.g. `subdomain.example.com`)
46-
- Curvenote username or team name that owns this domain (e.g. `rowanc1`)
47-
4851
🛠️ Redeploy your site using `curvenote deploy`
4952

5053
You will not be able to complete this step if the domain is not configured by us! Once successful, you will see the domain(s) that you are deploying to in the list, and check that your domain is now visible at your custom subdomain.
5154

5255
## Naked Domains
5356

54-
At this time Curvenote does not support naked domains (e.g. `example.com`), instead you can redirect your naked domain to a `www` subdomain and then point that to `ssh.curve.space` using the `CNAME` method above. For Google Domains, you can see their [documentation here](https://support.google.com/a/answer/2518373?hl=en).
57+
If you wish to support "naked domains" (e.g. `example.com`), please contact support. Alternatively, you can redirect your naked domain to a `www` subdomain and then point that to `ssh.curve.space` using the `CNAME` method above.

0 commit comments

Comments
 (0)