The Ash Framework homepage and documentation site.
Go to file
dependabot[bot] afff3dbd1b
chore(deps): bump the production-dependencies group with 8 updates (#236)
Bumps the production-dependencies group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [ash](https://github.com/ash-project/ash) | `3.2.2` | `3.2.6` |
| [ash_graphql](https://github.com/ash-project/ash_graphql) | `1.2.0` | `1.2.1` |
| [ash_json_api](https://github.com/ash-project/ash_json_api) | `1.3.7` | `1.3.8` |
| [ash_oban](https://github.com/ash-project/ash_oban) | `0.2.3` | `0.2.4` |
| [ash_postgres](https://github.com/ash-project/ash_postgres) | `2.1.8` | `2.1.15` |
| [postgrex](https://github.com/elixir-ecto/postgrex) | `0.17.5` | `0.18.0` |
| [req](https://github.com/wojtekmach/req) | `0.5.2` | `0.5.4` |
| [swoosh](https://github.com/swoosh/swoosh) | `1.16.9` | `1.16.10` |


Updates `ash` from 3.2.2 to 3.2.6
- [Changelog](https://github.com/ash-project/ash/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/ash/compare/v3.2.2...v3.2.6)

Updates `ash_graphql` from 1.2.0 to 1.2.1
- [Changelog](https://github.com/ash-project/ash_graphql/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/ash_graphql/compare/v1.2.0...v1.2.1)

Updates `ash_json_api` from 1.3.7 to 1.3.8
- [Changelog](https://github.com/ash-project/ash_json_api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/ash_json_api/compare/v1.3.7...v1.3.8)

Updates `ash_oban` from 0.2.3 to 0.2.4
- [Changelog](https://github.com/ash-project/ash_oban/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/ash_oban/compare/v0.2.3...v0.2.4)

Updates `ash_postgres` from 2.1.8 to 2.1.15
- [Changelog](https://github.com/ash-project/ash_postgres/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ash-project/ash_postgres/compare/v2.1.8...v2.1.15)

Updates `postgrex` from 0.17.5 to 0.18.0
- [Release notes](https://github.com/elixir-ecto/postgrex/releases)
- [Changelog](https://github.com/elixir-ecto/postgrex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/elixir-ecto/postgrex/compare/v0.17.5...v0.18.0)

Updates `req` from 0.5.2 to 0.5.4
- [Release notes](https://github.com/wojtekmach/req/releases)
- [Changelog](https://github.com/wojtekmach/req/blob/main/CHANGELOG.md)
- [Commits](https://github.com/wojtekmach/req/compare/v0.5.2...v0.5.4)

Updates `swoosh` from 1.16.9 to 1.16.10
- [Release notes](https://github.com/swoosh/swoosh/releases)
- [Changelog](https://github.com/swoosh/swoosh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/swoosh/swoosh/compare/v1.16.9...v1.16.10)

---
updated-dependencies:
- dependency-name: ash
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: ash_graphql
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: ash_json_api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: ash_oban
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: ash_postgres
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: postgrex
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: req
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: swoosh
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-25 07:35:50 -04:00
.github ci: dependabot weekly 2024-06-19 10:05:30 -04:00
.vscode fix: clicking on search result closes 2022-09-19 17:14:15 -04:00
assets fix: Remove reference to now-not-used _components.css 2024-05-23 19:53:19 +08:00
config fix: use option style required by ash oban (for now) 2024-04-28 20:37:10 -04:00
lib fix: Replace dots in URLs for Hex doc links 2024-05-23 17:34:26 +08:00
priv chore: fix blog link 2024-05-13 13:29:34 -04:00
rel improvement: disable FLAME for now 2023-12-07 12:29:55 -05:00
scripts improvement: rewrite package search and storage to use sqlite 2023-10-12 18:08:34 -04:00
test chore: fix credo 2024-04-02 22:08:51 -04:00
.check.exs chore: fix credo 2024-04-02 22:08:51 -04:00
.credo.exs improvement: get a build set up 2022-08-06 19:22:58 -04:00
.dockerignore WIP 2022-03-31 17:29:23 -04:00
.formatter.exs chore: format 2024-04-02 20:55:34 -04:00
.gitignore improvement: rewrite package search and storage to use sqlite 2023-10-12 18:08:34 -04:00
.tool-versions improvement: add group-flow logo 2023-07-21 12:14:50 -04:00
CHANGELOG.md chore: fix CI 2022-11-16 14:50:32 -05:00
dialyzer.ignore_warnings chore: fix build 2022-12-27 14:11:08 -05:00
Dockerfile chore: update now that we aren't using litefs 2024-01-12 14:24:22 -05:00
fly.toml improvement: remove sqlite 2024-01-12 12:43:25 -05:00
LICENSE.md create LICENSE.md (#51) 2022-11-13 11:52:54 -05:00
litefs.yml chore: updates, add new libraries 2023-12-19 12:21:42 -05:00
livebook.livemd improvement: fix item paths, make sidebar much friendlier 2022-08-04 13:14:58 -04:00
mix.exs chore(deps): bump the production-dependencies group across 1 directory with 8 updates (#234) 2024-07-11 15:15:16 -04:00
mix.lock chore(deps): bump the production-dependencies group with 8 updates (#236) 2024-07-25 07:35:50 -04:00
README.md Update README.md 2023-02-04 07:44:51 -05:00

AshHq

Getting Started

  1. Fork and clone this repository.
  2. Set up the project by running mix do deps.get, deps.compile, setup
  3. Run mix import to import the latest dependencies from hex (this may take a while)
  4. Install the frontend assets by running npm i --prefix assets.
  5. Run the server with iex -S mix phx.server
  6. Open http://localhost:4000

Note to linux users: You will need the following packages (or their equivalents) to compile successfully: erlang-dev erlang-parsetools erlang-os-mon erlang-xmerl erlang-tools

A Bit of History

The docs are not static content like you would typically see for documentation. They are all stored in a database, because they can all be full-text searched using postgres. Eventually it would make sense to serve the individual doc pages from a CDN or something like that. The interesting pages in that regard is the Docs page. We do quite a bit of work to make sure that we are only loading the html that will be served for the exact document we are seeing.

The magic of search is done via AshHq.Docs.Extensions.Search, which modifies resources to make them full text searchable using postgres, amongst other things. See lib/ash_hq/docs/extensions/search/transformers/add_search_structure.ex for more.

There is also a usage of Ash.Flow for searching, which can be found in lib/ash_hq/docs/search/search.ex. It is actually a bit un-ideal, as the better thing to do would be to use a postgres UNION. There are ways to do that with Ash by extracting the resource queries and then making a union, but it was much easier to just put a search action in a flow. Eventually, Ash will support unions.