mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Rewrite markdown rendering to blackfriday v2 and rewrite orgmode rendering to go-org (#8560)
* Rewrite markdown rendering to blackfriday v2.0 * Fix style * Fix go mod with golang 1.13 * Fix blackfriday v2 import * Inital orgmode renderer migration to go-org * Vendor go-org dependency * Ignore errors :/ * Update go-org to latest version * Update test * Fix go-org test * Remove unneeded code * Fix comments * Fix markdown test * Fix blackfriday regression rendering HTML block
This commit is contained in:
		
							
								
								
									
										103
									
								
								vendor/github.com/niklasfasching/go-org/org/writer.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								vendor/github.com/niklasfasching/go-org/org/writer.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,103 @@ | ||||
| package org | ||||
|  | ||||
| import "fmt" | ||||
|  | ||||
| // Writer is the interface that is used to export a parsed document into a new format. See Document.Write(). | ||||
| type Writer interface { | ||||
| 	Before(*Document) // Before is called before any nodes are passed to the writer. | ||||
| 	After(*Document)  // After is called after all nodes have been passed to the writer. | ||||
| 	String() string   // String is called at the very end to retrieve the final output. | ||||
|  | ||||
| 	WriterWithExtensions() Writer | ||||
|  | ||||
| 	WriteKeyword(Keyword) | ||||
| 	WriteInclude(Include) | ||||
| 	WriteComment(Comment) | ||||
| 	WriteNodeWithMeta(NodeWithMeta) | ||||
| 	WriteNodeWithName(NodeWithName) | ||||
| 	WriteHeadline(Headline) | ||||
| 	WriteBlock(Block) | ||||
| 	WriteExample(Example) | ||||
| 	WriteDrawer(Drawer) | ||||
| 	WritePropertyDrawer(PropertyDrawer) | ||||
| 	WriteList(List) | ||||
| 	WriteListItem(ListItem) | ||||
| 	WriteDescriptiveListItem(DescriptiveListItem) | ||||
| 	WriteTable(Table) | ||||
| 	WriteHorizontalRule(HorizontalRule) | ||||
| 	WriteParagraph(Paragraph) | ||||
| 	WriteText(Text) | ||||
| 	WriteEmphasis(Emphasis) | ||||
| 	WriteLatexFragment(LatexFragment) | ||||
| 	WriteStatisticToken(StatisticToken) | ||||
| 	WriteExplicitLineBreak(ExplicitLineBreak) | ||||
| 	WriteLineBreak(LineBreak) | ||||
| 	WriteRegularLink(RegularLink) | ||||
| 	WriteTimestamp(Timestamp) | ||||
| 	WriteFootnoteLink(FootnoteLink) | ||||
| 	WriteFootnoteDefinition(FootnoteDefinition) | ||||
| } | ||||
|  | ||||
| func WriteNodes(w Writer, nodes ...Node) { | ||||
| 	w = w.WriterWithExtensions() | ||||
| 	for _, n := range nodes { | ||||
| 		switch n := n.(type) { | ||||
| 		case Keyword: | ||||
| 			w.WriteKeyword(n) | ||||
| 		case Include: | ||||
| 			w.WriteInclude(n) | ||||
| 		case Comment: | ||||
| 			w.WriteComment(n) | ||||
| 		case NodeWithMeta: | ||||
| 			w.WriteNodeWithMeta(n) | ||||
| 		case NodeWithName: | ||||
| 			w.WriteNodeWithName(n) | ||||
| 		case Headline: | ||||
| 			w.WriteHeadline(n) | ||||
| 		case Block: | ||||
| 			w.WriteBlock(n) | ||||
| 		case Example: | ||||
| 			w.WriteExample(n) | ||||
| 		case Drawer: | ||||
| 			w.WriteDrawer(n) | ||||
| 		case PropertyDrawer: | ||||
| 			w.WritePropertyDrawer(n) | ||||
| 		case List: | ||||
| 			w.WriteList(n) | ||||
| 		case ListItem: | ||||
| 			w.WriteListItem(n) | ||||
| 		case DescriptiveListItem: | ||||
| 			w.WriteDescriptiveListItem(n) | ||||
| 		case Table: | ||||
| 			w.WriteTable(n) | ||||
| 		case HorizontalRule: | ||||
| 			w.WriteHorizontalRule(n) | ||||
| 		case Paragraph: | ||||
| 			w.WriteParagraph(n) | ||||
| 		case Text: | ||||
| 			w.WriteText(n) | ||||
| 		case Emphasis: | ||||
| 			w.WriteEmphasis(n) | ||||
| 		case LatexFragment: | ||||
| 			w.WriteLatexFragment(n) | ||||
| 		case StatisticToken: | ||||
| 			w.WriteStatisticToken(n) | ||||
| 		case ExplicitLineBreak: | ||||
| 			w.WriteExplicitLineBreak(n) | ||||
| 		case LineBreak: | ||||
| 			w.WriteLineBreak(n) | ||||
| 		case RegularLink: | ||||
| 			w.WriteRegularLink(n) | ||||
| 		case Timestamp: | ||||
| 			w.WriteTimestamp(n) | ||||
| 		case FootnoteLink: | ||||
| 			w.WriteFootnoteLink(n) | ||||
| 		case FootnoteDefinition: | ||||
| 			w.WriteFootnoteDefinition(n) | ||||
| 		default: | ||||
| 			if n != nil { | ||||
| 				panic(fmt.Sprintf("bad node %T %#v", n, n)) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user