Skip to content
Merged
Show file tree
Hide file tree
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
Binary file added .DS_Store
Binary file not shown.
Binary file added Getting Started/.DS_Store
Binary file not shown.
162 changes: 162 additions & 0 deletions Getting Started/create-a-site.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
---
title: How to Set Up a Publishing Site in Curvenote
short_title: Create a Site
---



# Create a Site

:::{tip} ObjectiveCreate a publishing destination for your articles, lab notebooks, or group collections. :::

## Quick Checklist

- Have a Curvenote account & CLI installed
- Access or create a site (web admin)
- Configure your project (curvenote.yml)
- Organize local content (if using Git/GitHub)
- Add metadata to each file
- Submit content to a site & collection
- Push changes for internal review (optional)
- Run checks before publishing (optional)
- Publish (admin only)

## Workflow at a Glance

```mermaid
graph TD
A[1. Create Site<br/>web admin] --> B[2. Set Landing Page]
B --> C[3. Organize Content<br/>optional for local/Git]
C --> D[4. Add Metadata]
D --> E[5. Submit Content]
E --> F[6. Push Changes<br/>optional]
F --> G[7. Run Checks<br/>optional]
G --> H[8. Publish<br/>admin only]
H --> I[🎉 Site Live!]

style A fill:#e1f5fe
style I fill:#c8e6c9
```

**Text Version:**

```
[1] Create Site (web admin)
[2] Set Landing Page
[3] Organize Content (optional for local/Git)
[4] Add Metadata
[5] Submit Content → [6] Push Changes (optional)
[7] Run Checks (optional)
[8] Publish (admin only)
🎉 Site Live!
```
## Before You Begin
:::{important} Make sure you have:

- A Curvenote account and Curvenote CLI installed
- Access to an existing site (or permission to create one via the web admin interface)
- A configured project (curvenote.yml) if publishing from GitHub or locally
:::


### 1. Create a Site (via Web Admin)

Currently, new sites must be created through the web admin interface.

- Choose a title and subdomain (e.g., `my-lab.curve.space`)
- Set the site visibility (public or private)
- Define the organization or group that owns the site

_Coming Soon: Site creation directly from the CLI._

### 2. Set a Landing Page or Featured Work

Once the site exists, an admin can define a “landing page” — the main entry point for visitors.

- Recommended: Set this via the web admin interface
- CLI support available for some workflows

### 3. Organize Your Content (Optional, CLI or Git-based Workflows)

If you are managing content locally (e.g., in GitHub), organize your files into logical directories:

- **Full Research Articles:** `articles/`
- **Figures/Methods:** `components/`
- **Landing page:** `index.md`

For sites with community submissions, content organization happens after submission.

### 4. Add Metadata

Each content file should have frontmatter with key details:

```yaml
---
title: 'An Advanced Microscopy Study'
authors:
- name: Dr. Lee
kind: article
---
```

Metadata enables automated checks, collection assignment, and proper formatting

### 5. Submit Content to a Site and Collection

From your local project, run:

```bash
curvenote submit
```

You’ll be prompted to:

- Select an existing site
- Choose a collection (e.g., "Lab Articles")

This prepares your content for publishing and notifies site administrators.

### 6. Push Changes (Optional: Internal Review)

```bash
curvenote push
```

This allows collaborators to preview your work, but does not make it publicly visible.

### 7. Run Checks (Optional but Recommended)


```bash
curvenote check
```

This will run structural and metadata checks and highlight any issues.

> 💡 **Tip:** For more details on how to run a structural check, visit this page (link)

### 8. Publish Content (Admin Action)

Publishing makes submitted content live on the site:

```bash
curvenote submission publish
```

Only site admins can publish. Once published:

- Content appears on the site
- DOI, metadata, and links are activated

## After Publishing

- Share links to your articles or site homepage
- Updates and re-publish (each update is tracked)
- Embed individual figures, notebooks, or methods in other sites and tools.
102 changes: 102 additions & 0 deletions Getting Started/create-article-cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: Write Your First Article
short_title: Write Article
---


