Topicos Recents
-
Alan Richardson (Evil Tester) - Technology Based Technical Testing - ATC 2018
Treinamento e Eventos1 -
Teste de software e método ágil.
Geral6 -
[Dúvida] Jira - Plugin para Gerenciamento de Teste
Geral6 -
Episode 007 - Finding Tools Special 2019 - The Evil Tester Show
Feed de Blogs e Posts1 -
Dívida Técnica de Teste de Software
Geral3 -
Teste api - Validação de logs
Geral8 -
Promoção na Escola Talking About Testing
Feed de Blogs e Posts2 -
Indicações de empresas (in company) - Cursos
Treinamento e Eventos4 -
JavaScript Tutorial Creating a CounterString tool in Chrome Browser Dev Tools Snippets
Feed de Blogs e Posts1 -
QA - Specialist (São Paulo)
Vagas1 -
QA Sênior @ Carenet Longevity (São Paulo)
Vagas1 -
Bate-papo sobre DevOps – Grupo de mentoria Talking About Testing
Feed de Blogs e Posts1 -
What is the best fuzzer (automated software testing tool) to find 0-days? Why? Quora Answer
Feed de Blogs e Posts1 -
Tarek - Load testing web services at Mozilla with Molotov | Agile Testers Conference 2018
Treinamento e Eventos1 -
Hacking JavaScript Games - Accessing private javascript variables at runtime via debugging
Feed de Blogs e Posts1 -
Talking About Testing & Patas Dadas
Feed de Blogs e Posts1 -
Agile Testers 2019 News
Geral4 -
Escreva código uma só vez
Feed de Blogs e Posts1 -
Automated tests in a CD/CI pipeline
Feed de Blogs e Posts1 -
How to Practice your JavaScript, Software Testing and Test Automation
Feed de Blogs e Posts1
Freemind Scripting for Markdown Presentation Generation
-
When I was preparing for the London Tester Gathering workshop I decided to try and fix a flaw in my docmentation workflow.
The flaw was - I find it hard to have an overview of my documentation while working with Markdown. I fixed it with Freemind and a custom script.
<a name=“more”></a>
What workflow?
Currently I use Marp and Pandoc and Pandocifier to create most of my documentation.
I:
- write the slides in markdown
- process the markdown in Marp to generate slides
- process the markdown in Pandoc (via pandocifier) to create longer documentation
But it can be hard to see an overview of my thinking or work.
MindMaps
Mind Maps are very good for providing an overview, but they are less good at generating Markdown.
Freemind now supports exporting to Markdown:
- every branch is a heading
- every note is a set of paragraphs
This works well if you are using a Mind Map as a document outline.
I don’t use the Mind Map as a document outline. I use it as a thinking tool.
Combined Domains
I realised that I could combine the two domains:
- thinking domain with mind map
- structured sequential markdown output for Marp
But I’d have to have something that:
- procesesed each node in the MindMap
- output the note text on the node
Then I can structure my thoughts however I want, and only add notes to those ‘thoughts’ which overlap into my slide domain.
Caveat: All slides need to be represented on my MindMap, and in order.
Free Mind Scripting
FreeMind has very capable Groovy scripting abilities:
- https://www.freeplane.org/wiki/index.php/Scripting#The_scripting_API
- https://www.freeplane.org/wiki/index.php/Scripts_collection
I used a variant of the “Output to CSV” script in the Scripts collection to create the Markdown I needed.
markdownNoteText.groovy
import javax.swing.*;// for cut 'n paste:def showDialog(String text) { def dialog = new JDialog(ui.frame) dialog.setSize(350, 450) dialog.setLocationRelativeTo(ui.frame) dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE) dialog.add(new JScrollPane(new JTextArea(text))) ui.addEscapeActionToDialog(dialog) dialog.setVisible(true)}def process(thisNode, childPosition) { def result = ""; def note = thisNode.note; if(note){ result += "\n" + note.plain + "\n"; } thisNode.children.each { result += process(it, childPosition + 1) } return result}def result = process(node, 0);showDialog(result);
This allowed me to have a mindmap with additional thinking information, and the output slides.
The script is also available on github
Literate Programming and a dab of Automatization
This is ‘kind of’ Literate Programming:
I tried a few tools prior to writing this script:
But they didn’t quite do what I needed. Sometimes we just need a little dab of Automatisation thinking to get what we need.
A video explaining all of this in more detail has been added to my Patreon programme.