{"id":18336899,"url":"https://github.com/irkode/irkode.playground","last_synced_at":"2025-04-09T19:56:38.598Z","repository":{"id":119238665,"uuid":"354378926","full_name":"irkode/irkode.playground","owner":"irkode","description":"currently a playground for Github usage. Maybe one time it will contain real fancy stuff","archived":false,"fork":false,"pushed_at":"2021-04-17T18:13:08.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T19:56:36.024Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irkode.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","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-03T19:38:51.000Z","updated_at":"2021-04-17T18:13:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"d464b0c8-caaf-4be7-b5ef-1f5785116451","html_url":"https://github.com/irkode/irkode.playground","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irkode%2Firkode.playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irkode%2Firkode.playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irkode%2Firkode.playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irkode%2Firkode.playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irkode","download_url":"https://codeload.github.com/irkode/irkode.playground/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248103910,"owners_count":21048245,"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":[],"created_at":"2024-11-05T20:09:24.129Z","updated_at":"2025-04-09T19:56:38.572Z","avatar_url":"https://github.com/irkode.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Asciidoctor Extension Templates for Ruby\n@irkode \u003chttps://irkode.github.io/\u003e\n// Settings:\n:experimental:\n:idprefix:\n:idseparator: -\nifndef::env-github[:icons: font]\nifdef::env-github,env-browser[]\n:toc: macro\n:toclevels: 1\nendif::[]\nifdef::env-github[]\n:!toc-title:\n:caution-caption: :fire:\n:important-caption: :exclamation:\n:note-caption: :paperclip:\n:tip-caption: :bulb:\n:warning-caption: :warning:\nendif::[]\n// Aliases:\n:project-name: Asciidoctor Extension Templates\n:project-handle: asciidoctor-extension_templates\n// Variables:\n:release-version: 0.1.0\n// URIs:\n:url-project: https://github.com/irkode/irkode.playground\n:url-project-repo: {url-project}\n:url-project-issues: {url-project-repo}/issues\n:backend-template: backend_tpl\n:url-asciidoctor: http://asciidoctor.org[Asciidoctor Project]\n:url-asciidoctor-pdf: https://github.com/asciidoctor/asciidoctor-pdf[Asciidoctor PDF]\n:url-rvm: http://rvm.io[RVM]\n\nAsciidoctor Extension Templates is a gem providing basic extension templates for Ruby.\nTemplates are directly runnable, and create some dummy content. It  can be your starting point\nto develop your own Asciidoctor extension.\n\n* just clone the project\n\n* extract the template you need to a gem. See \u003c\u003cready-to-rumble\u003e\u003e\n\n* start coding functionality to your extension gem\n\nIts aim is to take the pain out starting a new Asciidoctor extension in Ruby.\n\ntoc::[]\n\n== Overview\n\n{project-name} is a Set of Asciidoctor Extension Templates which run OOTB.\nThese can be the base for your own Asciidoctor extension development project.\n\nThe style and layout of the project is based on the one from {url-asciidoctor-pdf}.\nA lot of code is a 100% copy of the code there or at least heavily inspired.\nLogically all that stuff is (c) by OpenDevise Inc. and the Asciidoctor Project.\n\n== Highlights\n\n* Templates are Runnable\n* ready to run tasks for\n** Testruns (rspec)\n** Linting (rubocop)\n** Coverage (simplecov,deep-cover)\n* easy extracting an extension to a new gem project\n\n== Development\n\nNOTE:\n--\nI use {url-rvm} to manage Ruby installation.\n\nso to follow the next steps as is you will need a working rvm flavoured Ruby installation:\n\n* installed rvm\n* installed Ruby\n* installed bundler\n\nThis is neither a library nor an application. So you might want to separate it from your global ruby.\n--\n\n=== Retrieve the Source Code\n\nTo start with the template just clone the project.\nSimply copy the {url-project-repo}[GitHub repository URL] and pass it to the `git clone` command:\n\n[source,bash,subs=+attributes]\n----\n$ git clone {url-project-repo}\n----\n\nNext, change to the project directory:\n\n[source,bash,subs=attributes+]\n----\n$ cd {project-handle}\n----\n\n=== Install Dependencies\n\nNow activate the ruby version:\n\n[source,bash,subs=attributes+]\n----\n$ rvm use 2.7.2\n# ruby-2.7.2\n----\n\nThe dependencies needed to use {project-name} are defined in the [.path]_Gemfile_ at the root of the project.\nUse Bundler to install the dependencies for you.\n\nThen use the `bundle` command to install the project dependencies into the project\n\n[source,bash]\n----\n$ bundle config set --local path '.bundle/gems' #\u003c1\u003e\n$ bundle\n----\n\u003c1\u003e `bundle --path=.bundle/gems` is deprecated\n\nNOTE: You must call `bundle` from the project directory so that it can find the [.path]_Gemfile_.\n\n=== Run a template\n\nEach template provides a running script to demonstrate usage.\nLike with Bundler, you have to run the application from the project directory.\nAssuming all the required gems install properly, verify you can run the `{project-handle}` scripts using Ruby:\n\n[source,bash,subs=attributes+]\n----\n$ bundle exec bin/{project-handle} -v\n# Asciidoctor Extension Templates 0.0.1.dev using Asciidoctor 2.0.12 [https://asciidoctor.org]\n# Runtime Environment (ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [armv7l-linux-eabihf]) (lc:UTF-8 fs:UTF-8 in:UTF-8 ex:UTF-8) \u003c1\u003e\n$ bundle exec bin/{project-handle} -b {backend-template} -o - README.adoc\n# Well done : You plugged in a converter backend names '{backend-template}'\n----\n\u003c1\u003e yes - all done on a Raspberry PI 4\n\n== Ready to Rumble\n\nNow you can start to generate a new Asciidoctor extension gem of your choice.\nUse the provided _Rake_ task to create a new folder holding all the files you need to start with your choosen extension.\n\nThe list of available template tasks can be retrieved using `bundle exec rake tpl:`.\n\n[CAUTION]\nNo error checking on the arguments, so double check your input\n\nThe tasks use the standard Rake argument notation with the following arguments.\n\ntarget:: destination root where the new gem folder will be created\nshort:: extension short name used to build up the extension folder name and files.\nclass:: extension class name to use in the coding part\n\n.Example: Backend\n--\n $ bundle exec rake tpl:\n # USAGE: tpl:\u003ccommand\u003e[\u003cargs\u003e]\n #  tpl:backend[target,backend,class] - create a new backend from template\n $ bundle exec rake tpl:backend['/home/my/coding','my_backend','MyBackend']\n\nWhich will create the folder `/home/my/coding/asciidoctor-my_backend` and install needed files there\n\nyou now can _chdir_  to `/home/my/coding/asciidoctor-my_backend` and\n\n* adjust template files (especially the gemspec and README)\n* add your extension code\n--\n\n[NOTE]\nLicense is set to MIT - You are highly encouraged to use this for your extension.\n\n== Coding the Extension\n\nI guess if you follow the `CONTRIBUTING-CODE.adoc` from {url-asciidoctor-pdf} you might be on the right track.\n\nThere's a section about _Test_ and _Linting_ and {project-name} follows this and provides the basics for both incl. coverage.\n\nThese tasks work also properly in the _Extension Templates_ itself. Use them to check if the template library works on your machine.\n\n.Run tests\n[source,bash,subs=attributes+]\n----\n$ bundle exec rake spec\n$ bundle exec rspec -fd\n----\n\n.Run Linter\n----\n$ bundle exec rake lint\n----\n\nmore details on that can be found in their guide.\n\n[[resources,Links]]\n\n== Author\n\n{project-name} was assembled and tweaked by @irkode based on the project layout of {url-asciidoctor-pdf}\nwritten by https://github.com/mojavelinux[Dan Allen] and https://github.com/graphitefriction[Sarah White]\nof OpenDevise Inc. on behalf of the Asciidoctor Project.\n\n== Copyright\n\nCopyright (C) 2021-present @irkode\n\nLot of the code, project layout, ... taken more or less from the {url-asciidoctor-pdf}  project.\nIn fact this is the goal of _Asciidoctor Extension Templates_: As close to a real extension as possible\nAll that is: Copyright (c) 2014-present OpenDevise Inc. and the {url-asciidoctor}.\n\nFree use of this software is granted under the terms of the MIT License.\n\nFor the full text of the license, see the link:LICENSE[] file.\nRefer to the \u003c\u003cNOTICE.adoc#,NOTICE\u003e\u003e file for information about third-party Open Source software in use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firkode%2Firkode.playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firkode%2Firkode.playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firkode%2Firkode.playground/lists"}