Ich habe Amplify grundlegend ├╝berarbeitet und mit ein paar neuen Features ausgestattet:

  • Redcarpet wurde durch kramdown ersetzt und unterst├╝tzt damit auch die Markdown-Erweiterungen, die kramdown anbietet.
  • Automatisches Verlinken von URLs
  • HTML-Sanitation
  • Das Syntax-Highlighting ├╝bernimmt nun das Gem ‘pygments.rb’. Der Umweg ├╝ber Pygmentizr f├Ąllt damit intern weg und verbessert die Reaktionszeiten deutlich.
  • Das Frontend basiert nun auf AngularJS.
  • Komplett ├╝berarbeiteter Quelltext.
  • JSON-basierte API

kramdown, das automatische Verlinken und die HTML-Sanitation werden ├╝ber das Gem ‘slodown’ von Hendrik Mans erledigt.

Die neue JSON-basierte API ist ├╝ber eine andere URL erreichbar:

http://amplify.webcodr.de/api/2.0/transform

Ein Beispiel-Request via POST:

{
 	"source": "# Hello World!"
}

Und die entsprechende Antwort von Amplify:

{
	"html": "<h1 id=\"hello-world\">Hello World!</h1>",
 	"source": "# Hello World!"
}

Wer, wie fr├╝her, ohne JSON auskommen m├Âchte, nutzt bitte folgende URL:

http://amplify.webcodr.de/api/1.0/transform

Die bisherige M├Âglichkeit einfach einen POST-Request auf die Amplify-URL abzusetzen ist nur noch aus Gr├╝nden der Kompatibilit├Ąt zu bestehenden Anwendungen aktiv, wird aber langfristig deaktiviert.

Zuk├╝nftige Features werde ich au├čerdem nur f├╝r die JSON-basierte API 2.0 implementieren.

Des weiteren plane ich Amplify langfristig nicht mehr auf Heroku laufen zu lassen, da die App einfach zu h├Ąufig in den Schlafmodus versetzt wird und anschlie├čend sehr lange braucht, bis sie auf Anfragen reagiert.

Ich k├Ânnte zwar einfach einen Dyno hinzubuchen, aber das ist nicht gerade billig und es gibt wirklich kosteng├╝nstigere M├Âglichkeiten, Ruby-Web-Applikationen zu hosten – beispielsweise bei Uberspace.de.

Aus technischer Sicht d├╝rfte noch interessant sein, dass Amplify nun mit Capybara automatisiert getestet wird und auf Travis CI sowie testweise Circle CI (mit automatischem Heroku-Deployment) l├Ąuft.