 |
AutoHotkey Community Let's help each other out
|
| View previous topic :: View next topic |
| Author |
Message |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 3:36 pm Post subject: XN-Docs: an online AutoHotkey script documentation builder |
|
|
XN-Docs generates web pages for your scripts based on the Natural Docs syntax. Visit the link for more information. _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2")
Last edited by Titan on Thu Nov 15, 2007 12:24 pm; edited 2 times in total |
|
| Back to top |
|
 |
ahklerner
Joined: 26 Jun 2006 Posts: 1205 Location: USA
|
Posted: Sun Sep 09, 2007 3:40 pm Post subject: |
|
|
| Quote: | Not Found
The requested URL /ahk/xn-docs/xn-docs was not found on this server. |
Edit: after clicking submit. |
|
| Back to top |
|
 |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 3:54 pm Post subject: |
|
|
Thanks, it's fixed. _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2") |
|
| Back to top |
|
 |
ahklerner
Joined: 26 Jun 2006 Posts: 1205 Location: USA
|
Posted: Sun Sep 09, 2007 4:00 pm Post subject: |
|
|
got a lot of garbage this time. (no zip file)
edit: here is the top lines from it the rest is fubar.
| Quote: | <br />
<b>Warning</b>: Sablotron error on line 8: XML parser error 4: not well-formed (invalid token) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>186</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>163</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>164</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>165</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>166</b><br />
|
of course, the script i used was not commented correctly. (sorry)
| Code: | /*
IEControl.ahk
*/
/* Supported Functions
IE_Add(hWnd, x, y, w, h)
IE_Move(pwb, x, y, w, h)
IE_LoadURL(pwb, u)
IE_LoadHTML(pwb, h)
IE_GoBack(pwb)
IE_GoForward(pwb)
IE_GoHome(pwb)
IE_GoSearch(pwb)
IE_Refresh(pwb)
IE_Stop(pwb)
IE_Document(pwb)
IE_GetTitle(pwb)
IE_GetUrl(pwb)
IE_Busy(pwb)
IE_Quit(pwb) ; iexplore.exe only
IE_hWnd(pwb) ; iexplore.exe only
IE_FullName(pwb) ; iexplore.exe only
IE_GetStatusText(pwb) ; iexplore.exe only
IE_SetStatusText(pwb, sText = "") ; iexplore.exe only
IE_ReadyState(pwb)
IE_Open(pwb)
IE_New(pwb)
IE_Save(pwb)
IE_SaveAs(pwb)
IE_Print(pwb)
IE_PrintPreview(pwb)
IE_PageSetup(pwb)
IE_Properties(pwb)
IE_Cut(pwb)
IE_Copy(pwb)
IE_Paste(pwb)
IE_SelectAll(pwb)
IE_Find(pwb)
IE_DoFontSize(pwb, s)
IE_InternetOptions(pwb)
IE_ViewSource(pwb)
IE_AddToFavorites(pwb)
IE_MakeDesktopShortcut(pwb)
IE_SendEMail(pwb)
CGID_MSHTML(pwb, nCmd, nOpt = 0)
GetHostWindow(pwb)
GetWebControl()
UrlHistoryEnum()
UrlHistoryClear()
AtlAxWinInit()
AtlAxWinTerm()
AtlAxGetControl(hWnd)
AtlAxAttachControl(pwb, hWnd)
AtlAxCreateContainer(hWnd, x, y, w, h, sName = "")
*/
IE_Add(hWnd, x, y, w, h)
{
AtlAxWinInit()
Return AtlAxGetControl( AtlAxCreateContainer(hWnd, x, y, w, h, "Shell.Explorer") )
}
IE_Move(pwb, x, y, w, h)
{
WinMove, % "ahk_id " . GetHostWindow(pwb), , x, y, w, h
}
IE_LoadURL(pwb, u)
{
pUrl := SysAllocString(u)
VarSetCapacity(var, 8 * 2, 0)
DllCall(VTable(pwb, 11), "Uint", pwb, "Uint", pUrl, "Uint", &var, "Uint", &var, "Uint", &var, "Uint", &var)
SysFreeString(pUrl)
}
IE_LoadHTML(pwb, h)
{
pUrl := SysAllocString("about:" . h)
VarSetCapacity(var, 8 * 2, 0)
DllCall(VTable(pwb, 11), "Uint", pwb, "Uint", pUrl, "Uint", &var, "Uint", &var, "Uint", &var, "Uint", &var)
SysFreeString(pUrl)
}
IE_GoBack(pwb)
{
DllCall(VTable(pwb, 7), "Uint", pwb)
}
IE_GoForward(pwb)
{
DllCall(VTable(pwb, 8), "Uint", pwb)
}
IE_GoHome(pwb)
{
DllCall(VTable(pwb, 9), "Uint", pwb)
}
IE_GoSearch(pwb)
{
DllCall(VTable(pwb, 10), "Uint", pwb)
}
IE_Refresh(pwb)
{
DllCall(VTable(pwb, 12), "Uint", pwb)
}
IE_Stop(pwb)
{
DllCall(VTable(pwb, 14), "Uint", pwb)
}
IE_Document(pwb)
{
DllCall(VTable(pwb, 18), "Uint", pwb, "UintP", pdoc)
Return pdoc
}
IE_GetTitle(pwb)
{
DllCall(VTable(pwb, 29), "Uint", pwb, "UintP", pTitle)
Unicode2Ansi(pTitle, sTitle)
SysFreeString(pTitle)
Return sTitle
}
IE_GetUrl(pwb)
{
DllCall(VTable(pwb, 30), "Uint", pwb, "UintP", pUrl)
Unicode2Ansi(pUrl, sUrl)
SysFreeString(pUrl)
Return sUrl
}
IE_Busy(pwb)
{
DllCall(VTable(pwb, 31), "Uint", pwb, "shortP", bBusy)
Return -bBusy
}
IE_Quit(pwb) ; iexplore.exe only
{
DllCall(VTable(pwb, 32), "Uint", pwb)
}
IE_hWnd(pwb) ; iexplore.exe only
{
DllCall(VTable(pwb, 37), "Uint", pwb, "UintP", hIE)
Return hIE
}
IE_FullName(pwb) ; iexplore.exe only
{
DllCall(VTable(pwb, 38), "Uint", pwb, "UintP", pFile)
Unicode2Ansi(pFile, sFile)
SysFreeString(pFile)
Return sFile
}
IE_GetStatusText(pwb) ; iexplore.exe only
{
DllCall(VTable(pwb, 44), "Uint", pwb, "UintP", pText)
Unicode2Ansi(pText, sText)
SysFreeString(pText)
Return sText
}
IE_SetStatusText(pwb, sText = "") ; iexplore.exe only
{
pText := SysAllocString(sText)
DllCall(VTable(pwb, 45), "Uint", pwb, "Uint", pText)
SysFreeString(pText)
}
IE_ReadyState(pwb)
{
/*
READYSTATE_UNINITIALIZED = 0 ; Default initialization state.
READYSTATE_LOADING = 1 ; Object is currently loading its properties.
READYSTATE_LOADED = 2 ; Object has been initialized.
READYSTATE_INTERACTIVE = 3 ; Object is interactive, but not all of its data is available.
READYSTATE_COMPLETE = 4 ; Object has received all of its data.
*/
DllCall(VTable(pwb, 56), "Uint", pwb, "intP", nReady)
Return nReady
}
IE_Open(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 1, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_New(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 2, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Save(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 3, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_SaveAs(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 4, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Print(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 6, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_PrintPreview(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 7, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_PageSetup(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 8, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Properties(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 10, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Cut(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 11, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Copy(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 12, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Paste(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 13, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_SelectAll(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 17, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_Find(pwb)
{
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 32, "Uint", 0, "Uint", 0, "Uint", 0)
}
IE_DoFontSize(pwb, s)
{
/*
s = 4 ; Largest
s = 3 ; Larger
s = 2 ; Medium
s = 1 ; Smaller
s = 0 ; Smallest
*/
VarSetCapacity(var, 8 * 2)
EncodeInteger(&var + 0, 3)
EncodeInteger(&var + 8, s)
DllCall(VTable(pwb, 54), "Uint", pwb, "Uint", 19, "Uint", 2, "Uint", &var, "Uint", &var)
}
IE_InternetOptions(pwb)
{
CGID_MSHTML(pwb, 2135)
}
IE_ViewSource(pwb)
{
CGID_MSHTML(pwb, 2139)
}
IE_AddToFavorites(pwb)
{
CGID_MSHTML(pwb, 2261)
}
IE_MakeDesktopShortcut(pwb)
{
CGID_MSHTML(pwb, 2266)
}
IE_SendEMail(pwb)
{
CGID_MSHTML(pwb, 2288)
}
CGID_MSHTML(pwb, nCmd, nOpt = 0)
{
GUID4String(CGID_MSHTML , "{DE4BA900-59CA-11CF-9592-444553540000}")
GUID4String(IID_IOleCommandTarget, "{B722BCCB-4E68-101B-A2BC-00AA00404770}")
pct := QueryInterface(pwb, IID_IOleCommandTarget)
DllCall(VTable(pct, 4), "Uint", pct, "str", CGID_MSHTML, "Uint", nCmd, "Uint", nOpt, "Uint", 0, "Uint", 0)
Release(pct)
}
GetHostWindow(pwb)
{
GUID4String(IID_IOleWindow, "{00000114-0000-0000-C000-000000000046}")
DllCall(VTable(pwb, 0), "Uint", pwb, "str", IID_IOleWindow, "UintP", pow)
DllCall(VTable(pow, 3), "Uint", pow, "UintP", hWnd)
DllCall(VTable(pow, 2), "Uint", pow)
Return DllCall("GetParent", "Uint", hWnd)
}
GetWebControl()
{
; ControlGet, hIESvr, hWnd, , Internet Explorer_Server1, A
MouseGetPos,,,, hIESvr, 2
GUID4String(IID_IHTMLDocument2, "{332C4425-26CB-11D0-B483-00C04FD90119}")
GUID4String(IID_IWebBrowser2 , "{D30C1661-CDAF-11D0-8A3E-00C04FC9E26E}")
GUID4String(SID_SWebBrowserApp, "{0002DF05-0000-0000-C000-000000000046}")
DllCall("SendMessageTimeout", "Uint", hIESvr
, "Uint", DllCall("RegisterWindowMessage", "str", "WM_HTML_GETOBJECT")
, "int", 0, "int", 0, "Uint", 2, "Uint", 1000, "UintP", lResult)
DllCall("oleacc\ObjectFromLresult", "Uint", lResult, "str", IID_IHTMLDocument2, "int", 0, "UintP", phd)
pwb := QueryService(phd, SID_SWebBrowserApp, IID_IWebBrowser2)
Release(phd)
Return pwb
}
UrlHistoryEnum()
{
GUID4String( CLSID_CUrlHistory, "{3C374A40-BAE4-11CF-BF7D-00AA006946EE}")
GUID4String(IID_IUrlHistoryStg, "{3C374A41-BAE4-11CF-BF7D-00AA006946EE}")
puh := CreateObject(CLSID_CUrlHistory, IID_IUrlHistoryStg)
DllCall(VTable(puh, 7), "Uint", puh, "UintP", peu)
VarSetCapacity(var, 40)
EncodeInteger(&var, VarSetCapacity(var))
Loop
{
If DllCall(VTable(peu, 3), "Uint", peu, "Uint", 1, "Uint", &var, "Uint", 0)
Break
pUrl := DecodeInteger(&var + 4)
pTitle := DecodeInteger(&var + 8)
Unicode2Ansi(pUrl , sUrl )
Unicode2Ansi(pTitle, sTitle)
sHistory .= sUrl . "|" . sTitle . "`n"
SysFreeString(pUrl )
SysFreeString(pTitle)
}
DllCall(VTable(peu, 2), "Uint", peu)
DllCall(VTable(puh, 2), "Uint", puh)
Return sHistory
}
UrlHistoryClear()
{
GUID4String( CLSID_CUrlHistory, "{3C374A40-BAE4-11CF-BF7D-00AA006946EE}")
GUID4String(IID_IUrlHistoryStg, "{3C374A41-BAE4-11CF-BF7D-00AA006946EE}")
puh := CreateObject(CLSID_CUrlHistory, IID_IUrlHistoryStg)
DllCall(VTable(puh, 9), "Uint", puh)
DllCall(VTable(puh, 2), "Uint", puh)
}
AtlAxWinInit()
{
If !DllCall("GetModuleHandle", "str", "atl")
DllCall("LoadLibrary" , "str", "atl")
Return DllCall("atl\AtlAxWinInit")
}
AtlAxWinTerm()
{
If hModule := DllCall("GetModuleHandle", "str", "atl")
DllCall("FreeLibrary", "Uint", hModule)
}
AtlAxGetControl(hWnd)
{
DllCall("atl\AtlAxGetControl", "Uint", hWnd, "UintP", punk)
pdsp := QueryInterface(punk, IID_IDispatch := "{00020400-0000-0000-C000-000000000046}")
Release(punk)
Return pdsp
}
AtlAxAttachControl(pdsp, hWnd)
{
punk := QueryInterface(pdsp, IID_IUnknown := "{00000000-0000-0000-C000-000000000046}")
DllCall("atl\AtlAxAttachControl", "Uint", punk, "Uint", hWnd, "Uint", 0)
Release(punk)
}
AtlAxCreateContainer(hWnd, x, y, w, h, sName = "")
{
pName := sName ? &sName : 0
AtlAxWin := "AtlAxWin"
Return DllCall("CreateWindowEx", "Uint", 0x200, "Uint", &AtlAxWin, "Uint", pName, "Uint",0x10000000|0x40000000|0x04000000, "int", x, "int", y, "int", w, "int", h, "Uint", hWnd, "Uint", 0, "Uint", 0, "Uint", 0)
}
#Include CoHelper.ahk
|
|
|
| Back to top |
|
 |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 4:12 pm Post subject: |
|
|
That script doesn't use standard Natural Docs syntax. Take a look at some of my scripts to see what they should be like. _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2") |
|
| Back to top |
|
 |
Elevator_Hazard
Joined: 28 Oct 2006 Posts: 304 Location: US
|
Posted: Sun Sep 09, 2007 4:17 pm Post subject: |
|
|
Gah that beats what I'm working on. Good job, its so good I wonder if I should continue with mine
Great job. _________________ Changed siggy at request of ahklerner  |
|
| Back to top |
|
 |
corrupt
Joined: 29 Dec 2004 Posts: 2397
|
Posted: Sun Sep 09, 2007 4:41 pm Post subject: |
|
|
Hi Titan,
I'm glad to hear that you decided to take on the project . I'm a bit confused though . The main suggestion that I was trying to make was to have someone fill in fields in a form for generating the documentation. Your implementation does not seem to have this functionality. Is this planned? I definitely wasn't suggesting having users learn how to embed the documentation into their code using Natural Docs formatting (or any other formatting that needs to be in the code). That's exactly what I wanted to avoid.
Here's the output received when submitting code (no Natural Docs formatting in the code): | Quote: | <br />
<b>Warning</b>: Sablotron error on line 8: XML parser error 4: not well-formed (invalid token) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>186</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>163</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>164</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>165</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at /share/storage/02/in/inspiration3/ahk/xn-docs/index.php:186) in <b>/share/storage/02/in/inspiration3/ahk/xn-docs/index.php</b> on line <b>166</b><br />
| Code: | PK)7S2I_AddGraphicButton.ahkTn@}Y
*ȅX!⒪OhnŶu"Z;k{m / /=s93ތ4 $2Z4
/9g{2 0OdGȲ<r!`Mc*b
p-}uH0Nupw>{X̽ǽ'0[.Yޯo<E(0><4ta0*9Gmi'#FZ)%NAͺH-d\=qeX%8C\Ə:\\ݵv Yert*V8E 4[\(yXi^ߔuH&Yy' *Ern3e]_Ua9gsWצ]nFrdDRIiF4G_K|'VZaV!\5h?x-bFA. Ůԇbb,`);!n-ˍ)+4ĥN$-RVYhKzgu]_Xy<NЋHȿWץląaeF4b, ^PK
)7_AddGraphicButton.htmlPKj)7HPxn1.xslXn6S:lI/V'6:$iwukl %:"*Ig'!)%YrW#e;!Ϯw2IS d(32ǁR錐v;^N'W^ޑ p>j4S<' SUhBvIH!(Mb3r('iiK3!#,b1K1%xq3f
LׂqK<gj3#pNS6Nu1!]rE]`Fܽ/KXg$;mtucUQ4I/I#9&ea
B
m`iG EZf̾fDA+gͱb;E+TH6l(1,a*.*_[}BF*b9nbf'\|ofύb6L@5)jSQHI`ڏkR!
%Ӊ'%FZp#<fB1"T"tqMkhR"\g:t
d֡qFMxJ#AVm,/8UodJET0^Y]0w~MCw\L(,Q#Ȗgj懏(b3XV
^.n ee$EcF t٬gzy(e*:h>CP.RVO4"غ("վdxI'U:[fN^~l7P0""R*6/Ex(8LR힑4&ɘG3<\;B[@6U0CzFO8_uu'V(Y<csЮAQz+EG%ZG{ p1Y)>~{|Y&{p;Fs~\{<i-9\4FCJkJi>;
WDik{Ң9
X5?C8Ԩ؋[}!]GF9=?N+k݄Lr~Ѝ`QU@RSO+BUuXlCN`A7:a/k[&%zb f+*f~|*De.*X2dv7#]Ft)`g!L$yZ)065κ&;2䝅&<
r<ֵ{J^ɎlS]`Дȧ
U(=IWUESVf$/\S
$P]!PcH7 4$RvX[N&xg'n}<uo}G5W
.'NgpV7N ۾87w(5"@1*Hl*N:nxʜiǪM`?ҰE)+,3Rb31<g땅a-E$$MX+ʵ[Oř.7gPK)7S2I _AddGraphicButton.ahkPK
)7 e_AddGraphicButton.htmlPKj)7HP xn1.xslPK| |
|
|
|
| Back to top |
|
 |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 5:03 pm Post subject: |
|
|
| corrupt wrote: | | The main suggestion that I was trying to make was to have someone fill in fields in a form for generating the documentation. ... Is this planned? | Yes.
| corrupt wrote: | | I definitely wasn't suggesting having users learn how to embed the documentation into their code using Natural Docs formatting | I decided to make an integrated parser so users don't have to constantly fill in forms every time they want to update their scripts. The current implementation is very strict but in future versions it will be more flexible to allow users to input metadata into their scripts in virtually any logical format (in a similar fashion to DateParse).
| corrupt wrote: | | Here's the output received when submitting code (no Natural Docs formatting in the code): | As I mentioned to ahklerner currently only Natural Docs syntax is supported. I thought that would've been obvious since it's the only selectable option for 'Parser:'. I have improved error handling so the raw binary data is replaced with a meaningful warning message. _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2") |
|
| Back to top |
|
 |
corrupt
Joined: 29 Dec 2004 Posts: 2397
|
Posted: Sun Sep 09, 2007 5:26 pm Post subject: |
|
|
Thanks for clarifying . So once the information has been collected from the form it will be automatically added to the code using Natural Docs format? or will an additional file get generated containing the Natural Docs code that can be submitted separately to avoid having to re-enter the information? or have I misunderstood? Would you mind explaining the concept, planned functionality?  |
|
| Back to top |
|
 |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 5:42 pm Post subject: |
|
|
Source files will not be modified, instead the data collected will be used to create an RDF then an XSL transformed HTML web page (as it happens currently). I'm reluctant to create a from because I'm very sure the majority will take advantage of the integrated parsers - i.e. write syntax usage within the script source and leave it to XN-Docs to generate documentation on successive updates etc. From my point creating a form will be a nightmare with so many fields to validate and error handling to manage. Therefore it's unlikely you'll see this until a later stage, unless someone else writes it for me. _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2") |
|
| Back to top |
|
 |
Elevator_Hazard
Joined: 28 Oct 2006 Posts: 304 Location: US
|
Posted: Sun Sep 09, 2007 6:26 pm Post subject: |
|
|
| Quote: | | ..., unless someone else writes it for me | I might think about it. I'd have to know more. I've worked with forms and php in this project as well as MySQL database stuff, it was fun but the project isn't worth it anyway because it turns out on most forums you can't have an image like "path/to/file.php?u=Elevator_Hazard", but oh well it was fun. _________________ Changed siggy at request of ahklerner  |
|
| Back to top |
|
 |
corrupt
Joined: 29 Dec 2004 Posts: 2397
|
Posted: Sun Sep 09, 2007 7:59 pm Post subject: |
|
|
| Titan wrote: | | I'm reluctant to create a from because I'm very sure the majority will take advantage of the integrated parsers - i.e. write syntax usage within the script source and leave it to XN-Docs to generate documentation on successive updates etc. | That's a shame. I may go ahead and write an application with a form that will generate the documentation then since my main concern was/is that most people will not bother going to the trouble of learning how and/or adding Natural Docs syntax to their scripts just to submit a function. I won't. I don't have anything against Natural Docs specifically. I just don't see the need to include the documentation in the code or the need to memorize a new syntax, required structure. You are also opening yourself up to the potential of having to do a lot of syntax checking to make sure that the format has been followed correctly when a user has the docs in the code in a specific format. If it was as simple as filling out a form and attaching a script (or copy/paste) then I think that a lot more people might take the time and it would likely be a lot easier for you to work with as the data entered in each field would have a specific place in the generated html. |
|
| Back to top |
|
 |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 8:16 pm Post subject: |
|
|
What about a Natural Docs converter? It will take form input and return standard syntax. This way users can make amendments in any text editor without filling in the entire form repeatedly if need be. The text wouldn't even needed to be combined with the script because XN-Docs will parse it as usual.
I don't know why you're intimidated by ndocs syntax - there's no learning involved because it's plain English. The default AutoHotkey script template has it's own metadata syntax which is very similar and I plan to support that too. _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2") |
|
| Back to top |
|
 |
corrupt
Joined: 29 Dec 2004 Posts: 2397
|
Posted: Sun Sep 09, 2007 9:01 pm Post subject: |
|
|
A Natural Docs converter sounds like a great idea. I'm not really intimidated by Natural Docs. I just have no interest in memorizing additional information, and I doubt many others are either, just to submit a function . Having it generated is much less of an inconvenience .
For making amendments, would it be just as easy to retrieve the data from the existing documentation and place it back into the form fields for editing? |
|
| Back to top |
|
 |
Titan
Joined: 11 Aug 2004 Posts: 5068 Location: imaginationland
|
Posted: Sun Sep 09, 2007 9:05 pm Post subject: |
|
|
| corrupt wrote: | | A Natural Docs converter sounds like a great idea. | Glad to hear it. Would you like to work on it or shall I?
| corrupt wrote: | | For making amendments, would it be just as easy to retrieve the data from the existing documentation and place it back into the form fields for editing? | That would be impossible. The generated documentation can take absolutely any form (corresponding to their original XSLT templates). _________________
RegExReplace("irc.freenode.net/ahk", "^(?=(.(?=[\0-r\[]*((?<=\.).))))(?:[c-\x73]{2,8}(\S))+((2)|\b[^\2-]){2}\D++$", "$u3$1$3$4$2") |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|