[ann] gt documenter

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[ann] gt documenter

Tudor Girba-2
Hi,

We are happy to announce a new leap of GToolkit Documenter, the tool for manipulating live documents directly in the development environment:

Documenter is part of the second generation GToolkit project, it is based on Bloc and works with the latest Pillar. It is mainly developed by Juraj Kubelka.

Attached you can see a preview of how documents look like:



At 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:
• code documentation
• tutorials
• interactive data notebook


Code documentation
----
Documenter complements the GToolkit Examples engine 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 linked picture shows the comment of a class containing a visual explanation:

You can see a live example of documentation by inspecting the following snippet:
GtDocumenter editorForText: BrToggleExamples comment. 


Tutorials:
----
Documenter 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:
https://twitter.com/feenkcom/status/999975333972541440

The 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 significantly the process of going through a tutorial. 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.

The size of the preview can also be adjusted live:

You can see a live tutorial by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar’.


Interactive data notebook:
----
A Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:
• it supports defining variables in code snippets, and
• the execution of code shows an embedded inspector.

For example:

An example, can be seen by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit' / 'doc' / 'gtoolkit' / 'gtoolkit.pillar'. 


As always, please do let us know what you think.

Enjoy,
The feenk team


--
www.tudorgirba.com
www.feenk.com

"If you can't say why something is relevant, 
it probably isn't."


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [ann] gt documenter

Denis Kudriashov
Hi Tudor.

This is super impressive. 
What's next? Do you plan to implement IDE for writing documents, navigation, refactorings? (senders, renames should find all places in documents)

2018-06-13 21:57 GMT+01:00 Tudor Girba <[hidden email]>:
Hi,

We are happy to announce a new leap of GToolkit Documenter, the tool for manipulating live documents directly in the development environment:

Documenter is part of the second generation GToolkit project, it is based on Bloc and works with the latest Pillar. It is mainly developed by Juraj Kubelka.

Attached you can see a preview of how documents look like:



At 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:
• code documentation
• tutorials
• interactive data notebook


Code documentation
----
Documenter complements the GToolkit Examples engine 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 linked picture shows the comment of a class containing a visual explanation:

You can see a live example of documentation by inspecting the following snippet:
GtDocumenter editorForText: BrToggleExamples comment. 


Tutorials:
----
Documenter 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:
https://twitter.com/feenkcom/status/999975333972541440

The 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 significantly the process of going through a tutorial. 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.

The size of the preview can also be adjusted live:

You can see a live tutorial by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar’.


Interactive data notebook:
----
A Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:
• it supports defining variables in code snippets, and
• the execution of code shows an embedded inspector.

For example:

An example, can be seen by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit' / 'doc' / 'gtoolkit' / 'gtoolkit.pillar'. 


As always, please do let us know what you think.

Enjoy,
The feenk team


--
www.tudorgirba.com
www.feenk.com

"If you can't say why something is relevant, 
it probably isn't."



_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ann] gt documenter

Tim Mackinnon
In reply to this post by Tudor Girba-2
Guys this is really impressive!

2 things I noticed when going through the example in a new Pharo 6.1 image (with the latest Iceberg) -

1) The example "IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar'. “ has changed to “IceLibgitRepository …” in the newer iceberg - so it might be worth a note in the readme (I’ll submit a PR)
2) In a clean 6.1 image I get a walkback (GtPhlowExplicitView>>mondrian DNU) when you try any of the graphical bits , making me think either the dependencies are incorrect  on the Baseline (or the instruction for the example also need to mention you need to load something else - presumably Roassal?
3) You can’t scroll the Diff tabs of results, only the Code tabs

Tim

On 13 Jun 2018, at 21:57, Tudor Girba <[hidden email]> wrote:

Hi,

We are happy to announce a new leap of GToolkit Documenter, the tool for manipulating live documents directly in the development environment:

