draftjs
                                
                                 draftjs copied to clipboard
                                
                                    draftjs copied to clipboard
                            
                            
                            
                        Draft.js exporter for Go
Draft.js Exporter
Draft.js is a framework for
building rich text editors. However, it does not support exporting
documents at HTML. This package is designed to take the raw ContentState
(output of convertToRaw)
from Draft.js and convert it to HTML using Go. Mostly it
useful for server-side rendering. I should note this package does not provide
any input validation and assumes correct and safe input data.
Usage
func main() {
	// get your contentState JSON-string
	draftState := exampleDraftStateSource
	// make auxiliary variable
	contentState := draftjs.ContentState{}
	json.Unmarshal([]byte(draftState), &contentState) // don't forget error handling
	// prepare some config (HTML here)
	config := draftjs.DefaultConfig()
	// and just render content state to HTML-string
	s := draftjs.Render(&contentState, config)
	// that's it
	fmt.Println(s)
}
For RawContentState like this
{
  "entityMap": {
    "0": {
      "type": "LINK",
      "data": {
        "url": "https://medium.com/@rajaraodv/how-draft-js-represents-rich-text-data-eeabb5f25cf2#.ce9y2wyux"
      }
    }
  },
  "blocks": [
    {
      "text": "Rich text with link",
      "type": "unstyled",
      "depth": 0,
      "inlineStyleRanges": [
        {
          "offset": 0,
          "length": 4,
          "style": "BOLD"
        }, {
          "offset": 2,
          "length": 10,
          "style": "UNDERLINE"
        }, {
          "offset": 5,
          "length": 4,
          "style": "ITALIC"
        }, {
          "offset": 10,
          "length": 4,
          "style": "CODE"
        }
      ],
      "entityRanges": [{
          "offset": 15,
          "length": 4,
          "key": 0
       }]
}]}
It will give something like this but without indention:
<p>
	<strong>Ri</strong>
	<strong>
		<ins>ch</ins>
	</strong>
	<ins>
		<em>text</em>
	</ins>
	<ins>
		<code>wi</code>
	</ins>
	<code>th</code>
	<a href="https://medium.com/@rajaraodv/how-draft-js-represents-rich-text-data-eeabb5f25cf2#.ce9y2wyux" target="_blank">link</a>
</p>
That look like
	Ri
	
		ch
	
	
	
		text
	
	
	
		wi
	
	th
	link
Setup
You'll need Golang installed first :o)
go get github.com/ejilay/draftjs
Testing
To test run the following command in project's root directory:
go test ./...