Editorial Workflows

Recently Added

DayOne Entry from Current

Creates DayOne entry from the current document.

Paste & Fold CSS

This is a companion to my “Minify CSS” workflow. It lets you paste a massive chunk of text into your document and immediately fold it. Get “Minify CSS” at http://www.editorial-workflows.com/workflow/5770324968734720/nEuts0sTe90

Minify CSS

Compress your CSS with this simple workflow. This workflow nukes all unnecessary white space and comments and copies the result to your clipboard. I created it to drop CSS into my Editorial projects when I need to work off line, so the minified CSS comes wrapped in style tags.

Extract Inline CSS

If you test CSS by using inline styles before adding it to your style sheets, then you might find this workflow handy. Here’s how it works: First, add inline styles via the “style” attribute. If the tag has other attributes, then style be the first one or the workflow will not function. Next, select the text from which you want to extract your inline CSS and run this workflow. Visibly, you’ll see your inline CSS stripped from your tags and the style attributes changed into class attributes. The extracted CSS has been copied to your clipboard and is ready to paste into your style sheet.

Lock Widows & Orphans

This workflow strategically adds nonbreaking spaces to prevent orphans and widows. Orphans and widows are typography terms for a couple types of awkward text wrapping breaks, which have a negative impact on readability. This workflow can be a bit heavy handed. That’s why I set it up so that you can apply it two ways. If you select text, then the workflow will expand the selection to encompass the nearest full lines (a necessity of the grep search/replace quarries) and only affect them. If you don’t select any text, then the workflow will run on your entire document. While you may want to only apply it to one paragraph at a time, especialy if you’re still touching up your work, the workflow should be safe to run across your whole document. I did what I could to ensure it won’t insert nonbreaking space glyphs where they don’t belong. You can even run the workflow repeatedly, and it won’t mess up. That’s because there’s a section of the workflow that first strips out its effects before applying them, preventing the added nonbreaking space glyphs from throwing off the search parameters. There’s a companion workflow for this one, “Unlock Widows & Orphans,” which is just the queries from the first half of this workflow, which simply allows you to strip out the effects. That’s super useful if you need to go back and edit your copy. Get “Unlock Widows & Orphans” here: http://www.editorial-workflows.com/workflow/5882681648742400/1xKA-wP6bWk One last note: Editorial’s grep handling is somewhat limited, so it’s possible I missed something. If I catch it, then I’ll update this workflow.

Unlock Widows & Orphans

This is the companion workflow to “Lock Widows & Orphans.” It simply strips out the nonbreaking spaces the other workflow adds. It’s great for unlocking sections of your copy if you need to change or edit something. Like it’s sibling, you can apply this workflow only to the lines you select, but if you select nothing, it’ll affect the whole document. Get “Lock Widows & Orphans” here: http://www.editorial-workflows.com/workflow/5788548716298240/FDDgmQcd_Qs

New OmniFocus Project

This Workflow accepts TaskPaper text with «placeholder» tokens and prompts for you to enter final values, then creates a project in OmniFocus 2.14 for iOS using those tokens. For example, given this input: - «project_name» @parallel(false) @due(«due») - This task needs to be done at least 1 week before «project_name» is due @due(«due» -1w) - This task needs to be done at least 2 days before «project_name» is due @due(«due» -2d) You'll be prompted to enter values for «project_name» and «due». If you enter "Phonewave 1.2" and "next Thursday", it will create a new "Phonewave 1.2" project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday.

Fold Lines

Wonder why you can’t fold lines in HTML and other syntax modes? Well, now you can. This workflow lets you fold any range of lines you like and label the fold.

grep find

A simple script to search via grep. Great for testing search strings if you want to build more complex search/replace workflows.

grep find/replace

Simple grep find and replace script. Searches in selected text. If nothing is selected, then the script searches the entire document.

ul

Turns a list of text into a fully formatted unordered list, complete with tabs.

strong

Wraps text in strong tags. TEXT

span

Wraps text in span tag and move cursor inside of opening tag. TEXT

section

