Ulysses App

I may be the only person using Ulysses (would love to hear from you if you are too) it’s a great writing tool. Here’s my thought on that app. Currently Ulysses gives you the options “Draft,” “Published,” and “Scheduled.” I think it would be amazingly cool if M.b worked with Ulysses to add an “Edit” option - which would obviously do a “replace” function. I think MarsEdit will replace because it uses an internal id on each post but Ulysses does not appear to do that. I realize this probably isn’t a huge priority and would require working with the app to implement, but it would be a stand-out feature, at least for me. I’m enjoying M.b. I think it is a great service.


@bradjadkins I’m using Ulysses and I only discovered M.b when it was added to the latest update. I’ve posted to M.b using Ulysses a couple of times and agree that an edit function would be a great addition.

I also settled on Ulysses earlier this year when I decided to jump back into writing. Definitely put this in the would-be-wicked-cool-but-bigger-fish-to-fry category.

1 Like

To be clear, this will not require Manton to work with Ulysses— the Micro.blog API already supports this. Ulysses would have to decide to do it, so I recommend you provide that feedback to Ulysses.


Personally I did during the beta testing phase of version 22.

1 Like

I was just thinking this earlier. I haven’t fully explored the Micropub API; but, so long as posts can be uniquely identified (and the desired post attributes writable) I would be surprised if it amounted to more than fetching posts and pushing the modifications. Could probably accomplish this with an iOS Shortcut if they weren’t still such a pain in the arse to compose.

1 Like

I use Ulysses daily as well, though I’m brand new to micro.blog. I like the idea, I use a couple social medias now but I’m not happy with them from a public posting point of view.

From just a quick look over the interface, I agree an edit/replace option would be a big feature.

Been using Ulysses for a few years now and discovered micro.blog through this feature. Awesome partnership, glad I know about M.b this way!


Just wanted to comment so I could be counted as another Ulysses user. It really is a great piece of software and I think the subscription model is working out great for users in terms of promoting a “sane” feature release schedule. I agree that “edit”/“replace” functionality is an important next step for M.b support, I will make a point to request that of the good coders from Austria…

This feature is being developed by the folks at Ulysses. Here is the source, though the tweet with the request has since been deleted.

Ulysses is an incredible app. I’ve tried other writing apps, especially for novels, and always end up going back to Ulysses again. I also love that Ulysses enabled me to find this wonderful app.

I discovered micro.blog through Ulysses. Bravo! Thanks!

I got into 503 Service Unavailable. When offline, I will be microblogging on this app.

Things I’m curious about that one of y’all might know.

Image export fields, explain 'em. I see the caption becomes the alt-text. Is there a way to grab it for … I don’t know … say … a caption? Also curious about the limitations of the export as field. If this only affects the file name … w/e … but if it could handle raw source on the other hand.

When publishing to Micro.Blog, could the content be considered identical to the Markdown export? If I can count on this being the case, I can answer all my other questions by trial and error.

I went ahead and tinkered. It’s not pretty. But I created this shortcode:

{{/* Generates figure from generated markdown. */}}
{{- $inner := .Inner -}}
{{- $caption := "" -}}
{{- with (findRE "[[][^]]+[]]" $inner) 1 -}}
{{- $caption = index . 0 | replaceRE "[[]([^]]+)[]]" "$1"  | safeHTML -}}
{{- end -}}
{{- with .Get "caption" }} {{ $caption =  .  }} {{ end -}}
{{- .Inner | markdownify -}}
{{- if gt (len $caption) 0 -}}
{{- with .Get "link" -}}
  {{- $saneLink := "" -}}
  {{- with (findRE "[(][^)]+[)]" .) 1 -}}
    {{- if gt (len .) 0 -}}
      {{- $saneLink = index . 0 | replaceRE "[(]([^)]+)[)]" "$1" -}}
		<a {{ printf "href=%q" $saneLink | safeHTMLAttr }}><h4>{{ $caption | safeHTML }}</h4></a>
    {{- else -}}
<a {{ printf "href=%q" $saneLink | safeHTMLAttr }}><h4>{{ $caption | safeHTML }}</h4></a>
    {{- end -}}
  {{- else -}}
    <a {{ printf "href=%q" . | safeHTMLAttr }}><h4>{{ $caption | safeHTML  }}</h4></a>
  {{- end -}}
{{- else -}}
<h4>{{ $caption | safeHTML }}</h4>
{{- end -}}
{{- end -}}

And invoke it in Ulysses like so:

The shortcode pulls the caption from the markdown generated by Ulysses for the image.
It also checks for a named variable, which in this example to get some HTML through to the post.

The shortcode also checks named variables for link and creates a link wrapper if found.

The HTML generated for bottom two figures looks like this:

<figure><img src="https://moondeer.blog/uploads/2021/b749708bd0.jpg" alt="From a sh$tty HubPages Article"><figcaption><a href="https://discover.hubpages.com%2Fpolitics%2FTop-7-Marxist-Communist-Policies-Being-Implemented-By-Obama-Today"><h4>From a sh$tty HubPages Article</h4></a></figcaption></figure>

<figure>  <img src="https://moondeer.blog/uploads/2021/3c4334ab4f.jpg" alt=""><figcaption><h4>The cover of <i>National Review</i> for the issue released March 23, 2009</h4></figcaption></figure>

I confirm, Ulysses is very nice tool :wink:

@Moondeer Since my new theme is now using shortcodes, every time I try and type them into Ulysses it keeps coming up with an annotation window and this screws up the {{< >}} character entries. Is there a setting in Ulysses I can change to get this working, or a workaround when I’m entering the shortcode that it doesn’t try and do anything with it?

Wrap all your short codes in raw source. This amounts to opening and closing ~

1 Like

Jason you rock, thank you so much sir!

1 Like

Now that, I agree with you. it’s taken me nearly this long (and that’s at least two months),and I’m still only have the first line of one of my shortcuts written out.