Thoughts on Discourse?

Hey Tim,

Replying via email sucks, because the email parser doesn’t manage quoting or styled text.

(This is an example.)

Hey Tim,

The only upside it seems is that the forum did allow me to a apply markdown in the reply message.

(This message was composed on the forum.)

I do nearly all my composing with the forum editor, so I can see what the heck it looks like.

I use the following AppleScript to open forum messages from Apple Mail in Safari.

-------------------------------------------------------------------------------------------
# Auth: Christopher Stone
# dCre: 2013/04/02 14:00
# dMod: 2016/03/09 04:32
# Appl: Apple Mail & Default browser
# Task: Visit List-Serve Page Related to List-Mail-Message if Available.
# Libs: ELb
# Osax: None
# Tags: @Applescript, @Mail, @List, @Archive, @Header, @Browser
# Test: On OSX 10.9.x & 10.10.5
-------------------------------------------------------------------------------------------

try
  
  set listArchiveUrl to {}
  set urlToOpen to false
  set yahooGroupsBaseURL to "http://groups.yahoo.com/neo/groups/"
  
  tell application "Mail"
    set messageList to selection
    if length of messageList = 1 then
      set theMessage to item 1 of messageList
    else
      error "No messages OR too many messages are seleced!"
    end if
    
    tell theMessage
      
      set msgText to content
      
      set listID to content of (headers whose name is "List-Id")
      if listID ≠ {} then set listID to item 1 of listID
      
      set listArchiveUrl to content of (headers whose name is "List-Archive")
      if listArchiveUrl ≠ {} then
        set listArchiveUrl to item 1 of listArchiveUrl
      end if
      
      --» Applescript Users List
      if listID contains "applescript-users.lists.apple.com" then
        set urlToOpen to "http://lists.apple.com/archives/applescript-users"
      end if
      
      --» Keyboard Maestro Discourse Forum
      if listID contains "forum.keyboardmaestro.com" then
        
        set shCMD to "<<< " & (quoted form of msgText) & ¬
          " sed -En '/^To respond, reply to this email or visit https:[^[:blank:]]+/{
              s!.+(https:[^[:blank:]]+).*!\\1!
              p
            }'"
        
        set urlToOpen to do shell script shCMD
      end if
      
      --» Mail Act-On { Indev }
      if listID contains "support.indev.ca" then
        set shCMD to "<<< " & (quoted form of msgText) & ¬
          " sed -En '/^\\/\\/ Please reply above this line/,/^URL:.+/p' \\
            | sed -En 's!^URL: (.+)!\\1!p'"
        set urlToOpen to do shell script shCMD
      end if
      
      --» Path Finder Beta
      # URL: http://support.indev.ca/discussions
      if listID contains "Path Finder <support.cocoatech.com>" then
        set shCMD to "<<< " & (quoted form of msgText) & " sed -En '
              /View this discussion at our support site online:/ {n;p;}
            '"
        set urlToOpen to do shell script shCMD
      end if
      
      --» Yahoo Groups  
      if listID contains "yahoogroups.com" then
        set shCMD to "<<< " & (quoted form of listID) & " sed -E '
        s![<>]!!g
        s!\\.yahoogroups\\.com$!!
        '"
        
        set listID to do shell script shCMD
        set urlToOpen to yahooGroupsBaseURL & listID & "/info"
      end if
      
    end tell
  end tell
  
  if urlToOpen = false then
    
    if listArchiveUrl is not in {{}, ""} then
      set shCMD to "<<< " & (quoted form of listArchiveUrl) & " sed -E 's!^<|>$!!g'"
      set urlToOpen to do shell script shCMD
    end if
    
  end if
  
  if urlToOpen ≠ false then
    
    tell application "Safari"
      make new document with properties {URL:urlToOpen}
      set bounds of front window to {228, 22, 1542, 1196}
      activate
    end tell
    
  end if
  
on error e number n
  set e to e & return & return & "Num: " & n
  if n ≠ -128 then
    try
      tell application (path to frontmost application as text) to set ddButton to button returned of ¬
        (display dialog e with title "ERROR!" buttons {"Copy Error Message", "Cancel", "OK"} ¬
          default button "OK" giving up after 30)
      if ddButton = "Copy Error Message" then set the clipboard to e
    end try
  end if
end try

-Chris

I pretty much agree with that - I use it only for very simple responses, and then I have to make sure I don't include a normal termination sign off like I normally would in an email, and turn off my signature in case the email parsing doesn't notice that and includes it in the message.

So if I have to do anything other than a pretty trivial response, I use the forum editor.