Documenter is part of the second generation GToolkit project, it is based on Bloc and works with the latest Pillar. It is mainly developed by Juraj Kubelka.

Attached you can see a preview of how documents look like:

<gt-documenter.png>

At 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:
• code documentation
• tutorials
• interactive data notebook


Code documentation
----
Documenter complements the GToolkit Examples engine 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 linked picture shows the comment of a class containing a visual explanation:

You can see a live example of documentation by inspecting the following snippet:
GtDocumenter editorForText: BrToggleExamples comment. 


Tutorials:
----
Documenter 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:
https://twitter.com/feenkcom/status/999975333972541440

The 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 significantly the process of going through a tutorial. 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.

The size of the preview can also be adjusted live:

You can see a live tutorial by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar’.


Interactive data notebook:
----
A Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:
• it supports defining variables in code snippets, and
• the execution of code shows an embedded inspector.

For example:

An example, can be seen by inspecting:
IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit' / 'doc' / 'gtoolkit' / 'gtoolkit.pillar'. 


As always, please do let us know what you think.

Enjoy,
The feenk team


--
www.tudorgirba.com
www.feenk.com

"If you can't say why something is relevant, 
it probably isn't."

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] [ann] gt documenter

Tudor Girba-2
In reply to this post by Denis Kudriashov
Hi,

Thanks.

About the next steps: We mostly think in terms of the overall goal, and the concrete next steps somehow happen. For us the end goal is a moldable environment that integrates all workflows related to development. Documentation is one of those development activities that are both pervasive and typically disliked, so it is only natural that we want to aim to create a full experience for it within the environment.

What is more interesting to us is that we could create this experience without much effort due to the flexibility of the underlying framework. There is still engineering work to do, but I think the most difficult part is to rethink the way we approach UI given these new abilities.

Cheers,
Doru


> On Jun 17, 2018, at 3:09 PM, Denis Kudriashov <[hidden email]> wrote:
>
> Hi Tudor.
>
> This is super impressive.
> What's next? Do you plan to implement IDE for writing documents, navigation, refactorings? (senders, renames should find all places in documents)
>
> 2018-06-13 21:57 GMT+01:00 Tudor Girba <[hidden email]>:
> Hi,
>
> We are happy to announce a new leap of GToolkit Documenter, the tool for manipulating live documents directly in the development environment:
> https://github.com/feenkcom/gtoolkit-documenter
>
> Documenter is part of the second generation GToolkit project, it is based on Bloc and works with the latest Pillar. It is mainly developed by Juraj Kubelka.
>
> Attached you can see a preview of how documents look like:
>
> <gt-documenter.png>
>
> At 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:
> • code documentation
> • tutorials
> • interactive data notebook
>
>
> Code documentation
> ----
> Documenter complements the GToolkit Examples engine 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 linked picture shows the comment of a class containing a visual explanation:
> https://twitter.com/feenkcom/status/973899862482866176
>
> You can see a live example of documentation by inspecting the following snippet:
> GtDocumenter editorForText: BrToggleExamples comment.
>
>
> Tutorials:
> ----
> Documenter 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:
> https://twitter.com/feenkcom/status/999975333972541440
>
> The 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 significantly the process of going through a tutorial. 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.
>
> The size of the preview can also be adjusted live:
> https://twitter.com/feenkcom/status/1001152789874167808
> https://twitter.com/feenkcom/status/1001407762285375490
>
> You can see a live tutorial by inspecting:
> IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar’.
>
>
> Interactive data notebook:
> ----
> A Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:
> • it supports defining variables in code snippets, and
> • the execution of code shows an embedded inspector.
>
> For example:
> https://twitter.com/feenkcom/status/996310432225820672
> https://twitter.com/feenkcom/status/1002851190475026432
>
> An example, can be seen by inspecting:
> IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit' / 'doc' / 'gtoolkit' / 'gtoolkit.pillar'.
>
>
> As always, please do let us know what you think.
>
> Enjoy,
> The feenk team
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "If you can't say why something is relevant,
> it probably isn't."
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
www.tudorgirba.com
www.feenk.com

