Skip to content

Commit a107fba

Browse files
authored
Improve internal linking: add chapter anchors and fix references (#241)
1 parent cf66e37 commit a107fba

16 files changed

+45
-45
lines changed

chapters/additional_resources.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Additional resources {#AdditionalResources}
1+
# Additional resources {#sec-additional-resources}
22

33
There are a number of further resources to help with contributions to R.
44

chapters/developer_tools.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Developer Tools {#DevTools}
1+
# Developer Tools {#sec-dev-tools}
22

33
This chapter lists resources and tools which R developers may use. Here we will go over some commonly used tools that are relevant to R’s workflow. As there are several ways to accomplish these tasks, this chapter reflects methods suitable for new contributors. Experienced contributors may desire a different approach.
44

chapters/documenting.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Documenting {#Doc}
1+
# Documenting {#sec-doc}
22

33
R has a substantial body of documentation, comprising help files for the core packages and a set of manuals aimed at users (An Introduction to R, R Data Import/Export), system administrators (R Installation and Administration) and developers (Writing R Extensions, The R language definition, and R Internals). This documentation was developed by the R Core Team with input from external contributors. The continuing involvement of the user community is important in maintaining this valuable documentation.
44

chapters/finding_the_source.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Finding the Source {#FindSource}
1+
# Finding the Source {#sec-find-source}
22

33
This chapter discusses how you can have an overview of the R codebase. For instance, where to find the implementation of a base function written in R and where to find a primitive implementation written in C. You may want to find the source code of a function just out of curiosity or maybe to gain more insight into what a particular function is actually doing. Whatever be the case, reading the source code will help you to learn a lot about any function.
44

@@ -31,7 +31,7 @@ but this does not include `-` so you can search for a function or S3 method as f
3131
"quantile.ecdf <- function" extension:R
3232
```
3333

34-
* Search in the R sources using grep: The [R Patched and Development Versions](#GetStart) chapter discusses how to download the R sources directly or from the svn repository. Now if the sources are in `~/R-devel`, you can search as follows:
34+
* Search in the R sources using grep: The [R Patched and Development Versions](#sec-get-start) chapter discusses how to download the R sources directly or from the svn repository. Now if the sources are in `~/R-devel`, you can search as follows:
3535

3636
```
3737
grep -R "body <- function" ~/R-devel/src

chapters/getting_started.qmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# R Patched and Development Versions {#GetStart}
1+
# R Patched and Development Versions {#sec-get-start}
22

33
These instructions cover how to install R from source or from binaries.
44
Contributors will typically need to work with the patched or development versions of R.
@@ -141,7 +141,7 @@ make check
141141
```
142142
143143
Once you successfully built R from source you can modify the R source code to fix an issue: Prepare a patch (See [this guide](https://www.r-project.org/bugs.html#how-to-submit-patches)) and after checking that R works as intended (`make check-devel`) submit the patch for consideration by R Core.
144-
(See the [lifecycle of a patch](#FixBug) chapter).
144+
(See the [lifecycle of a patch](#sec-lifecycle-of-a-patch) chapter).
145145
146146
147147
To use the `r-devel` version in RStudio, you can do the following:

chapters/introduction.qmd

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# Introduction
1+
# Introduction {sec-introduction}
22

3-
This guide is a comprehensive resource for contributing to base R^[The [set of packages](https://cran.r-project.org/doc/FAQ/R-FAQ.html#Add_002don-packages-in-R) in the base R distribution that are maintained by the R Core Team.] – for both new and experienced contributors. It is maintained by the [R Contribution Working Group](/working-group). We welcome your contributions to base R!
3+
This guide is a comprehensive resource for contributing to base R^[The [set of packages](https://cran.r-project.org/doc/FAQ/R-FAQ.html#Add_002don-packages-in-R) in the base R distribution that are maintained by the R Core Team.] – for both new and experienced contributors. It is maintained by the [R Contribution Working Group](https://contributor.r-project.org/working-group). We welcome your contributions to base R!
44

55
## Overview of different ways of contributing to the base R Project
66

77
Contributions to base R are possible in a number of different ways. Some of them are listed below:
88

9-
1. Contributing to bug fixing: Refer to [Issue Tracking](#IssueTrack) and [Reviewing Bugs](#ReviewBugs).
10-
2. Contributing to translations: Refer to [Translations](#message-translations).
11-
3. Testing R before release: Refer to [Testing Pre-release R Versions](#TestRVer).
12-
4. Contributing to documentation, including this guide: Refer to [Documenting R](#Doc) and [Contributing to this guide](#how-to-contribute-to-this-guide).
9+
1. Contributing to bug fixing: Refer to [Issue Tracking](#sec-issue-tracking) and [Reviewing Bugs](#sec-reviewing-bugs).
10+
2. Contributing to translations: Refer to [Message Translations](#sec-message-translations).
11+
3. Testing R before release: Refer to [Testing Pre-release R Versions](#sec-testing-pre-releases).
12+
4. Contributing to documentation, including this guide: Refer to [Documenting R](#sec-doc) and [Contributing to this guide](#how-to-contribute-to-this-guide).
1313

1414
<!-- TODO(Saranjeet): Welcome to Bug BBQ slides -->
1515
<!-- TODO(Saranjeet): README on Bug BBQ repo -->
@@ -18,37 +18,37 @@ Contributions to base R are possible in a number of different ways. Some of them
1818

1919
The guide is intended as a comprehensive resource for contributing to base R. The following chapter outline provides an overview with links to sections for getting started with contributing.
2020

21-
- The [Introduction](#Introduction) chapter provides an overview of different ways of contributing to the R project, a quick start to the guide, and a section on how to contribute to the guide itself.
21+
- The [Introduction](#sec-introduction) chapter provides an overview of different ways of contributing to the R project, a quick start to the guide, and a section on how to contribute to the guide itself.
2222

23-
- The [R Patched and Development Versions](#GetStart) chapter covers instructions on how to install R from source or from binaries and also discusses the tools required to build R.
23+
- The [R Patched and Development Versions](#sec-get-start) chapter covers instructions on how to install R from source or from binaries and also discusses the tools required to build R.
2424

25-
- The [Issue Tracking](#IssueTrack) chapter covers how contributors can support issue tracking in R, how to get an account on R's Bugzilla, how to navigate Bugzilla and search for bugs to contribute to.
25+
- The [Issue Tracking](#sec-issue-tracking) chapter covers how contributors can support issue tracking in R, how to get an account on R's Bugzilla, how to navigate Bugzilla and search for bugs to contribute to.
2626

27-
- The [Reporting Bugs](#ReportingBugs) chapter discusses what condition may or may not be a bug and how to report bugs if you find them.
27+
- The [Reporting Bugs](#sec-reporting-bugs) chapter discusses what condition may or may not be a bug and how to report bugs if you find them.
2828

29-
- The [Submitting Feature Requests](#FeatureRequests) chapter discusses how to submit feature requests and shares some examples submitted to Bugzilla.
29+
- The [Submitting Feature Requests](#sec-feature-requests) chapter discusses how to submit feature requests and shares some examples submitted to Bugzilla.
3030

31-
- The [Reviewing Bugs](#ReviewBugs) chapter discusses how you can make a contribution to reviewing bug reports.
31+
- The [Reviewing Bugs](#sec-reviewing-bugs) chapter discusses how you can make a contribution to reviewing bug reports.
3232

33-
- The [Finding the Source](#FindSource) chapter provides an overview of the R codebase and helps with finding source code of base functions written in R and/or C.
33+
- The [Finding the Source](#sec-find-source) chapter provides an overview of the R codebase and helps with finding source code of base functions written in R and/or C.
3434

35-
- The [Lifecycle of a Patch](#FixBug) chapter discusses how to create a patch to propose a bug fix.
35+
- The [Lifecycle of a Patch](#sec-lifecycle-of-a-patch) chapter discusses how to create a patch to propose a bug fix.
3636

37-
- The [Documenting](#Doc) chapter describes the format and style guide for help files in R, how to report and review issues in the existing documentation, and how to propose changes.
37+
- The [Documenting](#sec-doc) chapter describes the format and style guide for help files in R, how to report and review issues in the existing documentation, and how to propose changes.
3838

39-
- The [Message Translations](#MessageTranslations) chapter covers internationalization in R, i.e., the display of messages in languages other than English.
39+
- The [Message Translations](#sec-message-translations) chapter covers internationalization in R, i.e., the display of messages in languages other than English.
4040

41-
- The [Testing Pre-release R Versions](#TestRVer) chapter discusses how you can help with testing of pre-release versions of R.
41+
- The [Testing Pre-release R Versions](#sec-testing-pre-releases) chapter discusses how you can help with testing of pre-release versions of R.
4242

43-
- For more information on how to engage with the community and ask for help, refer to the [Where to Get Help](#WhereToGetHelp) chapter.
43+
- For more information on how to engage with the community and ask for help, refer to the [Where to Get Help](#sec-where-to-get-help) chapter.
4444

45-
- To keep up with the developments in R refer to the resources available in the [News and Announcements](#News) chapter.
45+
- To keep up with the developments in R refer to the resources available in the [News and Announcements](#sec-news) chapter.
4646

47-
- Tools that may be useful for R developers are available in the [Developer Tools](#DevTools) chapter.
47+
- Tools that may be useful for R developers are available in the [Developer Tools](#sec-dev-tools) chapter.
4848

49-
- Additional resources for contributing to R are available in the [Additional Resources](#AdditionalResources) chapter.
49+
- Additional resources for contributing to R are available in the [Additional Resources](#sec-additional-resources) chapter.
5050

51-
- The [R Core Developers](#CoreDev) chapter contains a list of the former and current members of the R Core Team who have write access to the R source.
51+
- The [R Core Developers](#sec-core-dev) chapter contains a list of the former and current members of the R Core Team who have write access to the R source.
5252

5353
## How to contribute to this guide itself? {#how-to-contribute-to-this-guide}
5454

chapters/issue_tracking.qmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
# Issue Tracking {#IssueTrack}
1+
# Issue Tracking {#sec-issue-tracking}
22

33
Base R uses [Bugzilla](https://bugs.r-project.org/) for issue tracking and reporting bugs.
44

55
## How to contribute to issue tracking?
66

77
Contributors can support issue tracking in R by
88

9-
1. [Reporting bugs](#ReportingBugs) or [submitting feature requests](#FeatureRequests) (bug reports filed under the "Wishlist" component in Bugzilla),
9+
1. [Reporting bugs](#sec-reporting-bugs) or [submitting feature requests](#sec-feature-requests) (bug reports filed under the "Wishlist" component in Bugzilla),
1010

11-
2. [Reviewing bug reports](reviewing_bugs.qmd) to help close reports where no fix is needed or to help narrow down the problem and identify what needs to be fixed, or
11+
2. [Reviewing bug reports](#sec-reviewing-bugs) to help close reports where no fix is needed or to help narrow down the problem and identify what needs to be fixed, or
1212

13-
3. [Proposing changes](lifecycle_of_a_patch.qmd) to code or documentation that will close an issue.
13+
3. [Proposing changes](#sec-lifecycle-of-a-patch) to code or documentation that will close an issue.
1414

1515
## How to get a Bugzilla account? {#bugzilla-account}
1616

chapters/lifecycle_of_a_patch.qmd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Lifecycle of a Patch {#FixBug}
1+
# Lifecycle of a Patch {#sec-lifecycle-of-a-patch}
22

33
## Introduction
44

@@ -26,7 +26,7 @@ To submit a patch, you need:
2626
```
2727

2828
Depending on the operative system you might need to do some steps before that.
29-
The different steps required can be found in previous chapters of the book, for [Windows](#windowsSource), [macOS](#macos) and [Linux](#linux).
29+
The different steps required can be found in previous chapters of the book, for [Windows](#windows), [macOS](#macos) and [Linux](#linux).
3030

3131
## How to prepare a patch?
3232

@@ -40,7 +40,7 @@ Then you should check that R still works as expected via:
4040
make check-devel
4141
```
4242

43-
If there is no test for your proposed change you can add a new regression test, following [the guidelines](#TestRVer).
43+
If there is no test for your proposed change you can add a new regression test, following [the guidelines](#sec-testing-pre-releases).
4444

4545
Then you should bring changes from the repository into the working copy, in case any other change has been introduced, and create a patch.diff file with just the changes you want to propose to the R core:
4646

@@ -100,7 +100,7 @@ When creating a patch for submission, there are several things that you can do t
100100

101101
1. Make sure to follow [R's coding standards](https://cran.r-project.org/doc/manuals/r-release/R-ints.html#R-coding-standards) (R is a GNU project and there are GNU coding standards). The coding style of the patch you submit should largely match with the codebase it is being applied to. If your patch has one or two minor discrepancies, then those may be fixed by the core developer who will eventually test your patch. However, if there are systematic deviations from the style guides your patch will be put on hold until you fix the formatting issues. There is no comprehensive official R style manual, however some nearly universal standards are summarised in [this article](https://cran.r-project.org/web/packages/rockchalk/vignettes/Rstyle.pdf).
102102

103-
2. Be aware of backwards-compatibility considerations. While the core developer who eventually handles your patch will make the final call on whether something is acceptable, thinking about backwards-compatibility early will help prevent having your patch rejected on these grounds. Put yourself in the shoes of someone whose code will be broken by the change(s) introduced by the patch. It is quite likely that any change made will break someone's code, so you need to have a good reason to make a change as you will be forcing someone to update their code. This obviously does not apply to new functions or new arguments. New arguments should be optional and have default values which maintain the existing behaviour. If in doubt, [discuss](#WhereToGetHelp) the issue with experienced developers.
103+
2. Be aware of backwards-compatibility considerations. While the core developer who eventually handles your patch will make the final call on whether something is acceptable, thinking about backwards-compatibility early will help prevent having your patch rejected on these grounds. Put yourself in the shoes of someone whose code will be broken by the change(s) introduced by the patch. It is quite likely that any change made will break someone's code, so you need to have a good reason to make a change as you will be forcing someone to update their code. This obviously does not apply to new functions or new arguments. New arguments should be optional and have default values which maintain the existing behaviour. If in doubt, [discuss](#sec-where-to-get-help) the issue with experienced developers.
104104

105105
3. Make sure you have proper tests to verify that your patch works as expected. Patches may not be accepted without the proper tests.
106106

chapters/message_translations.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ editor_options:
44
wrap: 72
55
---
66

7-
# Message Translations
7+
# Message Translations {#sec-message-translations}
88

99
This chapter covers internationalization in R, i.e., the display of
1010
messages in languages other than English. All output in R (such as

chapters/news_and_announcements.qmd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# News and Announcements {#News}
1+
# News and Announcements {#sec-news}
22

33
Here are some resources that can be useful to keep up with the developments in R:
44

0 commit comments

Comments
 (0)