노가다를 줄여주는 AHK, 거기에 화룡점정 정규표현식
Tip/AHKmacro
2013. 7. 27. 21:22
현재 제가 포스팅 하고 있는 작업이 일본 AHK 설명 사이트를 퍼오는 겁니다.
그걸 티스토리에 붙여넣으면 문제가 여러가지로 생기죠.
일단 링크 문제는 모두 퍼온 다음에 어떻게 해야될 문제라 패스하고요.
상/하단에 나오는 네비게이션 요소는 티스토리 스킨에서 display:none으로 안 보이게 했습니다.
문제는 모바일에서는 이게 안 먹힌다는것!
그리고 추가되는 작업이 코드를 syntaxhighlighter로 pre태그에 class="brush:ahk"를 추가하는겁니다.
일본 페이지를 복사해서 티스토리 에디터에 붙여넣으면 거의 비슷하게 넣어집니다.
그걸 html 보기로 보면 깨알같은 글씨에 무척 난잡하여 어디있지도 모를 pre태그를 찾아 class를 붙여넣어야 합니다.
상당한 노가다 작업이죠.
초반 20개 정도 올리고 보니 남은 갯수가 지옥으로 와닿았습니다.
저는 강력한 동인이 없으면 귀찮음이라는 적수때문에 쉬이 움직이질 않습니다.(무척 게으름)
그래서 더 노가다를 제 인생 공공의 적으로 생각합니다.
아무튼 그래서 AHK로 어떻게 좀 더 쉽고 간편하게 할수있지 않을까해서 짜보았습니다. 머리를요. ㅋ
아래 코드 나갑니다.
Clipboard:= ; 첫 실행시 클립보드를 비워줍니다. 오동작 방지용
#Persistent ; 핫키없이 지속 실행되게 해줍니다.
return
OnClipboardChange: ; 클립보드 내용이 바뀌면 동작합니다.
temp:=SubStr(clipboard,1,10) ; 임시변수 temp에 클립보드의 첫 10글자를 잘라 넣습니다.
if(temp = "<div class"){
; 만약 그 내용이 <div class 이면 실행합니다. 제가 작업하는 내용의 첫 시작이 저렇게 시작됩니다.
Clipboard:=RegExReplace(clipboard, "(%)\s(.*?)\s(%)", "$1$2$3")
; 클립보드 안의 내용 중에 % 내용 %을 %내용%로 바꿔줍니다.
Clipboard:=RegExReplace(clipboard, "\s(\\)\s|(\s[A-Z])\s", "$1$2")
; 클립보드 안의 내용중에 디렉토리 구조에서 띄어쓰기를 제거 (C : \ abc cd \ ab => C:\abc cd\ab
Clipboard:=RegExReplace(clipboard, "<pre style=", "<pre class='brush:ahk' style=")
; 클립보드 내용 중에 <pre style=을 <pre class='brush:ahk' style=로 바꿉니다.
ToolTip, clipboard changed
; 툴팁으로 클립보드 내용이 바뀌었다는걸 띄웁니다.
Sleep,100
Send, {CTRLDOWN}v{CTRLUP}
; 0.1초 후 붙여넣기 합니다.
Sleep, 1000
ToolTip
1초 후 툴팁을 없앱니다.
}
return
^End::
ExitApp
return
Pause::Pause
^PGUP::
Reload
return
좀 더 손 보면 되겠으나 여기까지만 해도 엄청 작업이 간소화되어서 만족합니다.
모르면 손,발이 고생... 머리를 짜내면 편해집니다.