Skip to content

Commit

Permalink
Fix link issues and update README after moving to GH pages
Browse files Browse the repository at this point in the history
On hard reload the URL ending with `xyz/` sometimes becomes `xyz`, which
then breaks all relative internal  links. With this change, we are
adding `gatsby-plugin-catch-links` to ensure internal links work either
way. Also we update the readme to reflect where the website is now
hosted.
  • Loading branch information
planger committed Apr 19, 2024
1 parent b5f8d30 commit bf6944f
Show file tree
Hide file tree
Showing 24 changed files with 113 additions and 105 deletions.
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@ npm run serve

## CI

The website is automatically built at and deployed to Netlify.
A preview of each PR is deployed to Netlify.
The website is automatically built with [Github workflows](.github/workflows/) and deployed on Github pages, which are reachable via [theia-ide.org](https://theia-ide.org/).

In addition, every commit on `master` is built and published to branch `gh-pages`, which will soon replace the deployment of Netlify.
A preview of every pull request is published at [eclipse-theia/theia-website-previews](https://github.com/eclipse-theia/theia-website-previews).
A preview of every pull request is published at [eclipse-theia/theia-website-previews](https://github.com/eclipse-theia/theia-website-previews). You'll see a comment with the link to the preview once the build is finished.
For more information, see [`publish.yml`](.github/workflows/publish.yml) and [`preview.yml`](.github/workflows/preview.yml).

## License
Expand Down
3 changes: 2 additions & 1 deletion gatsby-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ module.exports = {
plugins: [
'gatsby-remark-autolink-headers',
"gatsby-remark-external-links",
"gatsby-remark-prismjs"
"gatsby-remark-prismjs",
"gatsby-plugin-catch-links"
]
}
}
Expand Down
120 changes: 64 additions & 56 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
"gatsby-remark-prismjs": "^3.4.5",
"gatsby-source-filesystem": "^2.1.9",
"gatsby-transformer-remark": "^2.7.5",
"gatsby-plugin-catch-links": "^2.10.0",
"node-fetch": "^2.6.7",
"prismjs": "^1.20.0",
"react": "^16.8.6",
Expand Down
4 changes: 2 additions & 2 deletions src/docs/authoring_extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Authoring an Extension

# Authoring Theia Extensions

This guide will walk you through the process of creating Theia extensions and deploying them in your Theia-based application. Please make sure to be aware of the [different available extension mechanisms](../extensions/) of Theia (Plugins vs. Extensions) before you continue reading.
This guide will walk you through the process of creating Theia extensions and deploying them in your Theia-based application. Please make sure to be aware of the [different available extension mechanisms](/docs/extensions/) of Theia (Plugins vs. Extensions) before you continue reading.

As an example, we are going to add a menu item _Say hello_ that displays a notification "Hello world!". This article is guiding you through all the necessary steps.

Expand All @@ -14,7 +14,7 @@ A Theia app is composed of so-called _extensions_. An extension provides a set o

Theia defines a plethora of contribution interfaces that allow extensions to add their behaviour to various aspects of the application. Just search for interfaces with the name `*Contribution` to get an idea. An extension implements the contribution interfaces belonging to the functionality it wants to deliver. In this example, we are going to implement a `CommandContribution` and a `MenuContribution`. Other ways for extensions to interact with a Theia application are via one of the various _services_ or _managers_.

In Theia, everything is wired up via [dependency injection](../services_and_contributions#dependency-injection-di). An extension defines one or more dependency injection modules. This is where it binds its contribution implementations to the respective contribution interface. The modules are listed in the `package.json` of the extension package. An extension can contribute to the frontend, e.g. providing a UI extension, as well as to the backend, e.g. contributing a language server. When the application starts, the union of all these modules is used to configure a single, global dependency injection container on each, the frontend and the backend. The runtime will then collect all contributions of a specific kind by means of a multi-inject.
In Theia, everything is wired up via [dependency injection](/docs/services_and_contributions#dependency-injection-di). An extension defines one or more dependency injection modules. This is where it binds its contribution implementations to the respective contribution interface. The modules are listed in the `package.json` of the extension package. An extension can contribute to the frontend, e.g. providing a UI extension, as well as to the backend, e.g. contributing a language server. When the application starts, the union of all these modules is used to configure a single, global dependency injection container on each, the frontend and the backend. The runtime will then collect all contributions of a specific kind by means of a multi-inject.

## Prerequisites

Expand Down
2 changes: 1 addition & 1 deletion src/docs/authoring_plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Authoring Plug-ins

# Authoring Theia Plug-ins

This documentation is deprecated and needs to be updated. We currently recommend using VS Code extensions or Theia extensions instead of Theia Plugins. See the [extension overview](../extensions/) for more details.
This documentation is deprecated and needs to be updated. We currently recommend using VS Code extensions or Theia extensions instead of Theia Plugins. See the [extension overview](/docs/extensions/) for more details.
<!--
Let's create our first Theia plug-in. As an example, we are going to register a command _Hello World_ that displays a notification "Hello world!". This article is guiding you through all the necessary steps.
Expand Down
Loading

0 comments on commit bf6944f

Please sign in to comment.