# Write Your First Article

**Goal:** Create and edit your first article in Curvenote using the CLI.



## 1. Create a New Article

From inside your project folder, run:

```bash
curvenote create article my-first-article
```

This will:

- Create a new Markdown file in your `content/` directory.
- Add default frontmatter (metadata) like `title` and `date`.
- Link the article into your site navigation if your `curvenote.yml` is set up.

Example folder after running the command:

```
content/
├── index.md
└── my-first-article.md
```



## 2. Open and Edit Your Article

Open the new file in your preferred text editor:

```bash
code content/my-first-article.md
```

You can write in **Markdown**, **MyST**, or embed Jupyter code blocks if your project supports it.

Example content:

```markdown
---
title: My First Curvenote Article
authors:
- name: Jane Doe
orcid: 0000-0001-2345-6789
---

# Introduction

This is my first article written in Curvenote! 🎉

## My First Figure

```{figure} assets/fig1.png
:alt: Example figure
:width: 60%
```
Figure caption goes here.


## 3. Preview Locally

See your changes instantly by running:

```bash
curvenote preview
```

This opens a local preview of your site in your browser so you can check formatting, figures, and links.



## 4. Organize Your Articles

Best practices for keeping articles manageable:

- Use short, descriptive file names.
- Group related content into folders (e.g., `methods/`, `results/`).
- Keep figures, datasets, and large media files in an `assets/` folder.



## Next Steps

Once your article looks good, you can:

1. [Publish & Share →](./publish-article.md)
2. [Add Figures, Images, and Media →](../authoring/add-figures-media.md)
3. [Link Data and Code →](../authoring/link-data-code.md)

---

**Tip:** Curvenote supports reusable content blocks, so you can keep figures, citations, or sections consistent across multiple articles.
114 changes: 114 additions & 0 deletions Getting Started/create-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
---
title: Create Your First Project
short_title: Create Project
---

# Create Your First Project

**Goal:** Create and organize your first Curvenote project so you can start writing and publishing content.



## 1. What’s a Project in Curvenote?

A **project** is the home for your articles, figures, datasets, and other content.
It also stores your site configuration so you can publish to the web.

Projects contain:

- **Content folder** (`content/`) for articles, sections, and figures.
- **Configuration file** (`curvenote.yml`) for site and article settings.
- **Assets folder** for images, datasets, and other media.



## 2. Create a New Project

From your terminal:

```bash
curvenote init my-first-project
```

You’ll be prompted to:

1. **Name your project**
Example: `My Lab Website` or `My Article`
2. **Add an optional description**
3. Confirm your configuration.

This creates a folder with the following structure:

```
my-first-project/
├── content/
│ └── index.md
├── curvenote.yml
└── README.md
```


## 3. Navigate and Explore

Move into your new project folder:

```bash
cd my-first-project
```

Open `content/index.md` in your editor — this is your first article.
You can rename it, add more `.md` or `.myst.md` files, and create subfolders for sections.



## 4. Organize Your Content

Best practices:

- **One article per file** for clarity.
- Group related articles into folders (e.g., `/methods`, `/results`).
- Keep images and figures in an `/assets` folder.
- Use clear, short file names (avoid spaces).

Example:

```
content/
├── introduction.md
├── methods/
│ ├── data-collection.md
│ └── analysis.md
├── results/
│ ├── experiment-1.md
│ └── experiment-2.md
└── assets/
├── fig1.png
└── dataset.csv
```



## 5. Check Your Setup

You can preview your content locally by running:

```bash
curvenote preview
```

This launches a local development server where you can see your project as it will appear online.




## Next Steps

Now that you have a project:

1. [Write Your First Article →](../how-to/create-article-cli.md)
2. [Publish & Share →](../how-to/publish-article.md)
3. [Set Up a Site →](../getting-started/set-up-site.md)

---

**Tip:** You can connect your project to GitHub for version control. See [Connect to GitHub](../integrations/github.md).
Loading