Wraps selection in section tags and entabs it.

CONTENT

p splice

Splits a paragraph with closing and opening tags separated with two returns. BEFORE

Lorem ipsum dolor sit amet, consectetur adipiscing elit.||Sed vitae eleifend nunc. Sed quis lobortis enim, nec rhoncus mauris.

AFTER

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Sed vitae eleifend nunc. Sed quis lobortis enim, nec rhoncus mauris.

__________ Note: I use a meaningless class to prevent Wordpress from removing my paragraph tags in translation. If you don’t like it, then take it out of the workflow.

p

Wraps text in paragraph tags.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.||Sed vitae eleifend nunc. Sed quis lobortis enim, nec rhoncus mauris.

__________ Note: I use a meaningless class to prevent Wordpress from removing my paragraph tags in translation. If you don’t like it, then take it out of the workflow.

ol

Turns a list of text into a fully formatted ordered list, complete with tabs.

  1. ITEM-1
  2. ITEM-2
  3. ITEM-3

li

Wraps selected text in list item tags.

  • TEXT
  • hr

    Drops in a horizontal rule tag.


    h3

    Wraps text in header 3 tags.

    TEXT

    h2

    Wraps text in header 2 tags.

    TEXT

    em

    Wraps text in emphasis tags. TEXT

    dl

    Turns a list of terms and definitions (offset with tabs) into a fully formatted definition list, with tabs and double tabs.

    TERM
    DEFINITION
    TERM
    DEFINITION
    DEFINITION
    It will also handle nested ordered lists, but you have to make the ordered list yourself (I have a workflow for that too).
    TERM
    DEFINITION
    TERM
    1. NUMBERED DEF
    2. NUMBERED DEF
    3. NUMBERED DEF

    div

    Wraps content in div tags and entabs it.

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vel dignissim turpis. Sed eget velit nec nibh sollicitudin elementum.

    Sed vitae eleifend nunc. Sed quis lobortis enim, nec rhoncus mauris. Etiam dui lacus, aliquet quis lectus in, condimentum pretium metus.

    (un)comment

    Comment or uncomment lines of HTML.

    a

    Turn selected text into an anchor tag preformatted for targeting an ID. TEXT

    detab

    Detabs line by one tab.

    entab

    Entabs line by one tab.

    Export Prep

    Kills all extra white space and excessive returns and fixes many non-UTF characters created by typing on iOS devices that are too smart for their own good.

    List URLs... https://goo.gl/mCA5gL List Urls | WordPress.org https://goo.gl/5u9q8p List all URLs | WordPress.org https://goo.gl/vcGduf Create a List of URLs | Search | Google Developers

    Shows a list of URLs in the current document. Selecting https://goo.gl/tKAXKV What is the meaning of URL? - Quora https://goo.gl/vvwncI URL shortening - Wikipedia https://goo.gl/T6iZeq URL - schema.org https://goo.gl/96PGZL What is a URL? - Computer Business Review one of the URLs opens it in the browser panel.

    Working Copy

    Workflow for transferring files from Working Copy to Editorial and back again. When called with input, it will pick the filename from the first line and write the other lines into this file, which lets Working Copy create a new file with predefined content. The filename contains a unique identifier for remembering where it belongs. To avoid overwriting files in Editorial by mistake, the previous contents of files are put in WorkingCopy.bak When this workflow is called without any input the contents of the current file is written back to Working Copy. Change askcommit variable to 0 if you just want to save and not be asked to commit. To install a new version of this workflow delete or rename this one and perform Edit in Editorial from Working Copy.

    Editorial Backup

    Saves or restores a backup of all Editorial workflows, snippets, bookmarks, and local documents as a zip file in Dropbox (this requires the Dropbox account to be linked). Please note: If you want to restore a backup on a different device, you first have to download the backup file (just tap on it in the document list). This is required because Editorial doesn't sync zip files by default. Restoring a backup will *overwrite* all existing workflows, snippets, and bookmarks, so it's possible that you'll lose data this way. The best way to avoid any data loss is to create a backup before restoring anything.

    New YAML Front Matter

    This workflow presents a series of menus where front matter data is collected then pastes the front matter into the current document. If anything is selected in the document prior to running this workflow, it will be replaced with the front matter. Front matter included: - Layout - Title - Subtitle - Permalink - Published - Tags - Image

    Get callback URL

    Get callback URL of the editorial file.

    Workflow Backup...

    Saves or restores a backup of all Editorial workflows in Dropbox (this requires the Dropbox account to be linked).

    Workflow Backup...

    Saves or restores a backup of all Editorial workflows in Dropbox (this requires the Dropbox account to be linked).

    ⬇ End

    Jump caret to bottom of document

    ⬆ Start

    Jump caret to top of document

    Fontomatic

    This markdown workflow provides options to select various fonts, sizes, and heading styles before previewing or creating a PDF. There is an option to save the settings to a local (fontomatic.txt) file. If a settings file is present, the workflow will go directly to the output options. The settings can also be cleared, to make new selections. It’s intended for use with everyday documents, letters, notes, etc. to add a few basic styles before emailing or printing. It’s also useful for quickly testing different font combinations and sizes before digging into templates and style sheets.

    Full Share Dialog (entire file)

    Use this to access the full Share bar within iOS. This will allow user to (for example) send the entire file to OneDrive (if installed), copy the file to the Files or Notes app, or any other action that displays in the full Share bar for their setup.

    Working Copy

    Workflow for transferring files from Working Copy to Editorial and back again. When called with input, it will pick the filename from the first line and write the other lines into this file, which lets Working Copy create a new file with predefined content. The filename contains a unique identifier for remembering where it belongs. To avoid overwriting files in Editorial by mistake, the previous contents of files are put in WorkingCopy.bak When this workflow is called without any input the contents of the current file is written back to Working Copy. Change askcommit variable to 0 if you just want to save and not be asked to commit. To install a new version of this workflow delete or rename this one and perform Edit in Editorial from Working Copy.

    Get Mailing List

    This workflow extracts all email addresses in the current document/selection, or the clipboard, and copies them to the clipboard in a format suitable for pasting into the address line of email apps.

    Statistics

    Shows statistics about the selected text(word count etc.). If no text is selected, the statistics refer to the entire document.

    New OmniFocus Project in Folder

    Adding a nested conditional to exit the script if dialog values == None (in previous version it continued to call OF even if the dialog was cancelled) This Workflow accepts TaskPaper text with «placeholder» tokens and prompts for you to enter final values, then creates a project in a folder in OmniFocus 2.14 for iOS using those tokens. For example, given this input: - «project_name» @parallel(false) @due(«due») - This task needs to be done at least 1 week before «project_name» is due @due(«due» -1w) - This task needs to be done at least 2 days before «project_name» is due @due(«due» -2d) You'll be prompted to enter values for «project_name» and «due». If you enter "Phonewave 1.2" and "next Thursday", it will create a new "Phonewave 1.2" project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday. This is based on the original workflow shared by OmniGroup, modifications have been made to ask for the target folder and to place the project appropriately.

    stopwatch

    A stopwatch that's part of a collection of workflows I use to log exercises and workouts. If the caret sits in a line that doesn't contain a clock in the format "h:mm:ss", the workflow will add a blank clock wherever the caret is placed when the workflow is invoked. Once started, press the active workflow spinner (top right hand corner of the screen) to stop the clock. The workflow also allows for restarting a previously stopped clock... 2018-04-24

    Backup to Local

    This workflow copies the current document into a local folder. It defaults to the current file path, with .bak appended to the file name, but that can be changed before saving.

    Backup to Dropbox

    This workflow copies the current document into a Dropbox folder. It defaults to the current file path, with .bak appended to the file name, but that can be changed before saving.

    Share with Images

    Converts local image files that are referenced in the current (Markdown) document to equivalent base64-encoded data URIs. Afterwards, the document is converted to HTML and passed to a share sheet. This is a small modification to Ole Moritz’s “Send with Images” workflow. It can be used for alternative email apps or other apps that accept HTML. NOTE: Some older browsers limit the size of base64 encoded images, and it’s not very efficient. Best for small images like icons or logos.

    Preview Remark.js

    Create a quick and easy presentation using markdown and (remark)[http://remark.js]. Just create the presentation and use this workflow to view it. No need to install anything.

    Mark Today

    Designed for use with Taskpaper files. Insert a @today(yyyy-mm-dd) tag at the current cursor location. Opens an input box with the current year and month auto-filled and the cursor ready to type the day.

    Set Reminder+

    For use with Taskpaper. Visual prompt to set reminders. Afterwards automatically creates reminder in iOS reminders app Requires Set Reminders Script by chew-z (look for my updates in the comments)

    Mark Due+

    For use with Taskpaper. Presents Date Picker UI to create @due(yyyy-mm-dd) strings

    Jekyll: New Post

    Create a new Jekyll document including front-matter.

    Share...

    Shows the iOS share sheet with the selected text as input. If nothing is selected, the entire document is shared. In a Markdown document, the text can optionally be converted to HTML first.

    Share...

    Shows the iOS share sheet with the selected text as input. If nothing is selected, the entire document is shared. In a Markdown document, the text can optionally be converted to HTML first.

    Paste with consistent tab depth

    When pasting a list of Taskpaper items (or any bulleted list) into another list, I find myself doing the following: - press return for new line - delete auto-generated space - delete auto-generated bullet (-) - paste And sometimes: - curse myself for forgetting that the tab depths of the items on the clipboard and the paste location are different - adjust indents on each line to match desired tab depth This workflow is just a way to make pasting a list into a list easier. Cut a list, place the cursor in the line you want the pasted items to appear after, and run— the workflow gets the current line, determines tab depth from that, and pastes the clipboard appropriately. Successive depths of indents within the pasted items are also respected. All usual disclaimers (it works for me; I accept no responsibility if your house falls down when you run this workflow, etc) apply. 2018-04-09 v 1.1 - now with added consistency (and all the difference a "+" makes in a regular expression...)! Also initialises tabcount as a zero value, for those of you copying unindented tasks into your lists.

    Good Conversion

    Bible Verse Block Quote

    I updated the Bible ESV Block script by by @pfcbenjamin to version 3

    FindQuoteByWord

    This workflow searches a "quotes.md" file for a keyword you provide and then displays a picklist to select from. The selected quote is then copied to your clipboard.

    Publish Post (rojcyk.com)

    This workflow creates a gatsby post and saves it to a Git repository using Working Copy. To use this workflow, change the key and repo variables to match the key and repo name in Working Copy. The key must match the URL key found in Working Copy's Settings > App Integrations section. Working Copy must be installed to use this workflow. https://workingcopyapp.com

    Look Up Scripture

    New OmniFocus Project in Folder

    This Workflow accepts TaskPaper text with «placeholder» tokens and prompts for you to enter final values, then creates a project in a folder in OmniFocus 2.14 for iOS using those tokens. For example, given this input: - «project_name» @parallel(false) @due(«due») - This task needs to be done at least 1 week before «project_name» is due @due(«due» -1w) - This task needs to be done at least 2 days before «project_name» is due @due(«due» -2d) You'll be prompted to enter values for «project_name» and «due». If you enter "Phonewave 1.2" and "next Thursday", it will create a new "Phonewave 1.2" project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday. This is based on the original workflow shared by OmniGroup, modifications have been made to ask for the target folder and to place the project appropriately.

    Flesch Readability Calculator

    The Flesch Reading Ease Readability Formula The specific mathematical formula is: 1. RE = 206.835 – (1.015 x ASL) – (84.6 x ASW) 2. RE = Readability Ease 3. ASL = Average Sentence Length (i.e., the number of words divided by the number of sentences) 4. ASW = Average number of syllables per word (i.e., the number of syllables divided by the number of words) 5. The output, i.e., RE is a number ranging from 0 to 100. The higher the number, the easier the text is to read. • Scores between 90.0 and 100.0 are considered easily understandable by an average 5th grader. • Scores between 60.0 and 70.0 are considered easily understood by 8th and 9th graders. • Scores between 0.0 and 30.0 are considered easily understood by college graduates. • The score between 60 and 70 is largely considered acceptable. The following table is also helpful to assess the ease of readability in a document: * 90-100 : Very Easy • 80-89 : Easy • 70-79 : Fairly Easy • 60-69 : Standard • 50-59 : Fairly Difficult • 30-49 : Difficult • 0-29 : Very Confusing See: http://www.readabilityformulas.com/flesch-reading-ease-readability-formula.php http://www.readabilityformulas.com/freetests/six-readability-formulas.php

    Share...

    Shows the iOS share sheet with the selected text as input. If nothing is selected, the entire document is shared. In a Markdown document, the text can optionally be converted to HTML first.

    Copy as OmniFocus URL

    Based on Ken Case’s workflow for adding TaskPaper projects directly to OmniFocus, this one copies it to the clipboard as a URL so it can be a template that launches straight from a note in an OmniFocus task

    WFCancelNotification

    Shows the iOS share sheet with the selected text as input. If nothing is selected, the entire document is shared. In a Markdown document, the text can optionally be converted to HTML first.

    Adjust done datetime

    TLDR: add or subtract days, hours and minutes to/from done timestamps. TO USE: mark a task done, then invoke this workflow. The task must have a READ MORE: I keep a log of done tasks as part of a Quantified Self protocol. To support that effort, I mark tasks done with date and time, and it helps if the time is accurate to within the half hour at least. But I don't always mark a task done at the appropriate time. Particularly when I'm away from a device or working through a series of related tasks that flow into each other, I may not log done tasks until my end of day review. With a Bluetooth keyboard, it's not so hard, but if I'm working on screen (although a two-finger long press on the keyboard makes it relatively easy to position the caret for edits) I prefer this workflow for manipulating dates. Feel free to post comments and suggestions for improvement. V1.0 2018-03-08

    Post to Dreamwidth/LiveJournal

    This workflow posts to Dreamwidth or LiveJournal depending on user input, and could be set to post to other sites which are based on LiveJournal’s codebase and use the same XMLRPC API. The workflow fetches a tag list, automatically sets the location, and allows for the user's mood and music to be passed to LiveJournal before opening the entry in Safari. This must be combined with my Set Password workflow to work properly (the title of the service you set in the Set Password workflow must be the same as the one you select from the list in this workflow). In order to use this workflow, edit the 'username' variable to your username. This workflow was based in part on the 'Post to WordPress' workflow by Federico Viticci. It was also greatly informed by posts on both EllisLab and the lj-clients community on LiveJournal.

    List URLs...

    Shows a list of URLs in the current document. Selecting one of the URLs opens it in the browser panel.

    MT PDF Export

    Export markdown to PDF using custom CSS settings

    Add to Scratchpad...

    Shows an input dialog with the selected text or the contents of the clipboard. The result is appended to a "Scratchpad.txt" file.

    add2inbox

    Share...

    Shows the iOS share sheet with the selected text as input. If nothing is selected, the entire document is shared. In a Markdown document, the text can optionally be converted to HTML first.

    Markdown式URL

    マークダウン式のURL(タイトル込み)を、最後に開いていたブラウザから取得

    New Dated Section

    For “diary” style documents, this workflow inserts the date at the beginning of the document as a second-level header, together with some blank lines.

    Preview with Math

    Render MathJax equations in Multimarkdown preview. You can customize the css since it's available as a variable. The default css is the Editorial one.

    get_DailyArt_url

    Get a oil painting website("https://www.getdailyart.com")'s information for reference. The very first step is copy the painting information page address(which you can get it from the DailyArt app share button, eg. "https://www.getdailyart.com/22464/cecilio-pia-y-gallardo/yachtwoman"), then run the workflow script, and you would get txt file with the page information in your Editorial Document.

    七牛图床

    功能: 1、选择相册图片一键上传至七牛空间。 2、上传成成功后在当前操作文档的光标处以MD语法插入图片外链地址。 3、上传成功后复制图片外链地址到系统剪贴板(可选)。 注意: 1、请打开任何一个文档后再运行脚本,不然图片外链地址没地方插入。 2、请自行注册七牛免费空间。 3、使用前请先设置七牛相关参数,如不懂python请不要随便修改脚本,以免报错。 by wind.m 2017.6.5 Tg:@meiycs

    Draft

    Full Share Dialog (entire file)

    Use this to access the full Share bar within iOS. This will allow user to (for example) send the entire file to OneDrive (if installed), copy the file to the Files or Notes app, or any other action that displays in the full Share bar for their setup.

    Create DayOne Entry from Template

    1. Generate a title then prompt to edit it. 2. Clip template text from "Journal Entry Template.md". 3. Create an entry in DayOne with the title and template text. I use this template: How to Become More Consistent in Your Daily Journaling http://michaelhyatt.com/daily-journal-template.html

    Create DayOne Entry from Template

    1. Generate a title then prompt to edit it. 2. Clip template text from "Journal Entry Template.md". 3. Create an entry in DayOne with the title and template text. I use this template: How to Become More Consistent in Your Daily Journaling http://michaelhyatt.com/daily-journal-template.html

    Checklist

    A custom CSS preview in progress. It should be usable at this point. Note that is is not for multimarkdown at this time.

    Post to mico.blog

    Based on jbwhaley’s [Pythonista script](https://gist.github.com/jbwhaley/126ddcd807bf5ff95909a78d863e1e6d#file-microblogger-py) this workflow takes the selected text, posts it to micro.blog, and archives the post in its own Markdown file.

    EOF

    Moves caret to the end of document so I can add some text without scrolling.

    Tweet via Twitter app

    Alternative to the tweet sheet that was removed in iOS 11 (using the official Twitter app’s URL scheme).

    Make Questions

    search_files

    Find the files that contain all the query words

    Jekyll Publish (Working Copy)

    Requirements for this workflow: * Working Copy This workflow creates the front matter for a Jekyll post and saves the file to a Git repository using Working Copy. It asks the user for tags to include into the front matter. My full setup I am using this in is explained at https://blog.neverthesamecolor.net/ipad-only-blogging/ The markdown document is scanned for image references and commits the referenced files from the “assets/“ folder to the repository. To use this workflow, change the key and repo variables to match the key and repo name in Working Copy.

    Search Wikipedia

    Searches Wikipedia for the selected word. If nothing is selected, a text input dialog is shown.

    字数

    SentenceCaseDoc

    This workflow runs through your entire document and turns all sentences into Sentence Case. (Note: No need to select content first.)

    SentenceCase

    This workflow will turn your selected text into Sentence Case. (Note: Must select text before running the workflow.)

    Fountain to PDF

    Converts a Fountain screenplay to PDF, using the `screenplain` Python module. The result is shown in a browser tab.

    Gaddgict Update Post Template

    Redacted version of the Update Post workflow used to update an existing post on my site over SFTP.

    Gaddgict Publish Workflow Template

    Redacted version of the script I wrote to Publish a new post to my site.

    Forward Delete

    Simple workflow I wrote that mimics forward delete.

    New OmniFocus Project

    This Workflow accepts TaskPaper text with «placeholder» tokens and prompts for you to enter final values, then creates a project in OmniFocus 2.14 for iOS using those tokens. For example, given this input: - «project_name» @parallel(false) @due(«due») - This task needs to be done at least 1 week before «project_name» is due @due(«due» -1w) - This task needs to be done at least 2 days before «project_name» is due @due(«due» -2d) You'll be prompted to enter values for «project_name» and «due». If you enter "Phonewave 1.2" and "next Thursday", it will create a new "Phonewave 1.2" project in OmniFocus that is due next Thursday, and has two tasks already filled with due dates of this Thursday and next Tuesday.

    Plain Text (.txt)