"If you can't say why something is relevant,
it probably isn't."

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [ann] gt documenter

Tudor Girba-2
In reply to this post by Tim Mackinnon
Hi,



> On Jun 18, 2018, at 1:21 PM, Tim Mackinnon <[hidden email]> wrote:
>
> Guys this is really impressive!

Thanks.


> 2 things I noticed when going through the example in a new Pharo 6.1 image (with the latest Iceberg) -
>
> 1) The example "IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar'. “ has changed to “IceLibgitRepository …” in the newer iceberg - so it might be worth a note in the readme (I’ll submit a PR)

Ok.


> 2) In a clean 6.1 image I get a walkback (GtPhlowExplicitView>>mondrian DNU) when you try any of the graphical bits , making me think either the dependencies are incorrect  on the Baseline (or the instruction for the example also need to mention you need to load something else - presumably Roassal?

Indeed, this is due to the fact that loading GToolkitDocumenter does not load GToolkitVisualizer which includes GtMondrian. We are still working on finding the right dependencies balance.

Until then, please load the whole GToolkit to get the full support.


> 3) You can’t scroll the Diff tabs of results, only the Code tabs

Good catch!


Cheers,
Doru

>
> Tim
>
>> On 13 Jun 2018, at 21:57, Tudor Girba <[hidden email]> wrote:
>>
>> Hi,
>>
>> We are happy to announce a new leap of GToolkit Documenter, the tool for manipulating live documents directly in the development environment:
>> https://github.com/feenkcom/gtoolkit-documenter
>>
>> Documenter is part of the second generation GToolkit project, it is based on Bloc and works with the latest Pillar. It is mainly developed by Juraj Kubelka.
>>
>> Attached you can see a preview of how documents look like:
>>
>> <gt-documenter.png>
>>
>> At 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:
>> • code documentation
>> • tutorials
>> • interactive data notebook
>>
>>
>> Code documentation
>> ----
>> Documenter complements the GToolkit Examples engine 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 linked picture shows the comment of a class containing a visual explanation:
>> https://twitter.com/feenkcom/status/973899862482866176
>>
>> You can see a live example of documentation by inspecting the following snippet:
>> GtDocumenter editorForText: BrToggleExamples comment.
>>
>>
>> Tutorials:
>> ----
>> Documenter 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:
>> https://twitter.com/feenkcom/status/999975333972541440
>>
>> The 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 significantly the process of going through a tutorial. 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.
>>
>> The size of the preview can also be adjusted live:
>> https://twitter.com/feenkcom/status/1001152789874167808
>> https://twitter.com/feenkcom/status/1001407762285375490
>>
>> You can see a live tutorial by inspecting:
>> IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit-examples' / 'doc' / 'tutorial' / 'examples-tutorial.pillar’.
>>
>>
>> Interactive data notebook:
>> ----
>> A Documenter document can also be used as an interactive notebook. Internally it essentially acts as a playground:
>> • it supports defining variables in code snippets, and
>> • the execution of code shows an embedded inspector.
>>
>> For example:
>> https://twitter.com/feenkcom/status/996310432225820672
>> https://twitter.com/feenkcom/status/1002851190475026432
>>
>> An example, can be seen by inspecting:
>> IceRepository repositoriesLocation / 'feenkcom'/ 'gtoolkit' / 'doc' / 'gtoolkit' / 'gtoolkit.pillar'.
>>
>>
>> As always, please do let us know what you think.
>>
>> Enjoy,
>> The feenk team
>>
>>
>> --
>> www.tudorgirba.com
>> www.feenk.com
>>
>> "If you can't say why something is relevant,
>> it probably isn't."
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.list.inf.unibe.ch/listinfo/moose-dev

--
www.tudorgirba.com
www.feenk.com

"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev