Skip to content

Commit

Permalink
📖 Update to mystmd branding (#447)
Browse files Browse the repository at this point in the history
This is a follow on task from executablebooks/team-compass#21.

This will eventually allow a consistent install experience across pip and npm.

See #139
  • Loading branch information
rowanc1 authored Jul 3, 2023
1 parent e3e0301 commit b0a2a34
Show file tree
Hide file tree
Showing 113 changed files with 945 additions and 946 deletions.
3 changes: 2 additions & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"fixed": [
["myst-to-jats", "jats-to-myst"],
["myst-to-tex", "tex-to-myst"],
["myst-parser", "myst-roles", "myst-directives", "myst-to-html"]
["myst-parser", "myst-roles", "myst-directives", "myst-to-html"],
["mystmd", "myst-cli"]
],
"linked": [],
"access": "public",
Expand Down
33 changes: 33 additions & 0 deletions .changeset/little-pans-brake.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
'citation-js-utils': patch
'myst-ext-exercise': patch
'myst-ext-reactive': patch
'simple-validators': patch
'markdown-it-myst': patch
'myst-frontmatter': patch
'myst-directives': patch
'myst-transforms': patch
'myst-cli-utils': patch
'myst-ext-proof': patch
'myst-templates': patch
'myst-ext-card': patch
'myst-ext-grid': patch
'myst-ext-tabs': patch
'myst-spec-ext': patch
'jats-to-myst': patch
'myst-to-docx': patch
'myst-to-html': patch
'myst-to-jats': patch
'myst-common': patch
'myst-config': patch
'myst-parser': patch
'myst-to-tex': patch
'tex-to-myst': patch
'myst-roles': patch
'myst-to-md': patch
'myst-cli': patch
'mystmd': patch
'jtex': patch
---

Move repositories from mystjs --> mystmd
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/0-bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
value: Thank you for taking the time to file a bug report! Please fill out this form as completely as possible.
- type: input
attributes:
label: What version of `mystjs` are you using?
label: What version of `mystmd` are you using?
description: 'For example: 1.0.0, use `myst -v`'
validations:
required: true
Expand Down
51 changes: 29 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,53 @@
# MyST Markdown Tools
# MyST Markdown Command Line Interface, `mystmd`

[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/executablebooks/mystjs/blob/main/LICENSE)
![CI](https://github.com/executablebooks/mystjs/workflows/CI/badge.svg)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/executablebooks/mystmd/blob/main/LICENSE)
![CI](https://github.com/executablebooks/mystmd/workflows/CI/badge.svg)

`mystjs` is a set of open-source, community-driven tools designed for scientific communication, including a powerful authoring framework that supports blogs, online books, scientific papers, reports and journals articles.
`mystmd` is a set of open-source, community-driven tools designed for scientific communication, including a powerful authoring framework that supports blogs, online books, scientific papers, reports and journals articles.

> **Note**
> The `mystjs` project is in **beta**. It is being used to explore a full MyST implementation in JavaScript and will change significantly and rapidly.
> The `mystmd` project is in **beta**. It is being used to explore a full MyST implementation and will change significantly and rapidly.
> The project is being developed by a small team of people on the Executable Books Project, and may make rapid decisions without fully public/inclusive discussion.
> We will continue to update this documentation as the project stabilizes.
## Overview

The `mystjs` project provides a parser in Javascript (`mystjs`) and command line tool (`myst-cli`) for working with MyST Markdown projects.
The `mystmd` project provides a command line tool (`mystmd`) for working with MyST Markdown projects.

- Parse MyST into a standardized AST, that follows the MyST Spec
- Provides functionality for cross-referencing, external structured links, and scientific citations
- Translate and render MyST into:
- Translate and render MyST Markdown into:
- HTML for static websites, and modern React for interactive websites (like this website!)
- PDFs and LaTeX documents, with specific templates for over 400 journals
- Microsoft Word export
- Parse MyST into a standardized AST, that follows the MyST Markdown Spec

See the [documentation](https://mystmd.org/guide).

## Get Started

The MyST CLI is available through Node and NPM:
The MyST Markdown CLI is available through Node and NPM:

```bash
npm install -g myst-cli
npm install -g mystmd
myst init
myst build my-doc.md --tex
```

# Development

All packages for `mystjs` are included in this repository (a monorepo!).
All packages for `mystmd` are included in this repository (a monorepo!).

## What's inside?

`myst-cli` uses [npm](https://www.npmjs.com/) as a package manager. It includes the following packages/apps:
`mystmd` uses [npm](https://www.npmjs.com/) as a package manager. It includes the following packages/apps:

**Command Line Tools:**

- `mystmd` this provides CLI functionality for `myst build mystdoc.md`

**Core Packages:**

- `myst-cli` this will provide CLI functionality for `myst build mystdoc.md`
- `myst-cli` this is the package that provides CLI functionality for `mystmd`, it does not export the CLI directly
- `jtex` a templating library ([see docs](https://mystmd.org/jtex))
- `myst-frontmater` definitions and validation for scientific authorship/affiliation frontmatter ([see docs](https://mystmd.org/guide/frontmatter))
- `myst-config` Validation and reading of configuration files
Expand Down Expand Up @@ -87,15 +91,15 @@ All packages for `mystjs` are included in this repository (a monorepo!).
- `myst-cli-utils` some shared utils between jtex, and myst-cli
- `simple-validators` validation utilities, that print all sorts of nice warnings

Each package is 100% [TypeScript](https://www.typescriptlang.org/).
Each package is 100% [TypeScript](https://www.typescriptlang.org/) and [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c).

### Versioning & Publishing

`mystjs` uses [changesets](https://github.com/changesets/changesets) to document changes to this monorepo, call `npm run changeset` and follow the prompts. Later, `npm run version` will be called and then `npm run publish`.
`mystmd` uses [changesets](https://github.com/changesets/changesets) to document changes to this monorepo, call `npm run changeset` and follow the prompts. Later, `npm run version` will be called and then `npm run publish`.

### Utilities

`mystjs` is built and developed using:
`mystmd` is built and developed using:

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
Expand All @@ -106,20 +110,23 @@ Each package is 100% [TypeScript](https://www.typescriptlang.org/).
To build all apps and packages, run the following command:

```
cd mystjs
cd mystmd
npm run build
```

### Develop
## Developing

To develop all apps and packages, run the following command:
For the [mystmd](https://github.com/executablebooks/mystmd) library on GitHub, `git clone` and you can install the dependencies and then create a local copy of the library with the `npm run dev` command.

```
cd mystjs
```shell
git clone git@github.com:executablebooks/mystmd.git
cd mystmd
npm install
npm run build
npm run dev
```

This will create a local `myst` CLI interface that you can use to develop and test locally.
This will create a local copy of `myst` for use on the command line and start various web-servers for testing.

---

Expand Down
10 changes: 5 additions & 5 deletions docs/accessibility-and-performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: MyST sites are designed for mobile and desktop sites, accessibility

## Performance

The `mystjs` site existing, modern web-frameworks including [Remix](https://remix.run/) and [React](https://reactjs.org/). These tools come out-of-the-box with prefetching for faster navigation, smaller network payloads through modern web-bundlers, image optimization, and partial-page refresh through single-page application. We follow the [PRPL Pattern](https://web.dev/apply-instant-loading-with-prpl/)[^prpl] where possible.
The MyST Site existing, modern web-frameworks including [Remix](https://remix.run/) and [React](https://reactjs.org/). These tools come out-of-the-box with prefetching for faster navigation, smaller network payloads through modern web-bundlers, image optimization, and partial-page refresh through single-page application. We follow the [PRPL Pattern](https://web.dev/apply-instant-loading-with-prpl/)[^prpl] where possible.

[^prpl]: PRPL is a pattern designed to improve performance of webpages:

Expand All @@ -16,7 +16,7 @@ The `mystjs` site existing, modern web-frameworks including [Remix](https://remi

As an example, try hovering over the navigation on this page (potentially with your network development tools open!), the entire page will be fetched based on your intent (i.e. hovering over the link for a moment). This includes downloading any assets for additional styling on the upcoming page. Note that many assets are shared between pages, and only the actual content is fetched (i.e. the AST and page metadata), not the full HTML page, which again makes for smaller network payloads and speed for browsing! Content is also cached if you re-visit a page.

When working locally in authoring content `mystjs` is designed to have as hot-reloads, can rebuild/rerender the site in <150ms, and has scroll-restoration so you don't loose your place. The speed of `mystjs` can dramatically improve the authoring experience as it allows you to preview changes rapidly.
When working locally MyST is designed to rebuild and rerender the site in <150ms, and has scroll-restoration so you don't loose your place. This speed can dramatically improve the authoring experience as it allows you to preview changes rapidly.

The real-world deployment of your site will depend on the infrastructure that you use to serve it. See [deployment](./deployment.md) for more information on options for sharing your site.

Expand All @@ -29,7 +29,7 @@ Lighthouse is a tool included in Chrome that measures accessibility, performance
Lighthouse score run Sept 15, 2022 on deployed site using Curvenote's global CDN.
```

Some of the performance and accessibility considerations we have taken in `mystjs`:
Some performance and accessibility considerations:

- Semantic HTML used for articles, asides, figures, nav, and captions, including limited use of generic `div`s and `span`s where we can.
- Anchor tags for all interactive content, that work when Javascript is _not_ enabled
Expand Down Expand Up @@ -60,7 +60,7 @@ Lighthouse score run Sept 15, 2022 on deployed site, the majority of issues are

```{warning}
The performance metrics above are subject to changes over time, and may differ on your computer, network connection and page analyzed.
We include these metrics on this page because (1) we have put a lot of work into performance and accessibility 🎉 and (2) to let you know that as developers of `mystjs` we care about performance, accessibility, and semantic HTML that can be read by both search engine crawlers and academic indexes.
We include these metrics on this page because (1) we have put a lot of work into performance and accessibility 🎉 and (2) to let you know that as MyST developers we care about performance, accessibility, and semantic HTML that can be read by both search engine crawlers and academic indexes.
If you find a place where we can improve performance in your site, please [open an issue](https://github.com/executablebooks/mystjs/issues).
If you find a place where we can improve performance in your site, please [open an issue](https://github.com/executablebooks/mystmd/issues).
```
Loading

0 comments on commit b0a2a34

Please sign in to comment.