# Name: smd_short_url v0.2 # Type: Client side plugin # Canonical short URLs using article ID # Author: Stef Dawson # URL: http://stefdawson.com/ # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjEzOiJzbWRfc2hvcnRfdXJsIjtzOjY6ImF1dGhvciI7czox MToiU3RlZiBEYXdzb24iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjI6Imh0dHA6Ly9zdGVmZGF3 c29uLmNvbS8iO3M6NzoidmVyc2lvbiI7czozOiIwLjIiO3M6MTE6ImRlc2NyaXB0aW9uIjtz OjM3OiJDYW5vbmljYWwgc2hvcnQgVVJMcyB1c2luZyBhcnRpY2xlIElEIjtzOjQ6ImNvZGUi O3M6ODE5OiJyZWdpc3Rlcl9jYWxsYmFjaygnc21kX3Nob3J0X3VybCcsICd0eHBfZGllJywg NDA0KTsNCg0KZnVuY3Rpb24gc21kX3Nob3J0X3VybCgkZXZlbnQsICRzdGVwKSB7DQoJJHVy bHBhcnRzID0gcGFyc2VfdXJsKGh1KTsNCg0KCS8vIFByb2JhYmx5IGJldHRlciByZWdleGVz IGZvciB0aGlzIHVzaW5nIFtcZF0gZXRjDQoJJHJlID0gJyNeJy4kdXJscGFydHNbJ3BhdGgn XS4nKFswLTldLiopIyc7DQoNCgkkaGF2ZV9pZCA9IHByZWdfbWF0Y2goJHJlLCAkX1NFUlZF UlsnUkVRVUVTVF9VUkknXSwgJG0pOw0KDQoJaWYgKCRoYXZlX2lkKSB7DQoJCSRpZCA9ICRt WzFdOw0KCQkkcGVybWxpbmsgPSBwZXJtbGlua3VybF9pZCgkaWQpOw0KCQlpZiAoJHBlcm1s aW5rKSB7DQoJCQlvYl9lbmRfY2xlYW4oKTsNCgkJCWhlYWRlcigiSFRUUC8xLjAgMzAxIE1v dmVkIFBlcm1hbmVudGx5Iik7DQoJCQloZWFkZXIoIkxvY2F0aW9uOiAkcGVybWxpbmsiKTsN CgkJCWRpZSgpOw0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiBzbWRfY2Fub25pY2FsKCRhdHRz LCAkdGhpbmc9JycpIHsNCglnbG9iYWwgJHByZXRleHQ7DQoNCglleHRyYWN0KGxBdHRzKGFy cmF5KA0KCQkndHlwZScgPT4gJ2xpbmsnLA0KCSksICRhdHRzKSk7DQoNCglhc3NlcnRfYXJ0 aWNsZSgpOw0KCSRsaW5rID0gaHUuJHByZXRleHRbJ2lkJ107DQoNCgkkb3V0ID0gJyc7DQoJ aWYgKCR0eXBlPT0ibGluayIpIHsNCgkJJG91dCA9ICc8bGluayByZXY9ImNhbm9uaWNhbCIg aHJlZj0iJy4kbGluay4nIiAvPic7DQoJfSBlbHNlIHsNCgkJJG91dCA9ICRsaW5rOw0KCX0N CglyZXR1cm4gJG91dDsNCn0iO3M6NDoidHlwZSI7czoxOiIwIjtzOjU6Im9yZGVyIjtzOjE6 IjUiO3M6NToiZmxhZ3MiO3M6MToiMCI7czo0OiJoZWxwIjtzOjI2OTU6IjxkaXYgaWQ9InNt ZF9oZWxwIj4KCgk8aDE+c21kX3Nob3J0X3VybDwvaDE+CgoJPHAgY2xhc3M9InJlcXVpcmVk Ij5SZXF1aXJlcyA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiA0LjIuMC48L3A+CgoJ PHA+QWxsb3cgdmlzaXRvcnMgdG8gdXNlIHNob3J0IDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8 L3NwYW4+cyBjb21wcmlzaW5nIGp1c3Qgc2l0ZS5jb20vYXJ0aWNsZV9JRCwgd2hpY2ggd2ls bCByZWRpcmVjdCB0byB0aGUgcmVhbCBhcnRpY2xlLjwvcD4KCgk8cD5JbnN0YWxsLiBBY3Rp dmF0ZS4gRG9uZS48L3A+CgoJPGgyPkNhbm9uaWNhbCA8Y29kZT4mbHQ7bGluayZndDs8L2Nv ZGU+IHRhZzwvaDI+CgoJPHA+SWYgeW91IHdpc2ggdG8gYWRkIHRoZSBjYW5vbmljYWwgPGNv ZGU+Jmx0O2xpbmsmZ3Q7PC9jb2RlPiB0YWcgdG8geW91ciBkb2N1bWVudCB0aGF0IGRlZmlu ZXMgdGhlIGFydGljbGUmIzgyMTc7cyBzaG9ydCA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9z cGFuPiBmb3Igc2VhcmNoIGVuZ2luZXMgdGhlbiBwdXQgPGNvZGU+Jmx0O3R4cDpzbWRfY2Fu b25pY2FsIC8mZ3Q7PC9jb2RlPiBzb21ld2hlcmUgaW4geW91ciA8Y29kZT4mbHQ7aGVhZCZn dDs8L2NvZGU+IHNlY3Rpb24uIFJlbWVtYmVyIGl0IG11c3QgZ28gaW5zaWRlIGEgPGNvZGU+ Jmx0O3R4cDppZl9pbmRpdmlkdWFsX2FydGljbGUmZ3Q7PC9jb2RlPiBjb25kaXRpb25hbCBv ciBpdCB3aWxsIHRocm93IGFuIGVycm9yLjwvcD4KCgk8cD5UaGUgdGFnIHRha2VzIG9uZSBv cHRpb25hbCBhdHRyaWJ1dGU6IDxjb2RlPnR5cGU8L2NvZGU+IGNhbiBlaXRoZXIgYmUgPGNv ZGU+bGluazwvY29kZT4gKHRoZSBkZWZhdWx0KSB0byBvdXRwdXQgdGhlIGZ1bGwgZm9ybWF0 dGVkIGNhbm9uaWNhbCBsaW5rIHRhZywgb3IgPGNvZGU+dXJsPC9jb2RlPiB0byBvdXRwdXQg dGhlIHJhdyA8c3BhbiBjbGFzcz0iY2FwcyI+VVJMPC9zcGFuPiBzbyB5b3UgbWF5IHVzZSBp dCBpbiB5b3VyIG93biBtYW5uZXIuPC9wPgoKCTxwPlRoYW5rcyB0byB3ZXQgZm9yIGEgbGFy Z2UgY2h1bmsgb2YgdGhlIGNvZGUuPC9wPgoKCTxoMiBpZD0iY2hhbmdlbG9nIj5DaGFuZ2Vs b2c8L2gyPgoKCTx1bD4KCQk8bGk+MTYgSnVuIDA5IHwgMC4xIHwgSW5pdGlhbCByZWxlYXNl PC9saT4KCQk8bGk+MjMgSnVuIDA5IHwgMC4xMSB8IEZpeGVkIGNhbGxiYWNrIHBvaW50IHRv IHBsYXkgbmljZWx5IHdpdGggZ2JwX3Blcm1hbmVudF9saW5rcyAodGhhbmtzIHBpZW1hbi9n cmFlbWUpPC9saT4KCQk8bGk+MTkgSnVsIDA5IHwgMC4yIHwgUmVxdWlyZXMgPHNwYW4gY2xh c3M9ImNhcHMiPlRYUDwvc3Bhbj4gNC4yLjAgOyBjaGFuZ2VkIGNhbGxiYWNrIHRvIHR4cF9k aWUgYW5kIHN0YXR1cyBjb2RlIHRvIDMwMSAodGhhbmtzIHdldCk8L2xpPgoJPC91bD4KCjwv ZGl2Pgo8IS0tICoqKiBCRUdJTiBQTFVHSU4gQ1NTICoqKiAtLT4KPHN0eWxlIHR5cGU9InRl eHQvY3NzIj4KI3NtZF9oZWxwIHsgbGluZS1oZWlnaHQ6MS41IDt9CiNzbWRfaGVscCBjb2Rl IHsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udDogMTA1JS8xMzAlICJDb3VyaWVyIE5ldyIsIGNv dXJpZXIsIG1vbm9zcGFjZTsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZDQzt9CiNzbWRfaGVs cCBjb2RlLmJsb2NrIHsgZm9udC13ZWlnaHQ6bm9ybWFsOyBib3JkZXI6MXB4IGRvdHRlZCAj OTk5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlNjhjOyBkaXNwbGF5OmJsb2NrOyBtYXJnaW46 MTBweCAxMHB4IDIwcHg7IHBhZGRpbmc6MTBweDsgfQojc21kX2hlbHAgaDEgeyBjb2xvcjog IzM2OTsgZm9udDogMjBweCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyBtYXJnaW46IDA7IHRleHQt YWxpZ246IGNlbnRlcjsgfQojc21kX2hlbHAgaDIgeyBib3JkZXItYm90dG9tOiAxcHggc29s aWQgYmxhY2s7IHBhZGRpbmc6MTBweCAwIDA7IGNvbG9yOiAjMzY5OyBmb250OiAxN3B4IEdl b3JnaWEsIHNhbnMtc2VyaWY7IH0KI3NtZF9oZWxwIGgzIHsgY29sb3I6ICMyNzU2ODU7IGZv bnQ6IGJvbGQgMTJweCBBcmlhbCwgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDFweDsg bWFyZ2luOiAxMHB4IDAgMDt0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB0ZXh0LWRlY29y YXRpb246dW5kZXJsaW5lO30KI3NtZF9oZWxwIGg0IHsgZm9udDogYm9sZCAxMXB4IEFyaWFs LCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMXB4OyBtYXJnaW46IDEwcHggMCAwIDt0 ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9CiNzbWRfaGVscCAuYXRubSB7IGZvbnQtd2Vp Z2h0OmJvbGQ7IGNvbG9yOiMzM2Q7IH0KI3NtZF9oZWxwIC5tYW5kIHsgYmFja2dyb3VuZDoj ZWVlOyBib3JkZXI6MXB4IGRvdHRlZCAjOTk5OyB9CiNzbWRfaGVscCB0YWJsZSB7d2lkdGg6 OTAlOyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZy1ib3R0b206MWVtO30KI3NtZF9oZWxw IHRkLCAjc21kX2hlbHAgdGgge2JvcmRlcjoxcHggc29saWQgIzk5OTsgcGFkZGluZzouNWVt IDA7fQojc21kX2hlbHAgdWwgeyBsaXN0LXN0eWxlLXR5cGU6c3F1YXJlOyB9CiNzbWRfaGVs cCAucmVxdWlyZWQge2NvbG9yOnJlZDt9CiNzbWRfaGVscCBsaSB7IG1hcmdpbjo1cHggMjBw eCA1cHggMzBweDsgfQojc21kX2hlbHAgLmJyZWFrIHsgbWFyZ2luLXRvcDo1cHg7IH0KPC9z dHlsZT4KPCEtLSAqKiogRU5EIFBMVUdJTiBDU1MgKioqIC0tPgoiO3M6MzoibWQ1IjtzOjMy OiJkMDY0NjgwMzM3MDRjNzE4NDY3ZjI1MTFlM2I4MTY5NyI7fQ==