diff --git a/README.md b/README.md index bf61117..e43a748 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,33 @@ # G-code -[![Build Status](https://drone.harton.nz/api/badges/james/gcode/status.svg?ref=refs/heads/main)](https://drone.harton.nz/james/gcode)[![Hex.pm](https://img.shields.io/hexpm/v/gcode.svg)](https://hex.pm/packages/gcode) +[![Build Status](https://drone.harton.dev/api/badges/james/gcode/status.svg?ref=refs/heads/main)](https://drone.harton.dev/james/gcode) +[![Hex.pm](https://img.shields.io/hexpm/v/gcode.svg)](https://hex.pm/packages/gcode) [![Hippocratic License HL3-FULL](https://img.shields.io/static/v1?label=Hippocratic%20License&message=HL3-FULL&labelColor=5e2751&color=bc8c3d)](https://firstdonoharm.dev/version/3/0/full.html) `gcode` is an Elixir library for parsing and generating [G-code](https://en.wikipedia.org/wiki/G-code), which is a common language for working with CNC machines and 3D printers. ## Installation -This package is [available in Hex](https://hex.pm/packages/gcode). +Gcode is [available in Hex](https://hex.pm/packages/gcode), the package can be +installed by adding `gcode` to your list of dependencies in `mix.exs`: -You can install it from git by adding `{:gcode, "~> 1.0.0"}` to your dependencies. +```elixir +def deps do + [ + {:gcode, "~> 1.0.0"} + ] +end +``` -## Documentation +Documentation for the latest release can be found on +[HexDocs](https://hexdocs.pm/gcode) and for the `main` branch on +[docs.harton.nz](https://docs.harton.nz/james/gcode). -Documentation for the main branch of this package is always available [on gitlab pages](https://jimsy.gitlab.io/gcode), and released versions are published [on Hexdocs](https://hexdocs.pm/gcode). +## Github Mirror -## Contributing - -This project uses the wonderful [git_ops](https://hex.pm/packages/git_ops) package to automate releases and as such requires the use of [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/). Feel free to open issues and pull requests. +This repository is mirrored [on Github](https://github.com/jimsynz/gcode) +from it's primary location [on my Forejo instance](https://harton.dev/james/gcode). +Feel free to raise issues and open PRs on Github. ## License diff --git a/mix.exs b/mix.exs index cd9c901..ba4bba6 100644 --- a/mix.exs +++ b/mix.exs @@ -17,7 +17,11 @@ defmodule Gcode.MixProject do description: @description, deps: deps(), consolidate_protocols: Mix.env() != :test, - elixirc_paths: elixirc_paths(Mix.env()) + elixirc_paths: elixirc_paths(Mix.env()), + docs: [ + main: "readme", + extras: ["README.md", "CHANGELOG.md"] + ] ] end @@ -33,7 +37,10 @@ defmodule Gcode.MixProject do maintainers: ["James Harton "], licenses: ["HL3-FULL"], links: %{ - "Source" => "https://harton.dev/james/gcode" + "Source" => "https://harton.dev/james/gcode", + "GitHub" => "https://github.com/jimsynz/gcode", + "Changelog" => "https://docs.harton.nz/james/gcode/changelog.html", + "Sponsor" => "https://github.com/sponsors/jimsynz" } ] end @@ -41,12 +48,15 @@ defmodule Gcode.MixProject do # Run "mix help deps" to learn about dependencies. defp deps do [ + {:nimble_parsec, "~> 1.2"}, + {:parallel_stream, "~> 1.1"}, + + # Dev/test + {:credo, "~> 1.6", only: ~w[dev test]a, runtime: false}, + {:ex_check, "~> 0.15", only: ~w[dev test]a, runtime: false}, {:ex_doc, "~> 0.30", only: ~w[dev test]a, runtime: false}, {:earmark, "~> 1.4", only: ~w[dev test]a, runtime: false}, - {:credo, "~> 1.6", only: ~w[dev test]a, runtime: false}, - {:git_ops, "~> 2.4", only: ~w[dev test]a, runtime: false}, - {:nimble_parsec, "~> 1.2"}, - {:parallel_stream, "~> 1.1"} + {:git_ops, "~> 2.4", only: ~w[dev test]a, runtime: false} ] end diff --git a/mix.lock b/mix.lock index e7f1b46..cf72c98 100644 --- a/mix.lock +++ b/mix.lock @@ -3,6 +3,7 @@ "credo": {:hex, :credo, "1.6.1", "7dc76dcdb764a4316c1596804c48eada9fff44bd4b733a91ccbf0c0f368be61e", [:mix], [{:bunt, "~> 0.2.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "698607fb5993720c7e93d2d8e76f2175bba024de964e160e2f7151ef3ab82ac5"}, "earmark": {:hex, :earmark, "1.4.19", "3854a17305c880cc46305af15fb1630568d23a709aba21aaa996ced082fc29d7", [:mix], [{:earmark_parser, ">= 1.4.18", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "d5a8c9f9e37159a8fdd3ea8437fb4e229eaf56d5129b9a011dc4780a4872079d"}, "earmark_parser": {:hex, :earmark_parser, "1.4.33", "3c3fd9673bb5dcc9edc28dd90f50c87ce506d1f71b70e3de69aa8154bc695d44", [:mix], [], "hexpm", "2d526833729b59b9fdb85785078697c72ac5e5066350663e5be6a1182da61b8f"}, + "ex_check": {:hex, :ex_check, "0.16.0", "07615bef493c5b8d12d5119de3914274277299c6483989e52b0f6b8358a26b5f", [:mix], [], "hexpm", "4d809b72a18d405514dda4809257d8e665ae7cf37a7aee3be6b74a34dec310f5"}, "ex_doc": {:hex, :ex_doc, "0.30.0", "ed94bf5183f559d2f825e4f866cc0eab277bbb17da76aff40f8e0f149656943e", [:mix], [{:earmark_parser, "~> 1.4.31", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "6743fe46704fe27e2f2558faa61f00e5356528768807badb2092d38476d6dac2"}, "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, "git_cli": {:hex, :git_cli, "0.3.0", "a5422f9b95c99483385b976f5d43f7e8233283a47cda13533d7c16131cb14df5", [:mix], [], "hexpm", "78cb952f4c86a41f4d3511f1d3ecb28edb268e3a7df278de2faa1bd4672eaf9b"},