mirror of
https://github.com/QB64Official/qb64.git
synced 2024-07-05 01:50:25 +00:00
Some work related to transitioning wiki.
This commit is contained in:
parent
2754c97ef4
commit
27fc93dd8e
|
@ -2275,7 +2275,9 @@ FUNCTION ide2 (ignore)
|
|||
' removing the "View on Wiki" - @dualbrain
|
||||
IF 1=0 AND (mY = idewy AND (mX >= idewx - 17 AND mX <= idewx - 4)) THEN 'view on wiki
|
||||
launchWiki:
|
||||
url$ = StrReplace$(wikiBaseAddress$ + "/" + Back$(Help_Back_Pos), " ", "%20")
|
||||
url$ = wikiBaseAddress$ + "/" + Back$(Help_Back_Pos)
|
||||
url$ = StrReplace$(url$, " ", "%20"): url$ = StrReplace$(url$, "&", "%26")
|
||||
url$ = StrReplace$(url$, "+", "%2B")
|
||||
IF INSTR(_OS$, "WIN") = 0 THEN
|
||||
url$ = StrReplace$(url$, "$", "\$")
|
||||
url$ = StrReplace$(url$, "&", "\&")
|
||||
|
@ -2312,7 +2314,7 @@ FUNCTION ide2 (ignore)
|
|||
Help_sy = Help_Back(Help_Back_Pos).sy
|
||||
Help_cx = Help_Back(Help_Back_Pos).cx
|
||||
Help_cy = Help_Back(Help_Back_Pos).cy
|
||||
a$ = Wiki(Back$(Help_Back_Pos))
|
||||
a$ = Wiki$(Back$(Help_Back_Pos))
|
||||
WikiParse a$
|
||||
GOTO newpageparsed
|
||||
END IF
|
||||
|
@ -2570,7 +2572,7 @@ FUNCTION ide2 (ignore)
|
|||
Help_sy = Help_Back(Help_Back_Pos).sy
|
||||
Help_cx = Help_Back(Help_Back_Pos).cx
|
||||
Help_cy = Help_Back(Help_Back_Pos).cy
|
||||
a$ = Wiki(Back$(Help_Back_Pos))
|
||||
a$ = Wiki$(Back$(Help_Back_Pos))
|
||||
WikiParse a$
|
||||
GOTO newpageparsed
|
||||
END IF
|
||||
|
@ -2593,12 +2595,32 @@ FUNCTION ide2 (ignore)
|
|||
NEXT
|
||||
l2 = INSTR(l1, Help_Link$, Help_Link_Sep$) - 1
|
||||
l$ = MID$(Help_Link$, l1, l2 - l1 + 1)
|
||||
'assume PAGE
|
||||
l$ = RIGHT$(l$, LEN(l$) - 5)
|
||||
|
||||
IF mCLICK OR K$ = CHR$(13) THEN
|
||||
mCLICK = 0
|
||||
|
||||
IF LEFT$(l$, 5) = "EXTL:" THEN
|
||||
IF (K$ = CHR$(13)) OR (mY = Help_cy - Help_sy + Help_wy1 AND mX = Help_cx - Help_sx + Help_wx1) THEN
|
||||
l$ = RIGHT$(l$, LEN(l$) - 5)
|
||||
l$ = StrReplace$(l$, " ", "%20")
|
||||
l$ = StrReplace$(l$, "&", "%26")
|
||||
IF INSTR(_OS$, "WIN") = 0 THEN
|
||||
l$ = StrReplace$(l$, "$", "\$")
|
||||
l$ = StrReplace$(l$, "&", "\&")
|
||||
l$ = StrReplace$(l$, "(", "\(")
|
||||
l$ = StrReplace$(l$, ")", "\)")
|
||||
END IF
|
||||
IF INSTR(_OS$, "WIN") THEN
|
||||
SHELL _HIDE _DONTWAIT "start " + l$
|
||||
ELSEIF INSTR(_OS$, "MAC") THEN
|
||||
SHELL _HIDE _DONTWAIT "open " + l$
|
||||
ELSE
|
||||
SHELL _HIDE _DONTWAIT "xdg-open " + l$
|
||||
END IF
|
||||
END IF
|
||||
GOTO specialchar
|
||||
ELSEIF LEFT$(l$, 5) = "PAGE:" THEN
|
||||
l$ = RIGHT$(l$, LEN(l$) - 5)
|
||||
IF Back$(Help_Back_Pos) <> l$ THEN
|
||||
Help_Select = 0: Help_MSelect = 0
|
||||
'COLOR 7, 0
|
||||
|
@ -2638,11 +2660,12 @@ FUNCTION ide2 (ignore)
|
|||
Help_Back(Help_Back_Pos).cx = 1
|
||||
Help_Back(Help_Back_Pos).cy = 1
|
||||
Help_sx = 1: Help_sy = 1: Help_cx = 1: Help_cy = 1
|
||||
a$ = Wiki(l$)
|
||||
a$ = Wiki$(l$)
|
||||
WikiParse a$
|
||||
GOTO newpageparsed
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
||||
END IF
|
||||
END IF
|
||||
|
@ -2743,7 +2766,7 @@ FUNCTION ide2 (ignore)
|
|||
Help_Back(Help_Back_Pos).cy = 1
|
||||
Help_sx = 1: Help_sy = 1: Help_cx = 1: Help_cy = 1
|
||||
|
||||
a$ = Wiki(lnk$)
|
||||
a$ = Wiki$(lnk$)
|
||||
|
||||
IF idehelp = 0 THEN
|
||||
IF idesubwindow THEN PCOPY 3, 0: SCREEN , , 3, 0: GOTO ideloop
|
||||
|
@ -2807,10 +2830,13 @@ FUNCTION ide2 (ignore)
|
|||
LOOP
|
||||
|
||||
IF UCASE$(n$) = a2$ THEN
|
||||
a$ = "'''" + backupn$ + "''' is a symbol that is used in your program as follows:"
|
||||
a$ = "{{DISPLAYTITLE:agp@" + backupn$ + "}}" + CHR$(10)
|
||||
a$ = a$ + "This is a subroutine or function that is used in your program as follows:" + CHR$(10)
|
||||
a$ = a$ + CHR$(10) + CHR$(10) + "{{PageSyntax}}" + CHR$(10)
|
||||
a$ = a$ + ": " + sf$ + "'''" + backupn$ + "''' " + args$
|
||||
a$ = a$ + CHR$(10) + "{{PageNavigation}}"
|
||||
a$ = a$ + ": [[" + LEFT$(sf$, LEN(sf$) - 1) + "]] '''" + backupn$ + "''' " + args$ + CHR$(10)
|
||||
a$ = a$ + CHR$(10) + CHR$(10) + "{{PageSeeAlso}}" + CHR$(10)
|
||||
a$ = a$ + "* [[Sub (explanatory)]]" + CHR$(10)
|
||||
a$ = a$ + "* [[Function (explanatory)]]" + CHR$(10)
|
||||
|
||||
IdeContextHelpSF = -1
|
||||
|
||||
|
@ -5282,12 +5308,12 @@ FUNCTION ide2 (ignore)
|
|||
END IF
|
||||
IF menu$(m, s) = "Keyword #Index" THEN
|
||||
PCOPY 3, 0: SCREEN , , 3, 0
|
||||
lnk$ = "Keyword Reference (Alphabetical)"
|
||||
lnk$ = "Keyword Reference - Alphabetical"
|
||||
GOTO OpenHelpLnk
|
||||
END IF
|
||||
IF menu$(m, s) = "#Keywords by Usage" THEN
|
||||
PCOPY 3, 0: SCREEN , , 3, 0
|
||||
lnk$ = "Keyword Reference (Usage)"
|
||||
lnk$ = "Keyword Reference - By usage"
|
||||
GOTO OpenHelpLnk
|
||||
END IF
|
||||
|
||||
|
@ -5319,8 +5345,8 @@ FUNCTION ide2 (ignore)
|
|||
IF idehelp THEN
|
||||
Help_IgnoreCache = 1
|
||||
a$ = Wiki$(Back$(Help_Back_Pos))
|
||||
WikiParse a$ 'reparse updated page incl. plugin templates
|
||||
Help_IgnoreCache = 0
|
||||
WikiParse a$
|
||||
END IF
|
||||
GOTO ideloop
|
||||
END IF
|
||||
|
@ -5397,10 +5423,18 @@ FUNCTION ide2 (ignore)
|
|||
' removing the "View on Wiki" - @dualbrain
|
||||
IF 1=0 AND menu$(m, s) = "Update All #Pages..." THEN
|
||||
PCOPY 2, 0
|
||||
q$ = ideyesnobox("Update Help", "This can take up to 10 minutes.\nRedownload all cached help content from the wiki?")
|
||||
q$ = ideyesnobox("Update Help", "This can take up to 20 minutes.\nRedownload all cached help content from the wiki?")
|
||||
PCOPY 2, 0
|
||||
IF q$ = "Y" THEN ideupdatehelpbox
|
||||
IF q$ = "Y" THEN
|
||||
Help_Recaching = 1: Help_IgnoreCache = 1
|
||||
uerr = ideupdatehelpbox
|
||||
Help_Recaching = 0: Help_IgnoreCache = 0
|
||||
PCOPY 3, 0: SCREEN , , 3, 0
|
||||
IF uerr THEN
|
||||
lnk$ = "Update All"
|
||||
GOTO OpenHelpLnk
|
||||
END IF
|
||||
END IF
|
||||
GOTO ideloop
|
||||
END IF
|
||||
|
||||
|
@ -6502,8 +6536,8 @@ HelpAreaShowBackLinks:
|
|||
LOCATE idewy, (idewx - (LEN(Document_Title$) + 8)) \ 2 : PRINT " HELP: " + Document_Title$ + " "
|
||||
END IF
|
||||
IF 1=0 THEN ' removing the "View on Wiki" - @dualbrain
|
||||
'COLOR 7, 0: _PRINTSTRING (idewx - 18, idewy), CHR$(180)
|
||||
'COLOR 15, 3: _PRINTSTRING (idewx - 17, idewy), " View on Wiki "
|
||||
COLOR 7, 0: _PRINTSTRING (idewx - 18, idewy), CHR$(180)
|
||||
COLOR 15, 3: _PRINTSTRING (idewx - 17, idewy), " View on Wiki "
|
||||
END IF
|
||||
RETURN
|
||||
|
||||
|
@ -14645,6 +14679,7 @@ FUNCTION idezfilelist$ (path$, method, mask$) 'method0=*.bas, method1=*.*, metho
|
|||
DO UNTIL EOF(150)
|
||||
LINE INPUT #150, a$
|
||||
IF LEN(a$) THEN 'skip blank entries
|
||||
IF path$ = "internal/help" THEN a$ = LEFT$(a$, (LEN(a$) - 5) \ 2) + ".txt" 'remove spelling label
|
||||
IF filelist$ = "" THEN filelist$ = a$ ELSE filelist$ = filelist$ + sep + a$
|
||||
END IF
|
||||
LOOP
|
||||
|
@ -14684,6 +14719,7 @@ FUNCTION idezfilelist$ (path$, method, mask$) 'method0=*.bas, method1=*.*, metho
|
|||
EXIT FOR
|
||||
END IF
|
||||
NEXT
|
||||
IF path$ = "internal/help" THEN a$ = LEFT$(a$, (LEN(a$) - 5) \ 2) + ".txt" 'remove spelling label
|
||||
IF filelist$ = "" THEN filelist$ = a$ ELSE filelist$ = filelist$ + sep + a$
|
||||
LOOP
|
||||
CLOSE #150
|
||||
|
@ -17583,7 +17619,7 @@ SUB Help_ShowText
|
|||
IF setup = 0 AND UBOUND(back$) = 1 THEN
|
||||
setup = 1
|
||||
IF IdeContextHelpSF = 0 THEN
|
||||
a$ = Wiki(Back$(1))
|
||||
a$ = Wiki$(Back$(1))
|
||||
WikiParse a$
|
||||
END IF
|
||||
END IF
|
||||
|
@ -18655,7 +18691,15 @@ SUB IdeAddSearched (s2$)
|
|||
CLOSE #fh
|
||||
END SUB
|
||||
|
||||
SUB ideupdatehelpbox
|
||||
FUNCTION ideupdatehelpbox
|
||||
ideupdatehelpbox = 0 'all good, getting 1 on error
|
||||
IF Help_Recaching = 2 THEN
|
||||
DIM FullMessage$(1 TO 2)
|
||||
UpdateStep = 1
|
||||
Help_ww = 78
|
||||
GOTO startMainLoop
|
||||
END IF
|
||||
|
||||
'-------- generic dialog box header --------
|
||||
PCOPY 0, 2
|
||||
PCOPY 0, 1
|
||||
|
@ -18697,8 +18741,9 @@ SUB ideupdatehelpbox
|
|||
FOR i = 1 TO 100: o(i).par = p: NEXT 'set parent info of objects
|
||||
'-------- end of generic init --------
|
||||
|
||||
startMainLoop:
|
||||
DO 'main loop
|
||||
|
||||
IF Help_Recaching = 2 GOTO updateRoutine
|
||||
|
||||
'-------- generic display dialog box & objects --------
|
||||
idedrawpar p
|
||||
|
@ -18807,11 +18852,15 @@ SUB ideupdatehelpbox
|
|||
SELECT CASE UpdateStep
|
||||
CASE 1
|
||||
'Create a list of all files to be recached
|
||||
f$ = CHR$(0) + idezfilelist$("internal/help", 1, "") + CHR$(0)
|
||||
IF Help_Recaching < 2 THEN
|
||||
f$ = CHR$(0) + idezfilelist$("internal/help", 2, "*.txt") + CHR$(0)
|
||||
IF LEN(f$) = 2 THEN f$ = CHR$(0)
|
||||
ELSE
|
||||
f$ = CHR$(0) 'no dir scan for 'qb64 -u' (build time update)
|
||||
END IF
|
||||
|
||||
'Prepend core pages to list
|
||||
f$ = CHR$(0) + "Keyword-Reference---(Usage).txt" + f$
|
||||
f$ = CHR$(0) + "Keyword_Reference_-_By_usage.txt" + f$
|
||||
f$ = CHR$(0) + "QB64_Help_Menu.txt" + f$
|
||||
f$ = CHR$(0) + "QB64_FAQ.txt" + f$
|
||||
UpdateStep = UpdateStep + 1
|
||||
|
@ -18820,10 +18869,9 @@ SUB ideupdatehelpbox
|
|||
CASE 3
|
||||
'Download and PARSE alphabetical index to build required F1 help links
|
||||
FullMessage$(1) = "Regenerating keyword list..."
|
||||
Help_Recaching = 1: Help_IgnoreCache = 1
|
||||
a$ = Wiki$("Keyword Reference (Alphabetical)")
|
||||
Help_Recaching = 0: Help_IgnoreCache = 0
|
||||
WikiParse a$
|
||||
a$ = Wiki$("Keyword Reference - Alphabetical")
|
||||
IF INSTR(a$, "{{PageInternalError}}") > 0 THEN ideupdatehelpbox = 1: EXIT DO
|
||||
WikiParse a$ 'update links.bin and check for plugin templates
|
||||
UpdateStep = UpdateStep + 1
|
||||
CASE 4
|
||||
'Add all linked pages to download list (if not already in list)
|
||||
|
@ -18832,23 +18880,27 @@ SUB ideupdatehelpbox
|
|||
DO UNTIL EOF(fh)
|
||||
LINE INPUT #fh, l$
|
||||
IF LEN(l$) THEN
|
||||
c = INSTR(l$, ","): PageName2$ = RIGHT$(l$, LEN(l$) - c)
|
||||
DO WHILE INSTR(PageName2$, " ")
|
||||
ASC(PageName2$, INSTR(PageName2$, " ")) = 95
|
||||
LOOP
|
||||
DO WHILE INSTR(PageName2$, "&")
|
||||
i = INSTR(PageName2$, "&")
|
||||
PageName2$ = LEFT$(PageName2$, i - 1) + "%26" + RIGHT$(PageName2$, LEN(PageName2$) - i)
|
||||
LOOP
|
||||
DO WHILE INSTR(PageName2$, "/")
|
||||
i = INSTR(PageName2$, "/")
|
||||
PageName2$ = LEFT$(PageName2$, i - 1) + "%2F" + RIGHT$(PageName2$, LEN(PageName2$) - i)
|
||||
LOOP
|
||||
c = INSTR(l$, ","): l$ = RIGHT$(l$, LEN(l$) - c)
|
||||
IF Help_Recaching < 2 OR LEFT$(l$, 3) <> "_gl" THEN 'ignore _GL pages for 'qb64 -u' (build time update)
|
||||
'Escape all invalid and other critical chars in filenames
|
||||
PageName2$ = ""
|
||||
FOR i = 1 TO LEN(l$)
|
||||
c = ASC(l$, i)
|
||||
SELECT CASE c
|
||||
CASE 32 ' '(space)
|
||||
PageName2$ = PageName2$ + "_"
|
||||
CASE 34, 36, 38, 42, 43, 47, 58, 60, 62, 63, 92, 124 '("$&*+/:<>?\|)
|
||||
PageName2$ = PageName2$ + "%" + HEX$(c)
|
||||
CASE ELSE
|
||||
PageName2$ = PageName2$ + CHR$(c)
|
||||
END SELECT
|
||||
NEXT
|
||||
PageName2$ = PageName2$ + ".txt"
|
||||
IF INSTR(f$, CHR$(0) + PageName2$ + CHR$(0)) = 0 THEN
|
||||
f$ = f$ + PageName2$ + CHR$(0)
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
LOOP
|
||||
CLOSE #fh
|
||||
|
||||
|
@ -18877,13 +18929,15 @@ SUB ideupdatehelpbox
|
|||
f2$ = LEFT$(f2$, LEN(f2$) - 4)
|
||||
n = n + 1
|
||||
FullMessage$(2) = "Page title: " + f2$
|
||||
Help_IgnoreCache = 1: Help_Recaching = 1: ignore$ = Wiki(f2$): Help_Recaching = 0: Help_IgnoreCache = 0
|
||||
ignore$ = Wiki$(f2$)
|
||||
WikiParse ignore$ 'just check for plugin templates
|
||||
END IF
|
||||
ELSE
|
||||
UpdateStep = UpdateStep + 1
|
||||
END IF
|
||||
CASE 6
|
||||
stoprecache:
|
||||
IF Help_Recaching = 2 THEN EXIT DO
|
||||
FullMessage$(1) = "All pages updated."
|
||||
FullMessage$(2) = ""
|
||||
idetxt(o(ButtonID).txt) = "#Close"
|
||||
|
@ -18894,7 +18948,7 @@ SUB ideupdatehelpbox
|
|||
mousedown = 0
|
||||
mouseup = 0
|
||||
LOOP
|
||||
END SUB
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION ideASCIIbox$(relaunch)
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ DIM SHARED Help_ww, Help_wh 'width & height of text region
|
|||
DIM SHARED help_h, help_w 'width & height
|
||||
DIM SHARED Help_Txt$ '[chr][col][link-byte1][link-byte2]
|
||||
DIM SHARED Help_Txt_Len
|
||||
DIM SHARED Help_Pos, Help_Wrap_Pos
|
||||
DIM SHARED Help_Line$ 'index of first txt element of a line
|
||||
DIM SHARED Help_Link$ 'the link info [sep][type:]...[sep]
|
||||
DIM SHARED Help_Link_Sep$: Help_Link_Sep$ = CHR$(13)
|
||||
|
@ -20,7 +21,6 @@ DIM SHARED Help_NewLineIndent
|
|||
DIM SHARED Help_Underline
|
||||
'Link Types:
|
||||
' PAGE:wikipagename
|
||||
DIM SHARED Help_Pos, Help_Wrap_Pos
|
||||
DIM SHARED Help_BG_Col
|
||||
DIM SHARED Help_Col_Normal: Help_Col_Normal = 7
|
||||
DIM SHARED Help_Col_Link: Help_Col_Link = 9
|
||||
|
|
Loading…
Reference in a new issue