Having got Emacs 22 set up with g-client I rapidly got annoyed with the necessity of continually copying and pasting URLs from a web browser window in order to post to my blog and to page through the posts available, so I quickly hacked together some ELisp to make it easier:
;;; Blogger support (add-to-list 'load-path "~/.emacs.d/site-lisp/g-client") (load-library "g") (setq blog-feed-url "http://www.blogger.com/feeds/<blognum>/posts/default") (setq blog-feed-page-size 25) (defun blog-post nil "Post to weblog" (interactive) (gblogger-new-entry blog-feed-url)) (defun blog-feed (&optional page) "View recent weblog posts" (interactive "p") (let ((n (+ 1 (* (- page 1) blog-feed-page-size)))) (gblogger-atom-display (concat blog-feed-url "?start-index=" (number-to-string n) "&max-results=" (number-to-string blog-feed-page-size))) (message "Viewing blog posts from %d to %d" n (+ n blog-feed-page-size))))
Once you've set blog-feed-url to the correct URL for your blog, you can use blog-post to start a new page, and blog-feed to view your posts. A prefix parameter passed to blog-feed will view that page of entries: for instance, C-u 8 M-x blog-feed will view page 8 of your blog entries (entries 175 to 200, given the default setting of blog-feed-page-size).
Unfortunately, this still isn't ideal; what would be best is for gblogger-atom-display to display a list of blog entries in a buffer, with clickable view and edit text. Having to use an external program feels like something of a hack.
Also, I turned out to be right about the reason for not being able to post new entries; it was that I'd published too many in a short period of time, and had activated Blogger's anti-spam mechanism. Everything works fine again now. However, it would be nice if posting via the Blogger API gave you a meaningful error message rather than just throwing your post away.
No comments:
Post a Comment