Puneeth <puncha...@gmail.com> writes: > The line breaks being stripped off is due to code in org2blog. It has > nothing to do with org-mode's export. Wordpress does not ignore > linebreaks in the content, which looks very ugly for normal posts. > Code in org2blog strips off the line breaks from the html generated by > org-export-as-html. It checks for <pre> and <blockquote> tags and > leaves out the newlines within those tags. This is (most) probably > what is causing trouble. > > I'll only be able to look into it in the weekend. Anybody is free to > beat me to that. :)
This is a workaround, all based on work by Puneeth and Benjamin, that seems to work for me. I did not know what to do with Benjamin's advice stuff (Just evaluating it changed nothing in the output). ;; Benjamin's stuff, one line changed (defun bnb/org2blog-src-blocks-to-wp-syntaxhighlighter () "Export #+BEGIN_SRC blocks as Wordpress Syntaxhighlighter tags. There is a special header option, :syntaxhl that contains the options to pass to syntaxhighlighter. This is intended to be added to `org-export-preprocess-hooks'" (interactive) (save-window-excursion (let ((case-fold-search t) (colon-re "^[ \t]*:\\([ \t]\\|$\\)") lang body headers syntaxhl beg) (goto-char (point-min)) (while (re-search-forward colon-re nil t) (replace-match (match-string 1)) (beginning-of-line 1) (insert "[text light=\"true\"]\n") (setq beg (point)) (while (looking-at colon-re) (replace-match (match-string 1)) (end-of-line 1) (or (eobp) (forward-char 1))) (end-of-line 1) (add-text-properties beg (if (bolp) (1- (point)) (point)) '(org-protected t)) (insert "\n[/text]")) (unless (boundp 'org-babel-src-block-regexp) (require 'ob)) (while (re-search-forward (concat "\\(" org-babel-src-block-regexp "\\|" org-babel-inline-src-block-regexp "\\)") nil t) (setq lang (match-string-no-properties 3)) (if (string-match "-" lang) (error "SyntaxHighlighter does not support languages with '-' in the names")) (setq headers (match-string-no-properties 5)) (setq body (match-string-no-properties 6)) (save-match-data (setq syntaxhl (if (string-match ":syntaxhl[ ]+\\([^ ]+\\)" headers) (concat " " (replace-regexp-in-string "\;" " " (match-string 1 headers)))))) (replace-match ;(concat "\n\n[" lang syntaxhl "]\n" body "[/" lang "]\n") (concat "\n\n[sourcecode language=\"" lang syntaxhl "\"]\n" body "[/sourcecode]\n") nil t))))) (add-hook 'org-export-preprocess-hook 'bnb/org2blog-src-blocks-to-wp-syntaxhighlighter) ;; searching for [sourcecode ... ] ... [/sourcecode] so that newlines ;; are not removed ;; Puneeth's stuff, two lines changed (defun org2blog-strip-new-lines (html) "Strip the new lines from the html, except in pre and blockquote tags." (save-excursion (with-temp-buffer (let* (start-pos end-pos) (insert html) (setq start-pos (point-min)) (goto-char start-pos) (while (re-search-forward "\\[sourcecode.*" nil t 1) (setq end-pos (match-beginning 0)) (replace-regexp "\\\n" " " nil start-pos end-pos) (re-search-forward "\\[/sourcecode.*" nil t 1) (setq start-pos (match-end 0)) (goto-char start-pos)) (setq end-pos (point-max)) (replace-regexp "\\\n" " " nil start-pos end-pos) (buffer-substring-no-properties (point-min) (point-max)))))) _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode