odoc おれおれドキュメント Publisher
テキストを html に置き換える xyzzy lisp です。
日付でメモを取っていくと日記ツールにもなるかと思います。
site-lisp に odoc 以下を放り込む。
.xyzzy siteinit.l に
(format nil "~A~A" :foo "bar") こう書けるみたいなので , s式html もどきをでっち上げ(attribute をきっちり html の属性を書いてやれば補完もできるっぽいけど、めんどくさい)
文字列が悩む所だけど、インデントで読みやすかったりする気が少しする。
自動生成版に変更し多少メンテしやすくした。
(provide "shtml")
(defmacro !DOCTYPE (&rest rest)
`(format nil "~%"
;; インタラクティブに xyzzy から javascript しようといゆうことで
;; shell-mode を少しいじっただけ
;;
;; (require "js-shell")
;; javascript-mode が必要です。
;;
;; パスを指定する
;; rhino な場合
矩形やら選択範囲を操作するのは silog さんとこの surround.l が便利なのでそれを使っているのですが何ヶ所か離れた所を同時編集する時に使う為と register って便利だなと思ったので使ってみた。上記の物よりはコードが短くすんだので満足した。
(defvar *multi-register-r* 0)
(defun multi-set-register ()
(interactive)
(mouse-left-press)
(setq *multi-register-r* (1+ *multi-register-r*))
(ed::set-register (code-char *multi-register-r*)(point-marker)))
DOM 全部実装ってのはあんまり意味ないと思ったので get.. だけにしたけど、
最低半分は実装しないと使い勝手が悪そうだな~ かといって何か使い道があるか
といゆうと疑問
使い方は
(setq g(parse "e:/test/test.html"))
思いつきで書いて途中でやめたやつ
surround-region: TextMate の Screencasts の _insert html tags_ をみて region の前後に動的に挿入していく
tw-mode-server.l.txt:66MHz.com さんの簡易WWWサーバtw-mode をブラウザから使う
js-shell:rhino を shell-mode で実行する
multiple-insert:E - TextEditor The power of TextMate on Windows スクリーンキャストの始まったすぐのところ(矩形選択までたどり着かず)
shtml: 出来損ない
graph:: お遊び
get-memory: xyzzy が使用しているメモリを winapi を使って表示してみる。
HTML を編集しているバッファの HTML を解析して、 CSS を吐き出します。
ネストしたやつも多分大丈夫だと思います。
CSS のことよく解ってないのでこれでいいのか解りませんが ^^)
(defun get-elemement-init(regex)
(let(result tmp tag p1 p2 st)
(save-excursion
(goto-char(point-min))
(scan-buffer "<body.*>" :regexp t :case-fold t :tail t)
:working-set-size: xyzzy が現在使用しているメモリ。
:use-memory(var)(body):body がどの位メモリを使用するか調べるためのマクロ。
:get-process-memory-info:values で memory-info を返します。
:get-performance-info:values で performance-info を返します。
(eval-when (:compile-toplevel :load-toplevel :execute)
(require "foreign")
(require "wip/winapi"))