49
George Bina [email protected] @georgebina #LavaCon DITA for developers and GitHub for technical writers

George Bina: DITA for Developers and GitHub for Technical Writers

Embed Size (px)

Citation preview

George Bina [email protected] @georgebina #LavaCon

DITA for developers and GitHub for technical writers

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Using DITA and GitHub for both technical writers and developers

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Can we all work together?

GitHub DITA

Developers Technical Writers

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Can we all work together?

GitHub DITA

Developers Technical Writers

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

What do we need?

GitHub DITA

Developers Technical Writers

Make DITA accessible to developers Hide GitHub complexity from technical authors

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Make DITA accessible Lightweight or constrained DITA

•  Markdown •  XML

Controlled authoring experience •  placeholders •  hints •  inline actions and form controls •  rules with automatic fixes

Recognize and convert to DITA different Markdown structures

Markdown à Lightweight DITA à DITA

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Use Markdown to encode DITA topics Support Markdown directly in DITA: <topicref href=“topic.md" format="markdown"/>

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Direct Markdown support Authoring

•  Syntax highlighting •  Helper actions to insert lists, tables, inlines •  DITA preview (along with HTML preview)

Validation •  Detect missing title, duplicate sections

Publishing •  As if the DITA converted topic was referred

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

DITA-aware Markdown editor

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Path from Markdown to DITA •  Recognize Markdown fragments in DITA topics •  Convert them automatically to DITA markup Example: * item 1 * item 2 * item 3

https://github.com/oxygenxml/ditaMark

•  item 1 •  item 2 •  item 3

<ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul>

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Recognized Markdown patterns •  Lists

* item or - item

•  Quotes > text

•  Code blocks and inline code ``` code and `inline code`

•  Links [link text](link URL) or <URL>

•  Images ![alternate text](URL) or ![alternate text](URL “title”)

•  Tables |-|-|-|-| with or without a header

•  Titles # title or ## section

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Markdown lists to DITA

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Markdown lists to DITA

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Markdown lists to DITA

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Controlled authoring experience We can provide customized:

•  placeholders •  hints •  inline actions •  inline form controls

Lightweight DITA example of controlled authoring experience

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Lightweight DITA topic

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Lightweight DITA topic placeholder

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Lightweight DITA topic

hint

placeholder

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Lightweight DITA topic

hint

placeholder

inline actions

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Lightweight DITA topic

hint

placeholder

inline actions

inline form controls

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Hide GitHub complexity

From

•  Fork remote •  Clone locally •  Branch •  Checkout working copy •  Change •  Commit locally •  Push to remote •  Send pull request

To

•  Change

•  Save/Commit

Automate parts of the contribution workflow

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

GitHub contribution workflow original remote repository

your remote repository

1. fork

your local repository branch

2. clone

Working copy

3. checkout

4. change

5. commit

6. push

7. pull request

Edited File

GitHub

Local

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Simplified workflow

original remote repository

Edited File

1. change

2. save/commit à push or fork + push + pull request

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Integration is key to adoption Interconnected services to achieve specific goals!

Services we will use in the following samples: •  GitHub – storage, versions, user management,

web publishing •  Jira – issue tracking, user management •  Travis – continuous integration server •  oXygen XML Web Author – XML authoring •  Slack – project chat

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Review documentation Jira Issue •  description •  comment •  code changes •  documentation

changes

Source repository

GitHub •  Documentation

repository

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Review documentation Jira Issue •  description •  comment •  code changes •  documentation

changes

Source repository

GitHub •  Documentation

repository

review/edit modified documentation

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Review documentation Jira Issue •  description •  comment •  code changes •  documentation

changes •  review/edit modified

documentation

Source repository

GitHub •  Documentation

repository

oXygen XML Web Author

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Email notifications with links

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Link to changes topics

click to review/edit

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Immediate edit access

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Click to see changes

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Enable contributions from anyone Website Documentation •  read •  stars/comments

•  instructions on how to access the documentation repository

GitHub •  Documentation

repository

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Enable contributions from anyone Website Documentation •  read •  stars/comments

•  link to edit current documentation topic

GitHub •  Documentation

repository

oXygen XML Web Author

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Enable contributions from anyone Website Documentation •  read •  stars/comments

•  link to edit current documentation topic

GitHub •  Documentation

repository

oXygen XML Web Author

Slack

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

oXygen User Guide

edit link

https://oxygenxml.com/doc/versions/18.0/ug-editor/topics/getting-started-intro.html

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Immediate access to edit

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Slack notifications on changes

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

DITA-OT documentation

edit link

http://www.dita-ot.org/dev/

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Edit source

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

DITA+Markdown based Wiki

Website (GitHub Pages) link to edit page

GitHub •  Documentation

repository

oXygen XML Web Author

Travis

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Website content https://georgebina.github.io/ghd-wiki/

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Lightweight DITA topic

History and Edit links

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Revisions history

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Controlled AX online editor

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Markdown topic

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

GitHub Markdown editor

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Travis project status https://travis-ci.org/georgebina/ghd-wiki/builds

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Take-aways There is nothing that stops us from using DITA

with GitHub to provide similar systems as Markdown+GitHub based systems

We need to enable incremental learning for DITA make it easy to be adopted outside technical writers

Integration is key to adoption DITA is not legacy, it is modern web-enabled

technology

@georgebina #LavaCon Copyright @ Syncro Soft, 2016. All rights reserved.

DITA for developers and GitHub for technical writers

Thank you

Questions? [email protected] @georgebina http://www.oxygenxml.com