💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
<Comment>
|
2015-09-24 10:23:48 +00:00
|
|
|
|
2016-10-31 18:04:15 +00:00
|
|
|
# spacy.io website and docs
|
2015-09-24 10:23:48 +00:00
|
|
|
|
2019-02-17 21:16:17 +00:00
|
|
|
![Netlify Status](https://api.netlify.com/api/v1/badges/d65fe97d-99ab-47f8-a339-1d8987251da0/deploy-status)
|
2019-02-17 20:59:52 +00:00
|
|
|
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
_This page contains the documentation and styleguide for the spaCy website. Its
|
|
|
|
rendered version is available at https://spacy.io/styleguide._
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
</Comment>
|
|
|
|
|
2022-11-23 00:33:20 +00:00
|
|
|
## Setup and installation
|
2016-10-31 18:04:15 +00:00
|
|
|
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
Before running the setup, make sure your versions of
|
2019-09-12 14:11:15 +00:00
|
|
|
[Node](https://nodejs.org/en/) and [npm](https://www.npmjs.com/) are up to date.
|
|
|
|
Node v10.15 or later is required.
|
2016-10-31 18:04:15 +00:00
|
|
|
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
```bash
|
|
|
|
# Clone the repository
|
|
|
|
git clone https://github.com/explosion/spaCy
|
|
|
|
cd spaCy/website
|
|
|
|
|
|
|
|
# Install Gatsby's command-line tool
|
|
|
|
npm install --global gatsby-cli
|
|
|
|
|
|
|
|
# Install the dependencies
|
|
|
|
npm install
|
|
|
|
|
|
|
|
# Start the development server
|
|
|
|
npm run dev
|
2016-10-31 18:04:15 +00:00
|
|
|
```
|
|
|
|
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
If you are planning on making edits to the site, you should also set up the
|
|
|
|
[Prettier](https://prettier.io/) code formatter. It takes care of formatting
|
|
|
|
Markdown and other files automatically.
|
|
|
|
[See here](https://prettier.io/docs/en/editors.html) for the available
|
|
|
|
extensions for your code editor. The
|
|
|
|
[`.prettierrc`](https://github.com/explosion/spaCy/tree/master/website/.prettierrc)
|
|
|
|
file in the root defines the settings used in this codebase.
|
2016-11-03 12:06:29 +00:00
|
|
|
|
2022-11-23 00:33:20 +00:00
|
|
|
## Building & developing the site with Docker
|
2022-01-20 22:02:13 +00:00
|
|
|
|
2022-09-11 20:04:00 +00:00
|
|
|
Sometimes it's hard to get a local environment working due to rapid updates to
|
|
|
|
node dependencies, so it may be easier to use docker for building the docs.
|
|
|
|
|
|
|
|
If you'd like to do this, **be sure you do _not_ include your local
|
|
|
|
`node_modules` folder**, since there are some dependencies that need to be built
|
|
|
|
for the image system. Rename it before using.
|
2022-01-20 22:02:13 +00:00
|
|
|
|
|
|
|
```bash
|
|
|
|
docker run -it \
|
|
|
|
-v $(pwd):/spacy-io/website \
|
|
|
|
-p 8000:8000 \
|
|
|
|
ghcr.io/explosion/spacy-io \
|
|
|
|
gatsby develop -H 0.0.0.0
|
|
|
|
```
|
|
|
|
|
2022-09-11 20:04:00 +00:00
|
|
|
This will allow you to access the built website at http://0.0.0.0:8000/ in your
|
|
|
|
browser, and still edit code in your editor while having the site reflect those
|
|
|
|
changes.
|
2022-01-20 22:02:13 +00:00
|
|
|
|
2022-09-11 20:04:00 +00:00
|
|
|
**Note**: If you're working on a Mac with an M1 processor, you might see
|
|
|
|
segfault errors from `qemu` if you use the default image. To fix this use the
|
|
|
|
`arm64` tagged image in the `docker run` command
|
2022-01-20 22:02:13 +00:00
|
|
|
(ghcr.io/explosion/spacy-io:arm64).
|
|
|
|
|
2022-11-23 00:33:20 +00:00
|
|
|
### Building the Docker image
|
2022-01-20 22:02:13 +00:00
|
|
|
|
|
|
|
If you'd like to build the image locally, you can do so like this:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker build -t spacy-io .
|
|
|
|
```
|
|
|
|
|
2022-09-11 20:04:00 +00:00
|
|
|
This will take some time, so if you want to use the prebuilt image you'll save a
|
|
|
|
bit of time.
|
2022-01-20 22:02:13 +00:00
|
|
|
|
2022-11-23 00:33:20 +00:00
|
|
|
## Project structure
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
|
|
|
|
```yaml
|
|
|
|
├── docs # the actual markdown content
|
|
|
|
├── meta # JSON-formatted site metadata
|
|
|
|
| ├── languages.json # supported languages and statistical models
|
|
|
|
| ├── sidebars.json # sidebar navigations for different sections
|
|
|
|
| ├── site.json # general site metadata
|
2022-11-23 00:22:27 +00:00
|
|
|
| ├── type-annotations.json # Type annotations
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
| └── universe.json # data for the spaCy universe section
|
|
|
|
├── public # compiled site
|
2022-11-23 00:22:27 +00:00
|
|
|
├── setup # Jinja setup
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
├── src # source
|
|
|
|
| ├── components # React components
|
|
|
|
| ├── fonts # webfonts
|
|
|
|
| ├── images # images used in the layout
|
|
|
|
| ├── plugins # custom plugins to transform Markdown
|
|
|
|
| ├── styles # CSS modules and global styles
|
|
|
|
| ├── templates # page layouts
|
|
|
|
| | ├── docs.js # layout template for documentation pages
|
|
|
|
| | ├── index.js # global layout template
|
|
|
|
| | ├── models.js # layout template for model pages
|
|
|
|
| | └── universe.js # layout templates for universe
|
|
|
|
| └── widgets # non-reusable components with content, e.g. changelog
|
2022-11-23 00:22:27 +00:00
|
|
|
├── .eslintrc.json # ESLint config file
|
|
|
|
├── .prettierrc # Prettier config file
|
💫 Update website (#3285)
<!--- Provide a general summary of your changes in the title. -->
## Description
The new website is implemented using [Gatsby](https://www.gatsbyjs.org) with [Remark](https://github.com/remarkjs/remark) and [MDX](https://mdxjs.com/). This allows authoring content in **straightforward Markdown** without the usual limitations. Standard elements can be overwritten with powerful [React](http://reactjs.org/) components and wherever Markdown syntax isn't enough, JSX components can be used. Hopefully, this update will also make it much easier to contribute to the docs. Once this PR is merged, I'll implement auto-deployment via [Netlify](https://netlify.com) on a specific branch (to avoid building the website on every PR). There's a bunch of other cool stuff that the new setup will allow us to do – including writing front-end tests, service workers, offline support, implementing a search and so on.
This PR also includes various new docs pages and content.
Resolves #3270. Resolves #3222. Resolves #2947. Resolves #2837.
### Types of change
enhancement
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2019-02-17 18:31:19 +00:00
|
|
|
├── gatsby-browser.js # browser-specific hooks for Gatsby
|
|
|
|
├── gatsby-config.js # Gatsby configuration
|
|
|
|
├── gatsby-node.js # Node-specific hooks for Gatsby
|
|
|
|
└── package.json # package settings and dependencies
|
|
|
|
```
|