docs: work on organizing docs

fix: detect more cases for domain extraction from resources
This commit is contained in:
Zach Daniel 2024-04-05 12:24:12 -04:00
parent 6a486a4a9a
commit b0ff379d00
6 changed files with 75 additions and 18 deletions

View file

@ -50,4 +50,4 @@ Ash is made possible by its excellent community!
<img src="https://contrib.rocks/image?repo=ash-project/ash" />
</a>
[Become a contributor](https://ash-hq.org/docs/guides/ash/latest/how_to/contribute.md)
[Become a contributor](doumentation/topics/contributing-to-ash.md)

View file

@ -35,6 +35,7 @@ Welcome to the Ash Framework documentation! Here you will find everything you ne
- [What is Ash?](documentation/topics/what-is-ash.md)
- [Our Design Principles](documentation/topics/design-principles.md)
- [Contributing to Ash](documentation/topics/contributing-to-ash.md)
---

View file

@ -1,4 +1,4 @@
# Contribute to Ash
# Contributing to Ash
## Welcome!

View file

@ -24,7 +24,7 @@ The fundamental idea behind Ash is that when the various components of your syst
Ash has many use cases, with varying degrees of complexity. Ash helps you on day 1 of your project, removing boiler plate and allowing you to focus on the essential complexity of your application. It also helps you on year 5, lending consistency, code reuse, and maintainability.
> #### Ash gives you super powers {: .tip}
> #### Ash is a force multiplier .tip}
> Things that once took days or weeks can be done in hours, and to a degree of quality that would have been unreasonable before. Entire classes of bugs are eliminated. And the best part is, you can do all of this without sacrificing the flexibility, robustness and ecosystem that Elixir is known for.
## Watch the ElixirConf 2023 Talk

View file

@ -410,6 +410,10 @@ defmodule Ash.Helpers do
get_domain(record, opts)
end
def get_domain({%resource{}, _}, opts) do
get_domain(resource, opts)
end
def get_domain({resource, _}, opts) when is_atom(resource) do
get_domain(resource, opts)
end

82
mix.exs
View file

@ -45,8 +45,8 @@ defmodule Ash.MixProject do
"documentation/tutorials/get-started.md",
"documentation/topics/what-is-ash.md",
"documentation/topics/design-principles.md",
# Documentation below this line is pending review
"documentation/how_to/contribute.md",
"documentation/topics/contributing-to-ash.md",
"CHANGELOG.md",
"documentation/how_to/define-idiomatic-actions.md",
"documentation/how_to/defining-manual-relationships.md",
"documentation/how_to/handle-errors.md",
@ -85,21 +85,73 @@ defmodule Ash.MixProject do
"documentation/topics/testing.md",
"documentation/topics/timeouts.md",
"documentation/topics/validations.md",
"documentation/dsls/DSL:-Ash.Resource.md",
"documentation/dsls/DSL:-Ash.Domain.md",
"documentation/dsls/DSL:-Ash.Notifier.PubSub.md",
"documentation/dsls/DSL:-Ash.Policy.Authorizer.md",
"documentation/dsls/DSL:-Ash.DataLayer.Ets.md",
"documentation/dsls/DSL:-Ash.DataLayer.Mnesia.md",
"documentation/dsls/DSL:-Ash.Reactor.md",
"documentation/dsls/DSL:-Ash.DataLayer.Mnesia.md",
"CHANGELOG.md"
],
groups_for_extras: [
Tutorials: ~r'documentation/tutorials',
"How To": ~r'documentation/how_to',
Topics: ~r'documentation/topics',
DSLs: ~r'documentation/dsls'
"Start Here": [
"documentation/home.md",
"documentation/tutorials/get-started.md"
],
Tutorials: [],
Topics: [],
"About Ash": [
"documentation/topics/what-is-ash.md",
"documentation/topics/design-principles.md",
"documentation/topics/contributing-to-ash.md",
"CHANGELOG.md"
],
"How To": [
],
"DSL Reference": [
"documentation/dsls/DSL:-Ash.Resource.md",
"documentation/dsls/DSL:-Ash.Domain.md",
"documentation/dsls/DSL:-Ash.Notifier.PubSub.md",
"documentation/dsls/DSL:-Ash.Policy.Authorizer.md",
"documentation/dsls/DSL:-Ash.DataLayer.Ets.md",
"documentation/dsls/DSL:-Ash.DataLayer.Mnesia.md",
"documentation/dsls/DSL:-Ash.Reactor.md",
"documentation/dsls/DSL:-Ash.DataLayer.Mnesia.md",
],
"Under Review": [
# Documentation below this line is pending review
"documentation/how_to/define-idiomatic-actions.md",
"documentation/how_to/defining-manual-relationships.md",
"documentation/how_to/handle-errors.md",
"documentation/how_to/structure-your-project.md",
"documentation/how_to/upgrade.md",
"documentation/how_to/use-without-data-layers.md",
"documentation/how_to/validate-changes.md",
"documentation/how_to/auto-format-code.md",
"documentation/topics/actions.md",
"documentation/topics/aggregates.md",
"documentation/topics/atomics.md",
"documentation/topics/attributes.md",
"documentation/topics/bulk-actions.md",
"documentation/topics/calculations.md",
"documentation/topics/code-interface.md",
"documentation/topics/constraints.md",
"documentation/topics/development-utilities.md",
"documentation/topics/embedded-resources.md",
"documentation/topics/extending-resources.md",
"documentation/topics/expressions.md",
"documentation/topics/glossary.md",
"documentation/topics/identities.md",
"documentation/topics/managing-relationships.md",
"documentation/topics/manual-actions.md",
"documentation/topics/monitoring.md",
"documentation/topics/multitenancy.md",
"documentation/topics/notifiers.md",
"documentation/topics/pagination.md",
"documentation/topics/phoenix.md",
"documentation/topics/policies.md",
"documentation/topics/pub_sub.md",
"documentation/topics/reactor.md",
"documentation/topics/relationships.md",
"documentation/topics/security.md",
"documentation/topics/store-context-in-process.md",
"documentation/topics/testing.md",
"documentation/topics/timeouts.md",
"documentation/topics/validations.md",
]
],
skip_undefined_reference_warnings_on: [
"CHANGELOG.md",