{"id":20031831,"url":"https://github.com/wtnabe/simple-hd-graph","last_synced_at":"2026-02-26T03:58:57.856Z","repository":{"id":56895763,"uuid":"358409457","full_name":"wtnabe/simple-hd-graph","owner":"wtnabe","description":"parse single-tier hierarchy, simplex direction graph from YAML DSL, render PlantUML.","archived":false,"fork":false,"pushed_at":"2025-04-06T03:05:26.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T03:26:55.675Z","etag":null,"topics":["plantuml","ruby","yaml"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wtnabe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-15T22:32:38.000Z","updated_at":"2025-04-06T02:58:51.000Z","dependencies_parsed_at":"2024-11-13T09:45:13.898Z","dependency_job_id":null,"html_url":"https://github.com/wtnabe/simple-hd-graph","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtnabe%2Fsimple-hd-graph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtnabe%2Fsimple-hd-graph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtnabe%2Fsimple-hd-graph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wtnabe%2Fsimple-hd-graph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wtnabe","download_url":"https://codeload.github.com/wtnabe/simple-hd-graph/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252439750,"owners_count":21748063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["plantuml","ruby","yaml"],"created_at":"2024-11-13T09:34:52.707Z","updated_at":"2026-02-26T03:58:52.812Z","avatar_url":"https://github.com/wtnabe.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimpleHdGraph\n\nparse single-tier hierarchy, simplex direction graph from YAML DSL, render PlantUML.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'simple-hd-graph'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install simple-hd-graph\n\n## Usage\n\n    $ simple-hd-graph -f FILE\n\nor\n\n    $ simple-hd-graph -d DIR\n\n## Format\n\nSimpleHdGraph was designed primarily to describe systems, its constituent resources, and their dependencies.\n\nThe two components are as follows:\n\n * Context\n * Resource\n\nA single YAML document corresponds to a single context as below:\n\n\u003cpre\u003e\n\u003cb\u003eid\u003c/b\u003e: name1\n\u003cb\u003eresources\u003c/b\u003e:\n  resource1:\n    note: memo\n    \u003cb\u003ehas\u003c/b\u003e: resource2\n  resource2:\n    note: very important\n\u003cb\u003edepends\u003c/b\u003e:\n - name2\n\u003c/pre\u003e\n\nfeatures:\n\n * Context can contain mutiple Resources\n * Resource can use the `has` keyword to indicate that it owns other Resources\n * Context can use the `depends` keyword to indicate its dependency on other Contexts\n\n## Example\n\ninput ( streams )\n\n```yaml\nid: example1\nresources:\n  web:\n    hosting: Heroku\n    runtime: Ruby 2.5\n    has:\n      - admin\n      - storage\n  admin:\n    hosting: Google Spreadsheet\n    runtime: Google Apps Script\n  storage:\n    hosting: AWS S3\n    region: ap-north-east1\n---\nid: example 2\nresources:\n  web:\n    hosting: Google AppEngines\n    runtime: Ruby 2.6\ndepends:\n  - example1\n```\n\noutput\n\n```plantuml\nrectangle \"example1\" as example1 {\n  object \"web\" as example1Web {\n    hosting: Heroku\n    runtime: Ruby 2.5\n  }\n  object \"admin\" as example1Admin {\n    hosting: Google Spreadsheet\n    runtime: Google Apps Script\n  }\n  object \"storage\" as example1Storage {\n    hosting: AWS S3\n    region: ap-north-east1\n  }\n\n  example1Web -d-|\u003e example1Admin\n  example1Web -d-|\u003e example1Storage\n}\nrectangle \"example 2\" as example2 {\n  object \"web\" as example2Web {\n    hosting: Google AppEngines\n    runtime: Ruby 2.6\n  }\n}\nexample2 -|\u003e example1\n```\n\nafter plantuml converted\n\n![example output converted by plantuml](example.png)\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/wtnabe/simple-hd-graph.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtnabe%2Fsimple-hd-graph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwtnabe%2Fsimple-hd-graph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwtnabe%2Fsimple-hd-graph/lists"}