{"id":26057856,"url":"https://github.com/feenkcom/gtoolkit-documenter","last_synced_at":"2026-02-11T19:02:49.200Z","repository":{"id":53472581,"uuid":"135914898","full_name":"feenkcom/gtoolkit-documenter","owner":"feenkcom","description":"GT Documenter is the tool for creating and consuming live documents inside the development environment.","archived":false,"fork":false,"pushed_at":"2021-11-08T20:43:56.000Z","size":11531,"stargazers_count":8,"open_issues_count":1,"forks_count":5,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-08-03T19:41:43.133Z","etag":null,"topics":["glamorous-toolkit"],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","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/feenkcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-06-03T15:11:11.000Z","updated_at":"2022-10-22T10:40:27.000Z","dependencies_parsed_at":"2022-08-17T21:55:50.532Z","dependency_job_id":null,"html_url":"https://github.com/feenkcom/gtoolkit-documenter","commit_stats":null,"previous_names":[],"tags_count":100,"template":false,"template_full_name":null,"purl":"pkg:github/feenkcom/gtoolkit-documenter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fgtoolkit-documenter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fgtoolkit-documenter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fgtoolkit-documenter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fgtoolkit-documenter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feenkcom","download_url":"https://codeload.github.com/feenkcom/gtoolkit-documenter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feenkcom%2Fgtoolkit-documenter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29341706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T18:58:20.535Z","status":"ssl_error","status_checked_at":"2026-02-11T18:56:44.814Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["glamorous-toolkit"],"created_at":"2025-03-08T11:59:23.978Z","updated_at":"2026-02-11T19:02:49.183Z","avatar_url":"https://github.com/feenkcom.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":" # GT Documenter\nDocumenter is the tool for creating and consuming live documents directly in the development environment.\n\nIt was part of [Glamorous Toolkit](https://github.com/feenkcom/gtoolkit). It was replaced by [Lepiter](https://github.com/feenkcom/lepiter).\n\nIt exploits the [Bloc project](https://github.com/pharo-graphics/Bloc) for rendering, and the [Pillar project](https://github.com/pillar-markup/pillar) for the markup language.\n\nAt its core it offers a live editor for manipulating Pillar documents. The interaction happens seamlessly directly in the text editor, and it can be combined with different types of previews to serve several classes of use cases:\n- documentation of existing code\n- tutorials\n- interactive data notebook\n\n## Documentation of existing code\n\nDocumenter complements the [Glamorous Toolkit examples engine](https://github.com/feenkcom/gtoolkit-examples) to redefine code documentation. When practicing example-driven development, examples get written as part of the typical development. Once examples exist, they can be quickly put together in a document to form documentation. For example, the picture below shows the comment of a class containing a visual explanation:\n\n\u003cimg src=\"./doc/gt-documenter-examples-preview.png\" alt=\"Documenter: examples preview\" width=\"50%\" border=\"1\"/\u003e\n\nYou can see a live example of documentation by inspecting the following snippet:\n```\nGtDocumenter editorForText: BrToggleExamples comment. \n```\n\n## Tutorials\n\nDocumenter offers a new experience of writing tutorials for Pharo by enabling the creation and embedding of Epicea change sessions directly in the document. For example, take a look at the following animation:\n\n\u003cimg src=\"./doc/gt-documenter-epicea-diff.gif\" alt=\"Documenter: Documenter: Epicea diff\" width=\"50%\"/\u003e\n\n\nThe document shows a method on top, and a change preview at the bottom showing both the code and the associated diff to the state from the image. Applying the change updates both the change view (no more diff), and method preview. This speeds up the process of going through a tutorial faster. Furthermore, given that now the document shows the diff to the current image, the reader can safely explore alternative scenario and come back to the tutorial at any time without losing the overview.\n\nBy default, the code is shown in a scrollable preview. For convenience, the size of the preview can be adjusted at read time:\n\n\u003cimg src=\"./doc/gt-documenter-resizer.gif\" alt=\"Documenter: Epicea diff expansion\" width=\"50%\"/\u003e\n\nOr the whole can be expanded:\n\n\u003cimg src=\"./doc/gt-documenter-resizer-expansion.gif\" alt=\"Documenter: Epicea diff expansion\" width=\"50%\"/\u003e\n\n\nTo explore a concrete tutorial example, inspect the following:\n\n```\nIceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar'. \n```\nNote - If using Pharo 7 or a newer version of Iceberg, use the following instead:\n\n```\nIceLibgitRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar'. \n```\n\n## Interactive data notebook\n\nA Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:\n- it supports defining variables in code snippets, and\n- the execution of code shows an embedded inspector.\n\nFor example:\n\n\u003cimg src=\"./doc/gt-documenter-snippet-preview.gif\" alt=\"Documenter: snippet preview\" width=\"50%\"/\u003e\n\n\nFurthermore, to make the manipulation of results more efficient, we can also resize the preview:\n\n\u003cimg src=\"./doc/gt-documenter-snipper-preview-resize.gif\" alt=\"Documenter: snippet preview resize\" width=\"50%\"/\u003e\n\n\n## How to load\n\nThe ideal way to load the code is by loading the entire [Glamorous Toolkit project](https://github.com/feenkcom/gtoolkit).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeenkcom%2Fgtoolkit-documenter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeenkcom%2Fgtoolkit-documenter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeenkcom%2Fgtoolkit-documenter/lists"}