Hi, On 09/07/2014 05:47 PM, Ben Coman wrote:
Offray Vladimir Luna Cárdenas wrote:
Hi Doru,
I really like the advancements in this direction. If fact what I have trying to do, as a newbie, by making a Glamorous Toolkit powered outliner/tree like interface for writing structured documents tries something similar. I think that writing is mainly a non-linear experience and the usual metaphors of document processors are not powerful enough in expressing/exploring the structure of ideas in the writing process (some thought about it ane examples about how implement non-linear academic writing are in [1], in Spanish).
[1] http://mutabit.com/offray/static/blog/output/posts/la-forma-en-que-escribo-p...
I would like to create Visual Data Narratives inside Pharo/Moose/Roassal that use file system and web, and LateX as "exportation formats", but where the writing/structuring experience happen mainly inside Pharo. For that persistence/change of trees is important, but as I have documented in other threads, I'm having problems with it, using Glamorous Toolkit (specifically on updating objects from text panes and from emergent windows for tree names/properties).
With your post, I'm wondering who difficult is:
a. To put support to Pillar/Markdown inside text panes (something similar to the "smalltalkCode" message for showing Smalltalk in text panes but with "pillarCode" or "markdownCode" (or some dictionary with the #syntax keyword and the language as a value).
b. To execute some parts of the code, for example the ones that are inside "[[[" "]]]" while the cursor is there, so we could not only preview imagages, but also execute code for visualizations or other computations
I have been thinking previously, that it would be good to have named code blocks "[[[ ]]]", some of which are visible which appear in the end document, and some are invisible, just used to scaffold the live document, e.g. to generate pictures. For example, visible code block code A might show the text to "create a class definition and accessors" and invisible code block B might say... "close all windows. run code block A. open System Browser at origin: 100@100 extent 500@300. System Browser select class and accessor just created. Screen snapshot and save to filenameXXX.png."
cheers -ben
What I made on Leo Outliner is to have some custom directive (@ words like "@ignore") as headers of a node, so I can ignore what is inside that part of the tree. For the ouliner on Pharo I'm thinking in adding tags to nodes so, some exportation procedures for the interactive book can be put in invisible nodes (I mean invisible in the context of the exportation of the book). That nodes can contain code for "Pharo selfies" where the environment takes screenshots of itself, or metadata for the exportation (template for document, database information and so on). I will be trying to make some progress on the saving/updating of trees front, but If I can not, I will be on the nodes tags and interface, at least to show some ideas and explain myself better with pictures :-). Cheers, Offray