diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index a3a4ade0acc454e5258e69e3692f76a561386ef3..0000000000000000000000000000000000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,124 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, neurodiversity, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the overall - community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or advances of - any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email address, - without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community leaders are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community leaders have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at -patrick.marsceill@gmail.com. -All complaints will be reviewed and investigated promptly and fairly. - -All community leaders are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community leaders will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community leaders, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series of -actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or permanent -ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within the -community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 2.1, available at -[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. - -For answers to common questions about this code of conduct, see the FAQ at -[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at -[https://www.contributor-covenant.org/translations][translations]. - -[homepage]: https://www.contributor-covenant.org -[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html -[Mozilla CoC]: https://github.com/mozilla/diversity -[FAQ]: https://www.contributor-covenant.org/faq -[translations]: https://www.contributor-covenant.org/translations diff --git a/docs/search.md b/docs/search.md deleted file mode 100644 index b94523b519929469a3d3a8976f5505bf8e5d74b3..0000000000000000000000000000000000000000 --- a/docs/search.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -layout: default -title: Search -nav_order: 7 -nav_exclude: true ---- - -# Search -{: .no_toc } - -## Table of contents -{: .no_toc .text-delta } - -1. TOC -{:toc} - ---- - -Just the Docs uses [lunr.js](http://lunrjs.com) to add a client-side search interface powered by a JSON index that Jekyll generates. -All search results are shown in an auto-complete style interface (there is no search results page). -By default, all generated HTML pages are indexed using the following data points: - -- Page title -- Page content -- Page URL - -## Enable search in configuration - -In your site's `_config.yml`, enable search: - -```yaml -# Enable or disable the site search -# Supports true (default) or false -search_enabled: true -``` - -### Search granularity - -Pages are split into sections that can be searched individually. -The sections are defined by the headings on the page. -Each section is displayed in a separate search result. - -```yaml -# Split pages into sections that can be searched individually -# Supports 1 - 6, default: 2 -search.heading_level: 2 -``` - -### Search previews - -A search result can contain previews that show where the search words are found in the specific section. - -```yaml -# Maximum amount of previews per search result -# Default: 3 -search.previews: 3 - -# Maximum amount of words to display before a matched word in the preview -# Default: 5 -search.preview_words_before: 5 - -# Maximum amount of words to display after a matched word in the preview -# Default: 10 -search.preview_words_after: 10 -``` - -### Search tokenizer - -The default is for hyphens to separate tokens in search terms: -`gem-based` is equivalent to `gem based`, matching either word. -To allow search for hyphenated words: - -```yaml -# Set the search token separator -# Default: /[\s\-/]+/ -# Example: enable support for hyphenated search words -search.tokenizer_separator: /[\s/]+/ -``` - -### Display URL in search results - -```yaml -# Display the relative url in search results -# Supports true (default) or false -search.rel_url: false -``` - -### Display search button - -The search button displays in the bottom right corner of the screen and triggers the search input when clicked. - -```yaml -# Enable or disable the search button that appears in the bottom right corner of every page -# Supports true or false (default) -search.button: true -``` - -## Hiding pages from search - -Sometimes you might have a page that you don't want to be indexed for the search nor to show up in search results, e.g., a 404 page. -To exclude a page from search, add the `search_exclude: true` parameter to the page's YAML front matter: - -#### Example - -{: .no_toc } - -```yaml ---- -layout: default -title: Page not found -nav_exclude: true -search_exclude: true ---- - -``` - -## Generate search index when used as a gem - -If you use Just the Docs as a remote theme, you do not need the following steps. - -If you use the theme as a gem, you must initialize the search by running this `rake` command that comes with `just-the-docs`: - -```bash -$ bundle exec just-the-docs rake search:init -``` - -This command creates the `assets/js/zzzz-search-data.json` file that Jekyll uses to create your search index. -Alternatively, you can create the file manually with [this content]({{ site.github.repository_url }}/blob/main/assets/js/zzzz-search-data.json). - -## Custom content for search index -{: .d-inline-block } - -New (v0.4.0) -{: .label .label-green } - -Advanced -{: .label .label-yellow } - -By default, the search feature indexes a page's `.content`, `.title`, and *some* headers within the `.content`. Other data (e.g. front matter, files in `_data` and `assets`) is not indexed. Users can customize what is indexed. - -{: .warning } -> Customizing search indices is an advanced feature that requires Javascript and Liquid knowledge. - -1. When Just the Docs is a local or gem theme, ensure `assets/js/zzzz-search-data.json` is up-to-date with [Generate search index when used as a gem](#generate-search-index-when-used-as-a-gem). -2. Add a new file named `_includes/lunr/custom-data.json`. Insert custom Liquid code that reads your data (e.g. the page object at `include.page`) then generates custom Javascript fields that hold the custom data you want to index. Verify these fields in the generated `assets/js/search-data.json`. -3. Add a new file named `_includes/lunr/custom-index.js`. Insert custom Javascript code that reads your custom Javascript fields and inserts them into the search index. You may want to inspect `assets/js/just-the-docs.js` to better understand the code. - -#### Example - -This example adds front matter `usage` and `examples` fields to the search index. - -`_includes/lunr/custom-data.json` custom code reads the page `usage` and `examples` fields, normalizes the text, and writes the text to custom Javascript `myusage` and `myexamples` fields. Javascript fields are similar yet [not the same as JSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON#javascript_and_json_differences). `jsonify` will probably work for most scenarios. - -{% raw %} -```liquid -{%- capture newline %} -{% endcapture -%} -"myusage": {{ include.page.usage | markdownify | replace:newline,' ' | strip_html | normalize_whitespace | strip | jsonify }}, -"myexamples": {{ include.page.examples | markdownify | replace:newline,' ' | strip_html | normalize_whitespace | strip | jsonify }}, -``` -{% endraw %} - -`_includes/lunr/custom-index.js` custom code is inserted into the Javascript loop of `assets/js/just-the-docs.js`. All custom Javascript fields are accessed as fields of `docs[i]` such as `docs[i].myusage`. Finally, append your custom fields on to the already existing `docs[i].content`. - -```javascript -const content_to_merge = [docs[i].content, docs[i].myusage, docs[i].myexamples]; -docs[i].content = content_to_merge.join(' '); -```