Use cmark-gfm by default, adapt CLI args, use escapes via find and replace if discount must be used.
This commit is contained in:
		
							parent
							
								
									845e87b521
								
							
						
					
					
						commit
						22aa7cf966
					
				
							
								
								
									
										16
									
								
								main.go
								
								
								
								
							
							
						
						
									
										16
									
								
								main.go
								
								
								
								
							| 
						 | 
				
			
			@ -88,7 +88,7 @@ func highlight(w io.Writer, source, lexer, style string) error {
 | 
			
		|||
	return f.Format(w, s, it)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const Version = "0.1.2"
 | 
			
		||||
const Version = "0.1.3"
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	css := flag.String("css", "", "Path to a CSS import to include at the beginning of the output")
 | 
			
		||||
| 
						 | 
				
			
			@ -119,6 +119,7 @@ func main() {
 | 
			
		|||
	bs := bufio.NewScanner(r)
 | 
			
		||||
	lang := ""
 | 
			
		||||
	needCSS := false
 | 
			
		||||
	cmark, lookErr := exec.LookPath("cmark-gfm")
 | 
			
		||||
	for bs.Scan() {
 | 
			
		||||
		text := bs.Text()
 | 
			
		||||
		trimmed := strings.TrimSpace(text)
 | 
			
		||||
| 
						 | 
				
			
			@ -141,6 +142,12 @@ func main() {
 | 
			
		|||
			currentCodeBlock.WriteString(text)
 | 
			
		||||
			currentCodeBlock.WriteByte('\n')
 | 
			
		||||
		} else {
 | 
			
		||||
			/* If cmark is not installed then discount will be used, and we have to
 | 
			
		||||
			 * do some encoding ourselves. */
 | 
			
		||||
			if lookErr != nil {
 | 
			
		||||
				text = strings.Replace(text, "\\<", "<", -1)
 | 
			
		||||
				text = strings.Replace(text, "\\>", ">", -1)
 | 
			
		||||
			}
 | 
			
		||||
			out.WriteString(text)
 | 
			
		||||
			out.WriteByte('\n')
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -157,12 +164,13 @@ func main() {
 | 
			
		|||
	checkError(writeErr, "writing data to temporary file")
 | 
			
		||||
	// shell out to markdown because of
 | 
			
		||||
	// https://github.com/russross/blackfriday/issues/403
 | 
			
		||||
	cmark, lookErr := exec.LookPath("cmark")
 | 
			
		||||
	args := []string{cmark, "--unsafe", f.Name()}
 | 
			
		||||
	var args []string
 | 
			
		||||
	if lookErr != nil {
 | 
			
		||||
		cmark, lookErr = exec.LookPath("markdown")
 | 
			
		||||
		checkError(lookErr, "finding markdown binary")
 | 
			
		||||
		args = []string{cmark, f.Name()}
 | 
			
		||||
		args = []string{cmark, "-f", "smarty,pants", f.Name()}
 | 
			
		||||
	} else {
 | 
			
		||||
		args = []string{cmark, "--smart", "--unsafe", "--extension", "table", f.Name()}
 | 
			
		||||
	}
 | 
			
		||||
	execErr := localExec(cmark, args, []string{})
 | 
			
		||||
	checkError(execErr, "executing markdown binary")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue