Skip to content
Snippets Groups Projects
Commit f01992b8 authored by Sean Madsen's avatar Sean Madsen
Browse files

Add .md to internal hyperlinks

This way MkDocs will be able to report errors for broken links

Done with:

perl -0777 -i -pe \
's@(?<!!)\[([^\]]*)\]\((?!https?://)(?!mailto:)(/(?:(?:(?:/(?![\)#]))|[^/)#])(?!.md))+)/?(#[^)]*)?\)@[$1]($2.md$3)@gm' \
`find . -name '*.md'`
parent c0b79cf4
Branches
No related tags found
No related merge requests found
Showing
with 35 additions and 35 deletions
......@@ -7,7 +7,7 @@ addresses, you may want to return the name of the associated contact from the
Contact entity.
The CiviCRM API supports two methods of returning data from associated entities;
API Joins and [API Chaining](/api/chaining). API joins provide higher
API Joins and [API Chaining](/api/chaining.md). API joins provide higher
performance by making a single SQL query with a
[SQL join](https://dev.mysql.com/doc/refman/5.7/en/join.html), and are
generally preferable to API chaining where available.
......@@ -43,15 +43,15 @@ $result = civicrm_api3('Event', 'get', array(
));
```
!!! tip
Joins are available only with the [get](/api/actions/#getfields),
[getsingle](/api/actions/#getsingle), and [getcount](/api/actions/#getcount)
Joins are available only with the [get](/api/actions.md#getfields),
[getsingle](/api/actions.md#getsingle), and [getcount](/api/actions.md#getcount)
actions.
## Identifying fields eligible for a join
It is possible to join an entity to any other entity if the [xml](/core/architecture/#xml)
It is possible to join an entity to any other entity if the [xml](/core/architecture.md#xml)
schema identifies a [foreign key](https://en.wikipedia.org/wiki/Foreign_key) or
a pseudoconstant. The [getfields](/api/actions/#getfields) action identifies
a pseudoconstant. The [getfields](/api/actions.md#getfields) action identifies
fields that are eligible for an API join.
!!! warning
......
......@@ -78,7 +78,7 @@ your work by considering how you will provide automated testing for it.
Starting with the buildkit will make this much simpler for you to set up.
Getting started with unit-testing may seem daunting and onerous when you start,
but you will soon come to love the freedom it gives you. If you are
unsure how to proceed with testing ask the [community](/basics/community).
unsure how to proceed with testing ask the [community](/basics/community.md).
**Create a native [extension](/extensions/index.md)**.
If you have new functionality to add to CiviCRM, it probably belongs in an
......
......@@ -5,7 +5,7 @@ This chapter provides a general overview of the codebase organisation.
!!! tip
In order to explore the directories inside the CiviCRM repository it is
generally quickest to to make a local clone of the CiviCRM from GitHub,
or better yet install the [buildkit](/requirements/#buildkit).
or better yet install the [buildkit](/requirements.md#buildkit).
!!! tip
The CiviCRM codebase is object oriented. If you aren't familiar with object
......@@ -57,7 +57,7 @@ The CiviCRM **data access objects** (DAOs) are PHP classes that
([e.g. `CRM/Pledge/DAO`](https://github.com/civicrm/civicrm-core/tree/master/CRM/Pledge/DAO))
expose the contents
of the database. The release script generates each DAO automatically based
on the matching XML file in the [data schema](/framework/schema-definition). DAO objects tend to be instantiated in BAO classes.
on the matching XML file in the [data schema](/framework/schema-definition.md). DAO objects tend to be instantiated in BAO classes.
The DAO classes all extend the core
[DAO base class](https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/DAO.php)
......
......@@ -62,7 +62,7 @@ Try [CiviCRM](https://civicrm.org) for your database.
An internal hyperlink on mkdocs. Both of the following syntaxes work because the `.md` is optional. *Make sure to use an absolute path and precede the path with a slash, as shown below.*
```
[extensions](/extensions/basics)
[extensions](/extensions/basics.md)
[extensions](/extensions/basics.md)
```
......
......@@ -111,7 +111,7 @@ Alternative Text (ALT Tags) should be included for every image.
### Machine-readable symbols
Machine-readable symbols (e.g. files names, classes, functions, variables, database tables, database columns, commands, etc.) should be formatted either with inline monospace or preformatted code blocks (also in monospace). See the [markdown syntax](/markdownrules/#code) to use for such formatting.
Machine-readable symbols (e.g. files names, classes, functions, variables, database tables, database columns, commands, etc.) should be formatted either with inline monospace or preformatted code blocks (also in monospace). See the [markdown syntax](/markdownrules.md#code) to use for such formatting.
### URLs
......
......@@ -8,7 +8,7 @@ community-endorsed method for building your CiviCRM extensions.
Follow the installation instructions in the
[GitHub repository](https://github.com/totten/civix/).
After fulfilling the [Pre-Requisites](/extensions/basics/#pre-requisites), you can verify that all your configuration is correct by running the following command from
After fulfilling the [Pre-Requisites](/extensions/basics.md#pre-requisites), you can verify that all your configuration is correct by running the following command from
within your extensions directory with:
```bash
......@@ -31,7 +31,7 @@ civix help civicrm:ping
## Generating a skeletal extension {:#generate-module}
To generate a skeletal extension module, we will use `civix generate:module`
and pass in the name for our extension. See [here](/extensions/basics/#extension-names)
and pass in the name for our extension. See [here](/extensions/basics.md#extension-names)
for details of naming conventions.
Start with:
......@@ -48,7 +48,7 @@ civix generate:module com.example.myextension --license=AGPL-3.0
```
This command will report that it has created three files, following the
[standard extension structure](/extensions/files).
[standard extension structure](/extensions/files.md).
The command attempts to auto-detect authorship information (your name and
email address) by reading your
......@@ -191,9 +191,9 @@ to create a new entity. For this, you can use the command `civix generate:entity
1. Run `civix generate:entity MyEntity` (use CamelCase here). This creates a skeletal file for your XML schema, your BAO, and your API. It does NOT create a skeletal SQL file to create your table or DAO files at this time.
1. Edit the [XML schema definitions](/framework/schema-definition) in the `xml` folder to define your desired fields.
1. Edit the [XML schema definitions](/framework/schema-definition.md) in the `xml` folder to define your desired fields.
1. Generate a [DAO file](/core/architecture/#dao) and SQL to create your table. *(For now, civix does not handle this part. Hopefully these steps will become easier at some point in the future.)*
1. Generate a [DAO file](/core/architecture.md#dao) and SQL to create your table. *(For now, civix does not handle this part. Hopefully these steps will become easier at some point in the future.)*
1. Begin with a development installation of CiviCRM core (e.g. as installed with buildkit) which has a clean git status. We will henceforth refer to the CiviCRM root directory within this installation as `<civiroot>`. This core installation can actually be any installation, not necessarily the one you're using to develop your extension. We're basically just temporarily hijacking its environment to generate DAO and SQL.
......@@ -428,7 +428,7 @@ $values = CRM_Core_BAO_CustomValueTable::getValues($params);
### Add a hook function
CiviCRM
[hook functions](/hooks/)
[hook functions](/hooks.md)
allow extensions to run extra logic as
part of the normal CiviCRM processing. For example,
`hook_civicrm_buildForm()` allows a module to run logic whenever a
......
......@@ -88,10 +88,10 @@ the entire ecosystem.
Extension authors may make their extensions available to the larger CiviCRM
community by publishing them in the [Extensions Directory](https://civicrm.org/extensions).
>> See: [Publish](/extensions/publish)
>> See: [Publish](/extensions/publish.md)
Extensions which undergo a [formal review](/extend-stages#formal-review) may be
Extensions which undergo a [formal review](/extend-stages.md#formal-review) may be
distributed in-app. Approved extensions can be [installed
directly](https://docs.civicrm.org/user/en/master/introduction/extensions/#installing-extensions)
into CiviCRM via the user interface, lowering the barrier to entry for many users.
>> See: [Automated Distribution](/extensions/publish#automated-distribution)
>> See: [Automated Distribution](/extensions/publish.md#automated-distribution)
......@@ -164,7 +164,7 @@ The review process assess several criteria, and as a rule of thumb, *Contributed
To become an extensions reviewer, please take the following steps:
1. Set up accounts on these sites *(if you need help, reach out through the [community resources](/basics/community))*
1. Set up accounts on these sites *(if you need help, reach out through the [community resources](/basics/community.md))*
1. [civicrm.org](https://civicrm.org/user/)
1. [issues.civicrm.org](https://issues.civicrm.org/jira/login.jsp) - log in using your civicrm.org account
1. Contact the [CiviCRM Extension Ecosystem Working
......
......@@ -14,9 +14,9 @@ Added in CiviCRM 4.7.11.
!!! note "Comparison of Related Hooks"
This is one of three related hooks. The hooks:
- [hook_civicrm_navigationMenu](/hooks/hook_civicrm_navigationMenu) manipulates the navigation bar at the top of every screen
- [hook_civicrm_alterMenu](/hooks/hook_civicrm_alterMenu) manipulates the list of HTTP routes (using PHP arrays)
- [hook_civicrm_xmlMenu](/hooks/hook_civicrm_xmlMenu) manipulates the list of HTTP routes (using XML files)
- [hook_civicrm_navigationMenu](/hooks/hook_civicrm_navigationMenu.md) manipulates the navigation bar at the top of every screen
- [hook_civicrm_alterMenu](/hooks/hook_civicrm_alterMenu.md) manipulates the list of HTTP routes (using PHP arrays)
- [hook_civicrm_xmlMenu](/hooks/hook_civicrm_xmlMenu.md) manipulates the list of HTTP routes (using XML files)
......
......@@ -5,7 +5,7 @@
This hook defines available CiviCRM case types.
Note that this hook is actually an adapter
for [hook_civicrm_managed](/hooks/hook_civicrm_managed)
for [hook_civicrm_managed](/hooks/hook_civicrm_managed.md)
, so any case Type defined inside this hook will be automatically
inserted, updated, deactivated, and deleted in tandem with enabling,
disabling, and uninstalling the module. For more background, see [API
......
......@@ -5,7 +5,7 @@
!!! warning "Deprecation Notice"
This hook is called in very few places in version 4.5+ because most contact reference fields have been migrated to go through the api instead of constructing an ad-hoc query. It will be removed in a future version.
For a substitute, see [hook_civicrm_apiWrappers](/hooks/hook_civicrm_apiWrappers).
For a substitute, see [hook_civicrm_apiWrappers](/hooks/hook_civicrm_apiWrappers.md).
Use this hook to populate the list of contacts returned by Contact
......
......@@ -3,7 +3,7 @@
## Description
!!! warning "Deprecated"
This hook is deprecated in 4.7 in favor of [hook_civicrm_fieldOptions](/hooks/hook_civicrm_fieldOptions). Use that instead for modifying all option lists, not limited to custom fields.
This hook is deprecated in 4.7 in favor of [hook_civicrm_fieldOptions](/hooks/hook_civicrm_fieldOptions.md). Use that instead for modifying all option lists, not limited to custom fields.
## Definition
......
......@@ -2,7 +2,7 @@
## Description
This hook is called for declaring managed entities via API. [See this tutorial](/extensions/civix/#generate-entity) for a more complete description of creating a managed entity.
This hook is called for declaring managed entities via API. [See this tutorial](/extensions/civix.md#generate-entity) for a more complete description of creating a managed entity.
## Definition
......
# hook_civicrm_optionValues
!!! warning "Deprecated"
This hook is deprecated in 4.7 in favor of [hook_civicrm_fieldOptions](/hooks/hook_civicrm_fieldOptions). Use that instead for modifying all option lists, not limited to items in the `civicrm_option_values` table.
This hook is deprecated in 4.7 in favor of [hook_civicrm_fieldOptions](/hooks/hook_civicrm_fieldOptions.md). Use that instead for modifying all option lists, not limited to items in the `civicrm_option_values` table.
## Description
......
......@@ -52,4 +52,4 @@ new case.
## See also
[hook_civicrm_pre_case_merge](/hooks/hook_civicrm_pre_case_merge)
\ No newline at end of file
[hook_civicrm_pre_case_merge](/hooks/hook_civicrm_pre_case_merge.md)
\ No newline at end of file
......@@ -28,8 +28,8 @@ Added in CIviCRM 4.5
## Example
See for an example the documentation of the
[hook_civicrm_post_case_merge](/hooks/hook_civicrm_post_case_merge)
[hook_civicrm_post_case_merge](/hooks/hook_civicrm_post_case_merge.md)
## See also
[hook_civicrm_post_case_merge](/hooks/hook_civicrm_post_case_merge)
\ No newline at end of file
[hook_civicrm_post_case_merge](/hooks/hook_civicrm_post_case_merge.md)
\ No newline at end of file
......@@ -15,7 +15,7 @@ This hook is part of a general permissions refactoring which is not yet
complete.
The Contact entity is fully covered
by [hook_civicrm_aclWhereClause](/hooks/hook_civicrm_aclWhereClause)
by [hook_civicrm_aclWhereClause](/hooks/hook_civicrm_aclWhereClause.md)
and that is the recommended hook for limiting access to contacts. For
other entities, we need to increase coverage of this hook by using the
api internally instead of directly executing sql, and by standardizing
......
......@@ -5,7 +5,7 @@
!!! warning "Deprecation Notice"
This hook has been deprecated in 4.7.
For a substitute, see [hook_civicrm_tabset](/hooks/hook_civicrm_tabset)
For a substitute, see [hook_civicrm_tabset](/hooks/hook_civicrm_tabset.md)
This hook is called when composing the tabs to display when viewing a
......
......@@ -5,7 +5,7 @@
This hook is called to get all the values for the tokens registered. Use
it to overwrite or reformat existing token values, or supply the values
for custom tokens you have defined in
[hook_civicrm_tokens](/hooks/hook_civicrm_tokens).\
[hook_civicrm_tokens](/hooks/hook_civicrm_tokens.md).\
See [this
article](https://civicrm.org/blog/colemanw/create-your-own-tokens-for-fun-and-profit) for
usage examples.
......
......@@ -4,7 +4,7 @@
This hook is called to allow custom tokens to be defined. Their values
will need to be supplied by
[hook_civicrm_tokenValues](/hooks/hook_civicrm_tokenValues).\
[hook_civicrm_tokenValues](/hooks/hook_civicrm_tokenValues.md).\
See [this
article](https://civicrm.org/blog/colemanw/create-your-own-tokens-for-fun-and-profit)
for usage examples.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment