Editorial Workflows

New OmniFocus Project

public workflow

Install Workflow...

This workflow contains at least one Python script. Only use it if you trust the person who shared this with you, and if you know exactly what it does.

I understand, install the workflow!

This is a workflow for Editorial, a Markdown and plain text editor for iOS. To download it, you need to view this page on a device that has the app installed.

Description: This Workflow for OmniFocus project creation is a simple task list for weekly data analysis reporting to a business client. The task list assumes the user already has a dashboard of data to retrieve and analyze

You'll be prompted to enter values for «Client_Name» and «Weekday_Performed».

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.

Shared by: Sam Knecht

Comments: Comment Feed (RSS)

There are no comments yet.

+ Add Comment

Workflow Preview
Selected Text ?
Entire Line(s)
OFF
Empty Selection Output
  • No Output
  • All Text
  • Closest Word
Folded Text
  • Include
  • Replace with:
Run Python Script ?
Source Code
#coding: utf-8
import workflow
import dialogs
import re

action_in = workflow.get_input()

# Find placeholders
known_placeholders = set()
placeholders = []
fields = []
for placeholder_match in re.finditer(u"«(.+?)»", action_in):
	placeholder = placeholder_match.group(1)
	if placeholder not in known_placeholders:
		known_placeholders.add(placeholder)
		placeholders.append(placeholder)
		fields.append({'type': 'text', 'title': placeholder, 'key': placeholder})

action_out = action_in

# Substitute the placeholders
if len(placeholders) == 0:
	if dialogs.alert(u"No template placeholders were found.", u"""
If your project text has placeholders (that look like «this»), this script will prompt for values you'd like to substitute for them.
""", u"Continue") != 1:
	  workflow.stop()

else:
	values = dialogs.form_dialog(title='', fields=fields, sections=None)
	if values:
		for key in values:
			action_out = re.sub(u"«" + key + "»", values[key], action_out)

workflow.set_output(action_out)
URL Escape ?
Set Variable ?
Variable Name
encodedContent
Value
Input
Open URL ?
Open in
  • In-App Browser
  • Default App / Safari
URL
omnifocus://x-callback-url/paste?target=projects&content=encodedContent
Tab
  • Last-used Tab
  • New Tab
  • Tab with ID:
Unique identifier
Wait until Loaded
OFF
Reveal Browser Automatically
ON