Skip to content

Commit a79b99c

Browse files
committed
website: updates
1 parent b818a1b commit a79b99c

File tree

2 files changed

+41
-32
lines changed

2 files changed

+41
-32
lines changed

website/docs/getting-started/index.mdx

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -46,33 +46,33 @@ import ReleaseSchedule from './_release-schedule.mdx'
4646
To be **reproducible**, an operation must remain stable over time and
4747
across different environments. In other words, if builds are repeated
4848
after some time, possibly on a different machine or platform, the
49-
resulting behavior must be functionally equivalent.
49+
resulting behaviour must be functionally equivalent.
5050

5151
</details>
5252

5353
<Overview/>
5454

5555

5656

57-
## What are xpm packages? (xPacks)
57+
## What are xpm packages? (xPacks) {#xpm-packages}
5858

5959
**xpm packages**, abbreviated as **xPacks**, are versatile,
6060
language-neutral software packages. They have been successfully
6161
utilised in C/C++ projects.
6262

6363
<details>
64-
<summary>What the heck are xpm packages / xPacks? Please, do not introduce another package format!</summary>
64+
<summary>What the heck are xpm packages (xPacks)? Please, do not introduce another package format!</summary>
6565

66-
While the initial appearance may seem complex, utilizing
66+
Although the initial appearance may seem complex, utilising
6767
xpm packages is, in fact, straightforward.
6868
The design rationale is to automate frequent
69-
operations that occur during software development, in this case the
69+
operations that occur during software development, such as the
7070
installation of
7171
dependencies, and to ensure reproducibility.
7272

7373
These packages are managed by **[xpm](https://xpack.github.io/xpm/)**
7474
(the xPack Project Manager),
75-
a program that complements the **[npm](https://docs.npmjs.com/cli/)** CLI
75+
a programme that complements the **[npm](https://docs.npmjs.com/cli/)** CLI
7676
(the popular JavaScript package manager), with new language-neutral features.
7777

7878
The xPacks Framework **does NOT introduce a new package format**; instead,
@@ -87,34 +87,40 @@ are extracted into separate folders within the project.
8787

8888
Based on the content, there are two types of xpm packages:
8989

90-
- **source packages** (that install source files, usually libraries) and
91-
- **binary packages** (that install executables/binary files, usually tools).
90+
- packages with source libraries (**source** xpm packages)
91+
- packages with executables, usually platform-specific binary
92+
tools (**binary** xpm packages)
9293

93-
Binary packages include references to archives with the platform specific
94-
binaries (such as `.tar.gz` for Unix or `.zip` for Windows).
94+
**Source xpm packages** are regular npm packages that include **library
95+
source files**, typically in **C/C++**, though there are no language
96+
restrictions.
9597

96-
These archives are also expanded along the package metadata. Since they
97-
include executables, links/forwarders to
98+
**Binary xpm packages** are also regular npm packages, but with minimal
99+
content, typically just the `package.json` file. Since these packages
100+
provide executables for multiple platforms, some of which are quite
101+
large, it is not practical to include all binaries within the npm
102+
package itself. Instead, the `package.json` file contains references
103+
(URLs) to platform-specific binary archives (e.g., `.tar.gz` for Unix or
104+
`.zip` for Windows).
105+
106+
These archives are also expanded along with the package metadata.
107+
Links/forwarders to
98108
these executables are created in a `.bin` folder,
99109
eliminating the need to add multiple folders to the `PATH`.
100110

101-
Given that some binary packages, such as toolchains, can have very large
102-
archives, the packages are extracted only once into a user global location to
103-
conserve space. In projects, instead of duplicating the content of these
104-
archives, symbolic links are created.
105-
106-
Simply put, xpm packages can be used to further automate the
107-
installation of source libraries and tools.
111+
In summary, xpm packages can enhance and automate the installation
112+
process for source libraries and tools.
108113

109114
</details>
110115

111116
## Features
112117

113118
All binaries are:
114119

115-
- **self-contained** (include all required libraries)
116-
- **file-system relocatable** (can be installed in any location)
117-
- built on slightly older systems (to make them run on both old and new systems)
120+
- **Self-contained** (include all required libraries).
121+
- **File-system relocatable** (can be installed in any location).
122+
- Built on slightly older systems (to ensure compatibility with both
123+
old and new systems).
118124

119125
<details>
120126
<summary>Compatibility with older systems</summary>
@@ -143,17 +149,17 @@ location, including in user folders.
143149

144150
The main advantages of using the **xPack Binary Development Tools** are:
145151

146-
- a convenient, uniform and portable install/uninstall/upgrade
152+
- A convenient, uniform and portable install/uninstall/upgrade
147153
procedure; the same procedure is used for all major
148-
platforms (**x64 Windows**, **x64 macOS**, **arm64 macOS**, **x64 GNU/Linux**, **arm64 GNU/Linux**, **arm GNU/Linux**)
149-
- multiple versions of the same package can be installed at the same time on
150-
the same system
151-
- no need to worry about dependent libraries, they are all included
152-
- not affected by system updates that
153-
might change the versions of the dependent libraries
154-
- significantly lighter and easier to use than Docker images that provide
155-
similar functionality and are GNU/Linux centric
156-
- projects can be tied to specific tools versions; this provides a good
154+
platforms (**x64 Windows**, **x64 macOS**, **arm64 macOS**, **x64 GNU/Linux**, **arm64 GNU/Linux**, **arm GNU/Linux**).
155+
- Multiple versions of the same package can be installed at the same time on
156+
the same system.
157+
- No need to worry about dependent libraries, they are all included.
158+
- Not affected by system updates that
159+
might change the versions of the dependent libraries.
160+
- Significantly lighter and easier to use than Docker images that provide
161+
similar functionality and are GNU/Linux centric.
162+
- Projects can be tied to specific tools versions; this provides a good
157163
reproducibility, especially useful in **CI/CD** environments.
158164

159165
<OtherBenefits/>

website/docusaurus.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,12 @@ const config: Config = {
102102
organizationName: 'xpack-dev-tools', // Usually your GitHub org/user name.
103103
projectName: 'xpack-dev-tools.github.io', // Usually your repo name.
104104

105+
onBrokenAnchors: 'throw',
105106
onBrokenLinks: 'throw',
106107
onBrokenMarkdownLinks: 'throw',
107108

109+
onDuplicateRoutes: 'throw',
110+
108111
// Useful for the sitemap.xml, to avoid redirects, since
109112
// GitHub redirects all to trailing slash.
110113
trailingSlash: true,

0 commit comments

Comments
 (0)