% % Markdown language editor % //------------------ |Epic _Ent.ExitData logs % % evaluate commands from the special editors % Ent._E3 ">Epic " log() < //------------------ |Startup % % special editor independent browser has started % record the window descriptions derived from document title info (E4) % also supplied at startup is the name of the Flash receptor (E5) for the browser % % startup for Epic editor % % establish Epiceditor (not reserved comm), as the Util comm tx % (defaults to Util) % % save the document title for the browser % *coneidnt !Epic.Title 0 !Epic.Win _Epic.Title "IEFrame" *indymons { !Epic.Win % % save the receptor's identity % Ent._E5 *receptor dup !Epic.Ident second !Epic.Page % % initiate a transmitter socket for talking to special editor % *starcomm % % send the editable markdown text to the special editor % *epictovb( } if //------------------ |Reply % % handle the message/reply from the special editor % responding to our requests or a special editor initiated message % % distribute the message/reply to the requestee/requestor % Ent._E5 unescape "|" Str.Left "doing> " log() < |Accept "Current" empty send |Reject % % reject edits message, shut down the page in response % "Shut" empty send % % do not save the value content % |Get % % special editor's current html was requested % % set the text in the Content page with the current retrieved value % Ent._E6 unescape !Marked "Shut" empty send |Current % % special editor's current text was requested % % set the text in the Content page with the current retrieved value % Ent._E6 unescape *enterval Help.! % % shut down the page now % "Get" empty send |Shut % % page is going away, end our transmitter to it % "NoUtil" "StartComm" dance) |Preview % % switch to preview only % "Exec" "EpicPmode();" send |Edit % % switch to raw editor % "Exec" "EpicEmode();" send |ExitFs % % switch to raw editor % "Exec" "EpicEmode();" send |Dual % % switch to full-screen dual window mode % "Exec" "EpicDual();" send > pop > pop