Monday, April 11, 2011

Ubuntu 11.04 już jest

The next version of Ubuntu is coming soon

Postawione na VirtualBox , w wolnej chwili postaram się opisać wrażenia. Wrażenia po godzinie używania - spodziewałem się że będzie gorzej ;)

Friday, April 1, 2011

Embedded data image VIM script

(w nawiązaniu do posta o konwersji obrazka na embedded data za pomocą PHP)

Stwierdziłem że skoro używam VIM'a fajnie byłoby mieć plugina który to zrobi. A ponieważ ostatnio przerabiam python koans a VIM ma możliwość pisania pluginów w pythonie więc wziąłem się dziś do dzieła.

Wynik moich wypocin to kilka linijek kodu w postaci plugin'u do VIM'a Image2Data

function! Img2Data()
python << EOF
import vim, urllib2, base64, mimetypes
from urlparse import urlparse
try:
url = vim.eval('@+')
o = urlparse(url)
file_type = mimetypes.guess_type(url)[0]
print(file_type)
if not 'image' in file_type:
raise Exception('Invalid file type: %s, gimme IMAGE!' % file_type)
if not (o.path and o.scheme):
raise Exception('There is no valid url in your clipboard')
response = urllib2.urlopen(url, None, 60).read()
response = 'data:%s;base64,%s' % (file_type, base64.b64encode(response))
col = vim.current.window.cursor[1]
vim.current.line = vim.current.line[:col] + response + vim.current.line[col:]
except Exception, e:
print "ERROR: %s" % e
EOF
endfunction
view raw img2data.vim hosted with ❤ by GitHub



Jest to wersja po tuningu, wykrywa automatycznie mime type. Wystarczy dodać plugin do VIM'a, zmapować sobie go pod klawisz a następnie skopiować do schowka link do obrazka a w miejscu, w którym chcemy aby nasz obrazek objawił się w formie data:image...... wykorzystać swój skrót w normal mode.

PS: proszę o wrozumiałość to mój pierwszy plugin w VIMie :p