Skip to content

Commit f27d7d7

Browse files
authored
Merge pull request #77 from kbvernon/overhaul
Overhaul
2 parents bc19bd2 + eb04308 commit f27d7d7

94 files changed

Lines changed: 4959 additions & 3406 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CLAUDE.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
## Overview
2+
3+
This repo contains code and data required to compile the **Quarto-based
4+
documentation website** for the [extendr](https://github.com/extendr/extendr)
5+
project — a framework for writing R packages using Rust. Published at
6+
https://extendr.github.io.
7+
8+
## Codebase
9+
10+
**extendr**
11+
repo: https://github.com/extendr/extendr
12+
description: The core Rust library. Read source files there directly when you
13+
need to understand extendr's API, types, macros, or implementation details.
14+
15+
**rextendr**
16+
repo: https://github.com/extendr/rextendr
17+
description: The R package that scaffolds extendr projects and generates R
18+
wrappers. Read source files there directly when you need to understand
19+
`rextendr::use_extendr()`, template generation, or the wrapper generation
20+
architecture.
21+
22+
## Repository Structure
23+
24+
```
25+
.
26+
├── _quarto.yml # Site config: navbar, sidebars, theme
27+
├── index.qmd # Landing page (3 cards: Get Started, Examples, Community)
28+
├── get-started.qmd # 4-step install guide (Rust, R ≥ 4.2, rextendr, rust-analyzer)
29+
├── changelog.qmd # Dynamically fetches extendr CHANGELOG.md from GitHub
30+
├── user-guide/ # User guide
31+
├── intro-rust/ # Intro to Rust for R developers
32+
├── contributing/ # Contributor guide (style, colors, scaffolding)
33+
├── blog/ # Blog posts
34+
├── css/ # Custom SCSS
35+
├── images/ # Image files
36+
└── _extensions/ # Quarto extensions
37+
```
38+
39+
## Quarto (`_quarto.yml`)
40+
41+
This is a Quarto website. The main site structure and metadata are defined in
42+
`_quarto.yml`, including the navbar, sidebars, theme, and page execution
43+
settings. When adding or reorganizing pages, `_quarto.yml` is the first place to
44+
look.
45+
46+
## Content Sections
47+
48+
- Get Started (`get-started.qmd`): An installation guide for setting up extendr
49+
and rextendr.
50+
- User Guide (`user-guide/`): The main guide for R package development with
51+
extendr.
52+
- Rust Basics (`intro-rust/`): An opinionated introduction to Rust for R
53+
developers, covering the concepts needed to use extendr effectively.
54+
- Contributing (`contributing/`): Guidelines for contributing to the extendr
55+
documentation, including writing style, branding, and scaffolding details.
56+
57+
58+
## Claude Behavior
59+
60+
- DO NOT BE OBSEQUIOUS WITH PRAISE.
61+
- BE CONCISE. Only elaborate when that is requested.
62+
- When editing markdown files, please keep line length to 80 characters.
63+
- DO NOT EDIT CLAUDE.md WITHOUT ASKING PERMISSION.

CONTRIBUTING.md

Lines changed: 63 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,97 @@
11
# Contributing
22

3-
We welcome contributions to the extendr project. Contributions come in many forms. Please carefully read and follow these guidelines. This will help us make the contribution process easy and effective for everyone involved. It also communicates that you agree to respect the time of the developers managing and developing this project.
3+
Contributions to the extendr project can come in many forms, and we welcome all
4+
of them. Please carefully read and follow the guidelines in our
5+
[Contributing Guide](https://extendr.github.io/contributing/index.html). This
6+
will help us make the contribution process easy and effective for everyone
7+
involved. It also communicates that you agree to respect the time of the
8+
developers managing and developing this project.
49

10+
## Code of Conduct {#code-of-conduct}
511

6-
## Quicklinks
12+
We take our open source community seriously and hold ourselves and other
13+
contributors to high standards of communication. By participating and
14+
contributing to this project, you agree to uphold our [Code of
15+
Conduct.](https://github.com/extendr/extendr/blob/master/CODE-OF-CONDUCT.md)
716

8-
* [Code of Conduct](#code-of-conduct)
9-
* [Getting Started](#getting-started)
10-
* [Issues](#issues)
11-
* [Pull Requests](#pull-requests)
12-
* [Getting Help](#getting-help)
13-
* [Authorship](#authorship)
14-
* [Attribution](#attribution)
17+
## Getting Started {#getting-started}
1518

16-
## Repo structure
17-
18-
This is the source of the extendr project's website.
19-
20-
- `user-guide` Is the user guide for using `extendr-api`
21-
- `blog` is the source code for blogs for the extendr-project
22-
- `intro-rust` contains souce code for an Introduction to Rust for R developers
23-
24-
## Using extendr code chunks
25-
26-
Whenever using extendr code, use the `extendrsrc` and `extendr` knitr engines.
27-
The user-guide/serde-integration.qmd is the best example. Try to emulate this style.
28-
29-
## User guide
30-
31-
The user guide is a friendly introduction to the `extendr-api` crate. Any entries into the user guide should be **concise** and use **simple language**. Always use code chunks whenever using extendr code.
32-
33-
The structure is roughly as follows:
34-
35-
````
36-
```
37-
---
38-
title: "An informative title"
39-
---
40-
41-
- Motivate the functionality that the entry will cover
42-
- No more than 4 sentences
43-
44-
## The feature
45-
46-
- Describe the functionality that will be covered
47-
- Discuss pre-reqs if any
48-
49-
## Basic usage
50-
51-
- Provide a basic example
52-
- Discuss your code prior to showing the code
53-
54-
```{extendrsrc}
55-
// your rust code
56-
```
57-
58-
- Summarise and explicate
59-
60-
## Advanced usage
61-
62-
- Motivate advanced usage
63-
- Provide an example
64-
65-
```{extendrsrc}
66-
// your rust code
67-
```
68-
69-
- Summarize and explicate
70-
71-
## See also
72-
73-
- Provide useful links to other docs on the site or externally
74-
```
75-
````
76-
77-
### Writing style
78-
79-
- use of second person is fine, but you cannot write about one's intention in the second person.
80-
- Banned phrases ❌:
81-
- "you want to"
82-
- "you need to"
83-
- never use `print()` to print an R object
84-
85-
86-
## Code of Conduct
87-
88-
We take our open source community seriously and hold ourselves and other contributors to high standards of communication. By participating and contributing to this project, you agree to uphold our [Code of Conduct.](https://github.com/extendr/extendr/blob/master/CODE-OF-CONDUCT.md)
89-
90-
## Getting Started
91-
92-
Contributions can be made via Issues and Pull Requests (PRs). A few general guidelines cover both:
19+
Contributions can be made via Issues and Pull Requests (PRs). A few general
20+
guidelines cover both:
9321

9422
- Please search for existing Issues and PRs before creating your own.
95-
- We work hard to makes sure issues are handled in a timely manner but, depending on the problem and maintainer availability, it could take a while to investigate the problem. A friendly ping in the comment thread can help draw attention if an issue has not received any attention for a while. Please keep in mind that all contributors to this project are volunteers and may have other commitments they need to attend to.
23+
- We work hard to makes sure issues are handled in a timely manner but,
24+
depending on the problem and maintainer availability, it could take a while
25+
to investigate the problem. A friendly ping in the comment thread can help
26+
draw attention if an issue has not received any attention for a while.
27+
Please keep in mind that all contributors to this project are volunteers and
28+
may have other commitments they need to attend to.
9629

97-
### Issues
30+
### Issues {#issues}
9831

99-
Issues should be used to report problems with the library, request a new feature, or to discuss potential changes before a PR is created. Please **do not** use Issues to request user support.
32+
Issues should be used to report problems with the library, request a new
33+
feature, or to discuss potential changes before a PR is created. Please **do
34+
not** use Issues to request user support.
10035

101-
Whenever possible, please provide a minimal reproducible example (reprex) to any bug report that you are filing. The more minimal your example, the more likely that somebody else can figure out what the problem is, so please remove any code that isn't relevant to the problem you are reporting.
36+
Whenever possible, please provide a minimal reproducible example (reprex) to any
37+
bug report that you are filing. The more minimal your example, the more likely
38+
that somebody else can figure out what the problem is, so please remove any code
39+
that isn't relevant to the problem you are reporting.
10240

103-
Please keep issues focused on one particular problem. Don't feel shy about opening multiple issues if you're encountering more than one problem.
41+
Please keep issues focused on one particular problem. Don't feel shy about
42+
opening multiple issues if you're encountering more than one problem.
10443

105-
If you find an Issue that addresses the problem you're having, please add your own reproduction information to the existing issue rather than creating a new one. Adding a [reaction](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) can also help be indicating to our maintainers that a particular problem is affecting more than just the reporter.
44+
If you find an Issue that addresses the problem you're having, please add your
45+
own reproduction information to the existing issue rather than creating a new
46+
one. Adding a
47+
[reaction](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/)
48+
can also help indicate to our maintainers that a particular problem is affecting
49+
more than just the reporter.
10650

107-
### Pull Requests
51+
### Pull Requests {#pull-requests}
10852

109-
PRs are always welcome and can be a quick way to get your fix or improvement slated for the next release. However, please always open an Issue before submitting a PR.
53+
PRs are always welcome and can be a quick way to get your fix or improvement
54+
slated for the next release. However, please always open an Issue before
55+
submitting a PR.
11056

11157
In general, PRs should:
11258

11359
- Address a single concern in the least number of changed lines as possible.
114-
- Only fix/add the functionality in question **OR** address wide-spread whitespace/style issues, not both.
60+
- Only fix/add the functionality in question **OR** address wide-spread
61+
whitespace/style issues, not both.
11562
- Add unit or integration tests for fixed or changed functionality.
11663
- Include documentation.
117-
- Indicate which Issue they address by using the words `Closes #<issue number>` or `Fixes #<issue number>` in the body of the PR and/or the git commit message. (See the [GitHub Documentation](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for details about linking PRs to Issues and automatically closing Issues when merging PRs.)
118-
64+
- Indicate which Issue they address by using the words `Closes #<issue number>`
65+
or `Fixes #<issue number>` in the body of the PR and/or the git commit
66+
message. (See the [GitHub Documentation](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword)
67+
for details about linking PRs to Issues and automatically closing Issues when
68+
merging PRs.)
11969

120-
In general, we follow the [GitHub flow](https://guides.github.com/introduction/flow/index.html) development model:
70+
In general, we follow the [GitHub flow](https://guides.github.com/introduction/flow/index.html)
71+
development model:
12172

12273
1. Fork the repository to your own Github account
12374
2. Clone the project to your machine
12475
3. Create a branch locally with a succinct but descriptive name
12576
4. Commit changes to the branch
12677
5. Push changes to your fork
127-
6. Open a PR in our repository and follow the PR template so that we can efficiently review the changes.
78+
6. Open a PR in our repository and follow the PR template so that we can
79+
efficiently review the changes.
12880

129-
## Getting Help
81+
## Getting Help {#getting-help}
13082

131-
Please join us on our [Discord server](https://discord.gg/7hmApuc) for general conversations and questions that don't belong into a GitHub issue.
83+
Please join us on our [Discord server](https://discord.gg/7hmApuc) for general
84+
conversations and questions that don't belong in a GitHub issue.
13285

133-
## Authorship
86+
## Authorship {#authorship}
13487

135-
Contributors who have made multiple, sustained, and/or non-trivial contributions to the project may be added to the author list. New author names will always be added at the end of the list, so that author order reflects chronological order of joining the project. All authorship decisions are at the discretion of the current maintainers of the project.
88+
Contributors who have made multiple, sustained, and/or non-trivial contributions
89+
to the project may be added to the author list. New author names will always be
90+
added at the end of the list, so that author order reflects chronological order
91+
of joining the project. All authorship decisions are at the discretion of the
92+
current maintainers of the project.
13693

137-
## Attribution
94+
## Attribution {#attribution}
13895

139-
This document was adapted from the [General Contributing Guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) of the auth0 project.
96+
This document was adapted from the [General Contributing Guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md)
97+
of the auth0 project.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Mickaël Canouil
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
title: Iconify
2+
author: Mickaël Canouil
3+
version: 3.1.0
4+
quarto-required: ">=1.5.57"
5+
contributes:
6+
shortcodes:
7+
- iconify.lua

0 commit comments

Comments
 (0)