[docs] BBCode no longer working

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: [docs] BBCode no longer working

Re: [docs] BBCode no longer working

Post by tank » 14 May 2018, 08:05

I looked at the custom tag. there is no clear way to fix this and it also means this was always a problem. Thanks for noticing. I will have to hack the forum code to fix it. I will add it to my list of things i need to fix.

Re: [docs] BBCode no longer working

Post by gregster » 13 May 2018, 22:43

This fix was a real lifesaver. Thanks again.

If someone capable could also fix the [docs] BBCode forwarding for the help pages of directives like #Include or #If (I think, all directives are affected), next time there is non-busy minute or two, it would be absolutely perfect :dance:

(The links use _ instead of #; https://autohotkey.com/docs/commands/_Include.htm)

Re: [docs] BBCode no longer working

Post by tank » 16 Apr 2018, 07:54

So it appears the php is not part of the repo. I will submit a PR for this
https://github.com/Lexikos/AutoHotkey_L-Docs/pull/272

Re: [docs] BBCode no longer working

Post by Ragnar » 12 Apr 2018, 03:24

tank wrote:I just removed the comments.
I've submitted a pull request on GitHub to remove the comments (PR #268).
tank wrote:this wasnt the right way to do this using a JS file anyhow.
That's true. Too bad PHP can't read JS files directly. Maybe one day I will convert the data_ files into the JSON format if I find a way to have JavaScript read JSON files locally.

data_index.js is necessary for the docs, specifically the index tab on the left side and syntax highlighting.

Re: [docs] BBCode no longer working

Post by joedf » 11 Apr 2018, 17:52

Cool :+1:
I think everything is in lexikos’ docs GitHub repo

Re: [docs] BBCode no longer working

Post by JoeWinograd » 11 Apr 2018, 16:43

Thanks from here, too...working perfectly!

Re: [docs] BBCode no longer working

Post by derz00 » 11 Apr 2018, 16:11

Yes thanks!

Re: [docs] BBCode no longer working

Post by gregster » 11 Apr 2018, 15:51

Awesome, it seems to be working again! Many thanks!

Re: [docs] BBCode no longer working

Post by tank » 11 Apr 2018, 15:46

this wasnt the right way to do this using a JS file anyhow. At some point on my todo list will be to fix this correctly but i am unsure at this point who or how these files are being maintained. Github?

Re: [docs] BBCode no longer working

Post by tank » 11 Apr 2018, 15:43

I just removed the comments.

Re: [docs] BBCode no longer working

Post by Ragnar » 11 Apr 2018, 10:44

redirect.php does not like the comment block in data_index.js. Replace the content of redirect.php with the following, then it should work again (I changed line 8):

Code: Select all

// Load the index
//
$index = file_get_contents('./static/source/data_index.js');
if ($index === false)
{
	fail_exit();
}
$needle = 'indexData = [';
$index = json_decode(rtrim(substr($index, strpos($index, $needle)+strlen($needle)-1), "; \r\n"));
if (!isset($index))
{
	fail_exit();
}

redirect_to_topic_if_found($topic);

// Topic not found, so see if it looks like a bad URL.
if (substr($topic, -4) == '.htm')
{
	// Handle commands/RunWait.htm like redirect.php?topic=RunWait
	if (substr($topic, 0, 9) == 'commands/')
		$topic = substr($topic, 9);
	$topic = substr($topic, 0, -4);
	redirect_to_topic_if_found($topic);
}

// Topic not found, so search instead.
redirect_to('https://www.google.com/search?q=site:autohotkey.com/docs/%20'
			. urlencode($topic), 302);

function redirect_to_topic_if_found($topic)
{
	global $index;
	foreach ($index as $item)
	{
		$pos = stripos($item[0], $topic);
		if ($pos !== false) // Substring match.
		{
			if (strlen($item[0]) == strlen($topic)) // Full match.
			{
				$best_match = $item;
				break;
			}
			if (!isset($best_match) || ($pos == 0 && $best_pos != 0))
			{
				$best_match = $item;
				$best_pos = $pos;
			}
		}
	}
	if (isset($best_match))
	{
		redirect_to_docs($best_match[1]);
	}
}

function redirect_to_docs($where = '')
{
	redirect_to('https://autohotkey.com/docs/' . $where);
}

function redirect_to($where, $status = 301)
{
	header('Location: ' . $where, true, $status);
	exit();
}

function fail_exit()
{
	echo 'Sorry, an error occurred. Please let us know via <a href="https://autohotkey.com/boards/viewforum.php?f=3">the forums</a>.';
	exit();
}

Re: [docs] BBCode no longer working

Post by Ragnar » 11 Apr 2018, 08:24

Thanks, looks promising. I'll look into it.

Re: [docs] BBCode no longer working

Post by tank » 11 Apr 2018, 08:06

OK poking around in this directory for the first time ever yields a redirect.php and the following .htaccess

Code: Select all

Options +FollowSymLinks -Indexes
RewriteEngine on
RewriteBase /docs/

RewriteRule ^$ AutoHotkey.htm [R,L]
RewriteRule ^objects/?$ Objects.htm [R,L]
RewriteRule ^SmartGUI/$ https://autohotkey.com/board/topic/738-smartgui-creator/ [R,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule "^(.*)(?<!\.css|\.png|\.gif)(?<!\.js)$" "redirect.php?topic=$1" [L,NC,B]
redirect.php

Code: Select all

// Load the index
//
$index = file_get_contents('./static/source/data_index.js');
if ($index === false)
{
	fail_exit();
}
$index = json_decode(rtrim(substr($index, strpos($index, '[')), "; \r\n"));
if (!isset($index))
{
	fail_exit();
}

redirect_to_topic_if_found($topic);

// Topic not found, so see if it looks like a bad URL.
if (substr($topic, -4) == '.htm')
{
	// Handle commands/RunWait.htm like redirect.php?topic=RunWait
	if (substr($topic, 0, 9) == 'commands/')
		$topic = substr($topic, 9);
	$topic = substr($topic, 0, -4);
	redirect_to_topic_if_found($topic);
}

// Topic not found, so search instead.
redirect_to('https://www.google.com/search?q=site:autohotkey.com/docs/%20'
			. urlencode($topic), 302);

function redirect_to_topic_if_found($topic)
{
	global $index;
	foreach ($index as $item)
	{
		$pos = stripos($item[0], $topic);
		if ($pos !== false) // Substring match.
		{
			if (strlen($item[0]) == strlen($topic)) // Full match.
			{
				$best_match = $item;
				break;
			}
			if (!isset($best_match) || ($pos == 0 && $best_pos != 0))
			{
				$best_match = $item;
				$best_pos = $pos;
			}
		}
	}
	if (isset($best_match))
	{
		redirect_to_docs($best_match[1]);
	}
}

function redirect_to_docs($where = '')
{
	redirect_to('https://autohotkey.com/docs/' . $where);
}

function redirect_to($where, $status = 301)
{
	header('Location: ' . $where, true, $status);
	exit();
}

function fail_exit()
{
	echo 'Sorry, an error occurred. Please let us know via <a href="https://autohotkey.com/boards/viewforum.php?f=3">the forums</a>.';
	exit();
}
data_index.js

Code: Select all

/*
indexData[x][0] -> keyword
indexData[x][1] -> path
indexData[x][2] -> (optional) type of keyword:
0 - directive
1 - built-in var
2 - built-in function
3 - control flow statement
4 - operator
5 - declaration
6 - command
*/

indexData = [
  ["#AllowSameLineComments","commands/_AllowSameLineComments.htm",0],
  ["#ClipboardTimeout","commands/_ClipboardTimeout.htm",0],
  ["#CommentFlag","commands/_CommentFlag.htm",0],
  ["#Delimiter","commands/_EscapeChar.htm#Delimiter",0],
  ["#DerefChar","commands/_EscapeChar.htm#DerefChar",0],
  ["#ErrorStdOut","commands/_ErrorStdOut.htm",0],
  ["#EscapeChar","commands/_EscapeChar.htm",0],
  ["#HotkeyInterval","commands/_HotkeyInterval.htm",0],
  ["#HotkeyModifierTimeout","commands/_HotkeyModifierTimeout.htm",0],
  ["#Hotstring","commands/_Hotstring.htm",0],
  ["#If","commands/_If.htm",0],
  ["#IfTimeout","commands/_IfTimeout.htm",0],
  ["#IfWinActive","commands/_IfWinActive.htm",0],
  ["#IfWinExist","commands/_IfWinActive.htm",0],
  ["#IfWinNotActive","commands/_IfWinActive.htm",0],
  ["#IfWinNotExist","commands/_IfWinActive.htm",0],
  ["#Include","commands/_Include.htm",0],
  ["#IncludeAgain","commands/_Include.htm",0],
  ["#InputLevel","commands/_InputLevel.htm",0],
  ["#InstallKeybdHook","commands/_InstallKeybdHook.htm",0],
  ["#InstallMouseHook","commands/_InstallMouseHook.htm",0],
  ["#KeyHistory","commands/_KeyHistory.htm",0],
  ["#LTrim","Scripts.htm#LTrim",0],
  ["#MaxHotkeysPerInterval","commands/_MaxHotkeysPerInterval.htm",0],
  ["#MaxMem","commands/_MaxMem.htm",0],
  ["#MaxThreads","commands/_MaxThreads.htm",0],
  ["#MaxThreadsBuffer","commands/_MaxThreadsBuffer.htm",0],
  ["#MaxThreadsPerHotkey","commands/_MaxThreadsPerHotkey.htm",0],
  ["#MenuMaskKey","commands/_MenuMaskKey.htm",0],
  ["#NoEnv","commands/_NoEnv.htm",0],
  ["#NoTrayIcon","commands/_NoTrayIcon.htm",0],
  ["#Persistent","commands/_Persistent.htm",0],
  ["#SingleInstance","commands/_SingleInstance.htm",0],
  ["#UseHook","commands/_UseHook.htm",0],
  ["#Warn","commands/_Warn.htm",0],
  ["#WinActivateForce","commands/_WinActivateForce.htm",0],
  [":=","commands/SetExpression.htm",4],
  ["A_AhkPath","Variables.htm#AhkPath",1],
  ["A_AhkVersion","Variables.htm#AhkVersion",1],
  ["A_AppData","Variables.htm#AppData",1],
  ["A_AppDataCommon","Variables.htm#AppDataCommon",1],
  ["A_Args","Variables.htm#Args",1],
  ["A_AutoTrim","Variables.htm#AutoTrim",1],
  ["A_BatchLines","Variables.htm#BatchLines",1],
  ["A_CaretX","Variables.htm#Caret",1],
  ["A_CaretY","Variables.htm#Caret",1],
  ["A_ComputerName","Variables.htm#ComputerName",1],
  ["A_ComSpec","Variables.htm#ComSpec",1],
  ["A_ControlDelay","Variables.htm#ControlDelay",1],
  ["A_CoordMode...","Variables.htm#CoordMode",1],
  ["A_Cursor","Variables.htm#Cursor",1],
  ["A_DD","Variables.htm#DD",1],
  ["A_DDD","Variables.htm#DDDD",1],
  ["A_DDDD","Variables.htm#DDDD",1],
  ["A_DefaultGui","Variables.htm#DefaultGui",1],
  ["A_DefaultListView","Variables.htm#DefaultListView",1],
  ["A_DefaultMouseSpeed","Variables.htm#DefaultMouseSpeed",1],
  ["A_DefaultTreeView","Variables.htm#DefaultTreeView",1],
  ["A_Desktop","Variables.htm#Desktop",1],
  ["A_DesktopCommon","Variables.htm#DesktopCommon",1],
  ["A_DetectHiddenText","Variables.htm#DetectHiddenText",1],
  ["A_DetectHiddenWindows","Variables.htm#DetectHiddenWindows",1],
  ["A_EndChar","Variables.htm#EndChar",1],
  ["A_EventInfo","Variables.htm#EventInfo",1],
  ["A_ExitReason","Variables.htm#ExitReason",1],
  ["A_FileEncoding","Variables.htm#FileEncoding",1],
  ["A_FormatFloat","Variables.htm#FormatFloat",1],
  ["A_FormatInteger","Variables.htm#FormatInteger",1],
  ["A_Gui","Variables.htm#Gui",1],
  ["A_GuiControl","Variables.htm#GuiControl",1],
  ["A_GuiControlEvent","Variables.htm#GuiControlEvent",1],
  ["A_GuiEvent","Variables.htm#GuiEvent",1],
  ["A_GuiHeight","Variables.htm#GuiWidth",1],
  ["A_GuiWidth","Variables.htm#GuiWidth",1],
  ["A_GuiX","Variables.htm#GuiX",1],
  ["A_GuiY","Variables.htm#GuiY",1],
  ["A_Hour","Variables.htm#Hour",1],
  ["A_IconFile","Variables.htm#IconFile",1],
  ["A_IconHidden","Variables.htm#IconHidden",1],
  ["A_IconNumber","Variables.htm#IconNumber",1],
  ["A_IconTip","Variables.htm#IconTip",1],
  ["A_Index","commands/Loop.htm",1],
  ["A_IPAddress1 through 4","Variables.htm#IPAddress",1],
  ["A_Is64bitOS","Variables.htm#Is64bitOS",1],
  ["A_IsAdmin","Variables.htm#IsAdmin",1],
  ["A_IsCompiled","Variables.htm#IsCompiled",1],
  ["A_IsCritical","Variables.htm#IsCritical",1],
  ["A_IsPaused","Variables.htm#IsPaused",1],
  ["A_IsSuspended","Variables.htm#IsSuspended",1],
  ["A_IsUnicode","Variables.htm#IsUnicode",1],
  ["A_KeyDelay","Variables.htm#KeyDelay",1],
  ["A_KeyDelayPlay","Variables.htm#KeyDelayPlay",1],
  ["A_KeyDuration","Variables.htm#KeyDelay",1],
  ["A_KeyDurationPlay","Variables.htm#KeyDelayPlay",1],
  ["A_Language","Variables.htm#Language",1],
  ["A_Language Values","misc/Languages.htm",1],
  ["A_LastError","Variables.htm#LastError",1],
  ["A_LineFile","Variables.htm#LineFile",1],
  ["A_LineNumber","Variables.htm#LineNumber",1],
  ["A_ListLines","Variables.htm#ListLines",1],
  ["A_LoopField","commands/LoopParse.htm#LoopField",1],
  ["A_LoopFileAttrib","commands/LoopFile.htm#LoopFileAttrib",1],
  ["A_LoopFileDir","commands/LoopFile.htm#LoopFileDir",1],
  ["A_LoopFileExt","commands/LoopFile.htm#LoopFileExt",1],
  ["A_LoopFileFullPath","commands/LoopFile.htm#LoopFileFullPath",1],
  ["A_LoopFileLongPath","commands/LoopFile.htm#LoopFileLongPath",1],
  ["A_LoopFileName","commands/LoopFile.htm#LoopFileName",1],
  ["A_LoopFilePath","commands/LoopFile.htm#LoopFileFullPath",1],
  ["A_LoopFileShortName","commands/LoopFile.htm#LoopFileShortName",1],
  ["A_LoopFileShortPath","commands/LoopFile.htm#LoopFileShortPath",1],
  ["A_LoopFileSize","commands/LoopFile.htm#LoopFileSize",1],
  ["A_LoopFileSizeKB","commands/LoopFile.htm#LoopFileSizeKB",1],
  ["A_LoopFileSizeMB","commands/LoopFile.htm#LoopFileSizeMB",1],
  ["A_LoopFileTimeAccessed","commands/LoopFile.htm#LoopFileTimeAccessed",1],
  ["A_LoopFileTimeCreated","commands/LoopFile.htm#LoopFileTimeCreated",1],
  ["A_LoopFileTimeModified","commands/LoopFile.htm#LoopFileTimeModified",1],
  ["A_LoopReadLine","commands/LoopReadFile.htm#LoopReadLine",1],
  ["A_LoopRegKey","commands/LoopReg.htm#vars",1],
  ["A_LoopRegName","commands/LoopReg.htm#vars",1],
  ["A_LoopRegSubKey","commands/LoopReg.htm#vars",1],
  ["A_LoopRegTimeModified","commands/LoopReg.htm#vars",1],
  ["A_LoopRegType","commands/LoopReg.htm#vars",1],
  ["A_MDay","Variables.htm#DD",1],
  ["A_Min","Variables.htm#Min",1],
  ["A_MM","Variables.htm#MM",1],
  ["A_MMM","Variables.htm#MMM",1],
  ["A_MMMM","Variables.htm#MMMM",1],
  ["A_Mon","Variables.htm#MM",1],
  ["A_MouseDelay","Variables.htm#MouseDelay",1],
  ["A_MouseDelayPlay","Variables.htm#MouseDelay",1],
  ["A_MSec","Variables.htm#MSec",1],
  ["A_MyDocuments","Variables.htm#MyDocuments",1],
  ["A_Now","Variables.htm#Now",1],
  ["A_NowUTC","Variables.htm#NowUTC",1],
  ["A_NumBatchLines","Variables.htm#BatchLines",1],
  ["A_OSType","Variables.htm#OSType",1],
  ["A_OSVersion","Variables.htm#OSVersion",1],
  ["A_PriorHotkey","Variables.htm#PriorHotkey",1],
  ["A_PriorKey","Variables.htm#PriorKey",1],
  ["A_ProgramFiles","Variables.htm#ProgramFiles",1],
  ["A_Programs","Variables.htm#Programs",1],
  ["A_ProgramsCommon","Variables.htm#ProgramsCommon",1],
  ["A_PtrSize","Variables.htm#PtrSize",1],
  ["A_RegView","Variables.htm#RegView",1],
  ["A_ScreenDPI","Variables.htm#ScreenDPI",1],
  ["A_ScreenHeight","Variables.htm#Screen",1],
  ["A_ScreenWidth","Variables.htm#Screen",1],
  ["A_ScriptDir","Variables.htm#ScriptDir",1],
  ["A_ScriptFullPath","Variables.htm#ScriptFullPath",1],
  ["A_ScriptHwnd","Variables.htm#ScriptHwnd",1],
  ["A_ScriptName","Variables.htm#ScriptName",1],
  ["A_Sec","Variables.htm#Sec",1],
  ["A_SendLevel","Variables.htm#SendLevel",1],
  ["A_SendMode","Variables.htm#SendMode",1],
  ["A_Space","Variables.htm#Space",1],
  ["A_StartMenu","Variables.htm#StartMenu",1],
  ["A_StartMenuCommon","Variables.htm#StartMenuCommon",1],
  ["A_Startup","Variables.htm#Startup",1],
  ["A_StartupCommon","Variables.htm#StartupCommon",1],
  ["A_StoreCapsLockMode","Variables.htm#StoreCapslockMode",1],
  ["A_StringCaseSense","Variables.htm#StringCaseSense",1],
  ["A_Tab","Variables.htm#Tab",1],
  ["A_Temp","Variables.htm#Temp",1],
  ["A_ThisFunc","Variables.htm#ThisFunc",1],
  ["A_ThisHotkey","Variables.htm#ThisHotkey",1],
  ["A_ThisLabel","Variables.htm#ThisLabel",1],
  ["A_ThisMenu","Variables.htm#ThisMenu",1],
  ["A_ThisMenuItem","Variables.htm#ThisMenuItem",1],
  ["A_ThisMenuItemPos","Variables.htm#ThisMenuItemPos",1],
  ["A_TickCount","Variables.htm#TickCount",1],
  ["A_TimeIdle","Variables.htm#TimeIdle",1],
  ["A_TimeIdleKeyboard","Variables.htm#TimeIdleKeyboard",1],
  ["A_TimeIdleMouse","Variables.htm#TimeIdleMouse",1],
  ["A_TimeIdlePhysical","Variables.htm#TimeIdlePhysical",1],
  ["A_TimeSincePriorHotkey","Variables.htm#TimeSincePriorHotkey",1],
  ["A_TimeSinceThisHotkey","Variables.htm#TimeSinceThisHotkey",1],
  ["A_TitleMatchMode","Variables.htm#TitleMatchMode",1],
  ["A_TitleMatchModeSpeed","Variables.htm#TitleMatchModeSpeed",1],
  ["A_UserName","Variables.htm#UserName",1],
  ["A_WDay","Variables.htm#WDay",1],
  ["A_WinDelay","Variables.htm#WinDelay",1],
  ["A_WinDir","Variables.htm#WinDir",1],
  ["A_WorkingDir","Variables.htm#WorkingDir",1],
  ["A_YDay","Variables.htm#YDay",1],
  ["A_Year","Variables.htm#YYYY",1],
  ["A_YWeek","Variables.htm#YWeek",1],
  ["A_YYYY","Variables.htm#YYYY",1],
  ["abbreviation expansion","Hotstrings.htm"],
  ["Abs()","commands/Math.htm#Abs",2],
  ["absolute value, abs()","commands/Math.htm#Abs"],
  ["Acknowledgements","misc/Acknowledgements.htm"],
  ["ACos()","commands/Math.htm#ACos",2],
  ["activate a window","commands/WinActivate.htm"],
  ["ActiveX controls (GUI)","commands/GuiControls.htm#ActiveX"],
  ["add","commands/EnvAdd.htm"],
  ["Address of a variable","Variables.htm#amp"],
  ["administrator privileges for scripts","Variables.htm#RequireAdmin"],
  ["ahk2exe","Scripts.htm#ahk2exe"],
  ["ahk_class","misc/WinTitle.htm#ahk_class"],
  ["ahk_exe","misc/WinTitle.htm#ahk_exe"],
  ["ahk_group","misc/WinTitle.htm#ahk_group"],
  ["ahk_id","misc/WinTitle.htm#ahk_id"],
  ["ahk_pid","misc/WinTitle.htm#ahk_pid"],
  ["AllowSameLineComments","commands/_AllowSameLineComments.htm"],
  ["alnum","commands/IfIs.htm"],
  ["alpha","commands/IfIs.htm"],
  ["AltGr","Hotkeys.htm#AltGr"],
  ["AltTab","Hotkeys.htm#alttab"],
  ["AlwaysOnTop (WinSet)","commands/WinSet.htm"],
  ["append to file","commands/FileAppend.htm"],
  ["Array()","Objects.htm#Usage_Simple_Arrays",2],
  ["Arrays","misc/Arrays.htm"],
  ["Asc()","commands/Asc.htm",2],
  ["ASCII conversion","commands/Transform.htm"],
  ["ASin()","commands/Math.htm#ASin",2],
  ["assigning values to variables","Variables.htm#AssignOp"],
  ["ATan()","commands/Math.htm#ATan",2],
  ["attributes of files and folders","commands/FileGetAttrib.htm"],
  ["auto-execute section","Scripts.htm#auto"],
  ["auto-replace text as you type it","Hotstrings.htm"],
  ["AutoIt v2 compatibility","misc/AutoIt2Compat.htm"],
  ["AutoTrim","commands/AutoTrim.htm",6],
  ["balloon tip","commands/TrayTip.htm"],
  ["base (Objects)","Objects.htm#Custom_Objects"],
  ["beep the PC speaker","commands/SoundBeep.htm"],
  ["between (check if var between two values)","commands/IfBetween.htm"],
  ["Bind method (Func object)","objects/Func.htm#Bind"],
  ["bitwise operations","Variables.htm#bitwise"],
  ["blind-mode Send","commands/Send.htm#blind"],
  ["BlockInput","commands/BlockInput.htm",6],
  ["blocks (lines enclosed in braces)","commands/Block.htm"],
  ["BoundFunc object","objects/Functor.htm#BoundFunc"],
  ["Break","commands/Break.htm",3],
  ["buffering","commands/_MaxThreadsBuffer.htm"],
  ["built-in functions","Functions.htm#BuiltIn"],
  ["built-in variables","Variables.htm#BuiltIn"],
  ["Button controls (GUI)","commands/GuiControls.htm#Button"],
  ["button list (mouse and joystick)","KeyList.htm"],
  ["button state","commands/GetKeyState.htm"],
  ["ByRef","Functions.htm#ByRef"],
  ["Call method (Func object)","objects/Func.htm#Call"],
  ["callbacks","commands/RegisterCallback.htm"],
  ["case sensitive strings","commands/StringCaseSense.htm"],
  ["Catch","commands/Catch.htm",3],
  ["Ceil()","commands/Math.htm#Ceil",2],
  ["Changelog","AHKL_ChangeLog.htm"],
  ["Checkbox controls (GUI)","commands/GuiControls.htm#Checkbox"],
  ["choose file","commands/FileSelectFile.htm"],
  ["choose folder","commands/FileSelectFolder.htm"],
  ["Chr()","commands/Chr.htm",2],
  ["class (Objects)","Objects.htm#Custom_Classes"],
  ["class name of a window","commands/WinGetClass.htm"],
  ["Click","commands/Click.htm",6],
  ["Click a mouse button","commands/Click.htm"],
  ["Clipboard","misc/Clipboard.htm",1],
  ["ClipboardAll","misc/Clipboard.htm#ClipboardAll",1],
  ["ClipWait","commands/ClipWait.htm",6],
  ["Clone method (Object)","objects/Object.htm#Clone"],
  ["close a window","commands/WinClose.htm"],
  ["CLSID List (My Computer, etc.)","misc/CLSID-List.htm"],
  ["color names, RGB/HTML","commands/Progress.htm#colors"],
  ["color of pixels","commands/PixelSearch.htm"],
  ["COM","commands/ComObjCreate.htm"],
  ["ComboBox controls (GUI)","commands/GuiControls.htm#ComboBox"],
  ["comma operator (multi-statement)","Variables.htm#comma"],
  ["command line parameters","Scripts.htm#cmd"],
  ["commands, alphabetical list","commands/index.htm"],
  ["CommentFlag","commands/_CommentFlag.htm"],
  ["comments in scripts","Language.htm#comments"],
  ["ComObject()","commands/ComObjActive.htm",2],
  ["ComObjActive()","commands/ComObjActive.htm",2],
  ["ComObjArray()","commands/ComObjArray.htm",2],
  ["ComObjConnect()","commands/ComObjConnect.htm",2],
  ["ComObjCreate()","commands/ComObjCreate.htm",2],
  ["ComObjError()","commands/ComObjError.htm",2],
  ["ComObjFlags()","commands/ComObjFlags.htm",2],
  ["ComObjGet()","commands/ComObjGet.htm",2],
  ["ComObjQuery()","commands/ComObjQuery.htm",2],
  ["ComObjType()","commands/ComObjType.htm",2],
  ["ComObjValue()","commands/ComObjValue.htm",2],
  ["Compatibility","Compat.htm"],
  ["compile a script","Scripts.htm#ahk2exe"],
  ["ComSpec","Variables.htm#ComSpec",1],
  ["concatenate, in expressions","Variables.htm#concat"],
  ["concatenate, script lines","Scripts.htm#continuation"],
  ["concepts and conventions","Concepts.htm"],
  ["context menu (GUI)","commands/Gui.htm#GuiContextMenu"],
  ["continuation sections","Scripts.htm#continuation"],
  ["Continue","commands/Continue.htm",3],
  ["Control","commands/Control.htm",6],
  ["control flow","Language.htm#control-flow"],
  ["ControlClick","commands/ControlClick.htm",6],
  ["ControlFocus","commands/ControlFocus.htm",6],
  ["ControlGet","commands/ControlGet.htm",6],
  ["ControlGetFocus","commands/ControlGetFocus.htm",6],
  ["ControlGetPos","commands/ControlGetPos.htm",6],
  ["ControlGetText","commands/ControlGetText.htm",6],
  ["ControlMove","commands/ControlMove.htm",6],
  ["ControlSend","commands/ControlSend.htm",6],
  ["ControlSendRaw","commands/ControlSend.htm",6],
  ["ControlSetText","commands/ControlSetText.htm",6],
  ["convert a script to an EXE","Scripts.htm#ahk2exe"],
  ["coordinates","commands/CoordMode.htm"],
  ["CoordMode","commands/CoordMode.htm",6],
  ["copy file","commands/FileCopy.htm"],
  ["copy folder/directory","commands/FileCopyDir.htm"],
  ["Cos()","commands/Math.htm#Cos",2],
  ["create file","commands/FileAppend.htm"],
  ["create folder/directory","commands/FileCreateDir.htm"],
  ["Critical","commands/Critical.htm",6],
  ["current directory","commands/SetWorkingDir.htm"],
  ["current thread","misc/Threads.htm"],
  ["cursor shape","Variables.htm#Cursor"],
  ["custom combination hotkeys","Hotkeys.htm#combo"],
  ["Custom controls (GUI)","commands/GuiControls.htm#Custom"],
  ["dates and times (compare)","commands/EnvSub.htm"],
  ["dates and times (math)","commands/EnvAdd.htm"],
  ["dates and times (of files)","commands/FileSetTime.htm"],
  ["DateTime controls (GUI)","commands/GuiControls.htm#DateTime"],
  ["debugger","commands/OutputDebug.htm"],
  ["debugging a script","Scripts.htm#debug"],
  ["decimal places","commands/SetFormat.htm"],
  ["delete files","commands/FileDelete.htm"],
  ["delete folder/directory","commands/FileRemoveDir.htm"],
  ["Delete method (Object)","objects/Object.htm#Delete"],
  ["Delimiter","commands/_EscapeChar.htm"],
  ["DerefChar","commands/_EscapeChar.htm"],
  ["DetectHiddenText","commands/DetectHiddenText.htm",6],
  ["DetectHiddenWindows","commands/DetectHiddenWindows.htm",6],
  ["dialog FileSelectFile","commands/FileSelectFile.htm"],
  ["dialog FileSelectFolder","commands/FileSelectFolder.htm"],
  ["dialog InputBox","commands/InputBox.htm"],
  ["dialog MsgBox","commands/MsgBox.htm"],
  ["digit","commands/IfIs.htm"],
  ["disk space","commands/DriveSpaceFree.htm"],
  ["divide (math)","Variables.htm#divide"],
  ["DllCall()","commands/DllCall.htm",2],
  ["download a file","commands/URLDownloadToFile.htm"],
  ["DPI scaling","commands/Gui.htm#DPIScale"],
  ["drag and drop (GUI windows)","commands/Gui.htm#GuiDropFiles"],
  ["drag the mouse","commands/MouseClickDrag.htm"],
  ["Drive","commands/Drive.htm",6],
  ["DriveGet","commands/DriveGet.htm",6],
  ["DriveSpaceFree","commands/DriveSpaceFree.htm",6],
  ["DropDownList controls (GUI)","commands/GuiControls.htm#DropDownList"],
  ["Dynamic function calls","Functions.htm#DynCall"],
  ["Edit","commands/Edit.htm",6],
  ["Edit controls (GUI)","commands/GuiControls.htm#Edit"],
  ["Else","commands/Else.htm",3],
  ["Enumerator object","objects/Enumerator.htm"],
  ["EnvAdd","commands/EnvAdd.htm",6],
  ["EnvDiv","commands/EnvDiv.htm",6],
  ["EnvGet","commands/EnvGet.htm",6],
  ["environment variables","Concepts.htm#environment-variables"],
  ["environment variables (change them)","commands/EnvSet.htm"],
  ["EnvMult","commands/EnvMult.htm",6],
  ["EnvSet","commands/EnvSet.htm",6],
  ["EnvSub","commands/EnvSub.htm",6],
  ["EnvUpdate","commands/EnvUpdate.htm",6],
  ["ErrorLevel","misc/ErrorLevel.htm",1],
  ["ErrorStdOut","commands/_ErrorStdOut.htm"],
  ["escape sequence","commands/_EscapeChar.htm"],
  ["EscapeChar","commands/_EscapeChar.htm"],
  ["Exception()","commands/Throw.htm#Exception",2],
  ["Exit","commands/Exit.htm",6],
  ["ExitApp","commands/ExitApp.htm",6],
  ["Exp()","commands/Math.htm#Exp",2],
  ["expressions","Variables.htm#Expressions"],
  ["ExtractInteger -> NumGet()","commands/NumGet.htm"],
  ["False","Variables.htm#Boolean",1],
  ["FAQ (Frequently Asked Questions)","FAQ.htm"],
  ["file attributes","commands/FileSetAttrib.htm"],
  ["File object","objects/File.htm"],
  ["file or folder (does it exist)","commands/IfExist.htm"],
  ["file pattern","commands/LoopFile.htm"],
  ["file, creating","commands/FileAppend.htm"],
  ["file, reading","commands/LoopReadFile.htm"],
  ["file, writing/appending","commands/FileAppend.htm"],
  ["FileAppend","commands/FileAppend.htm",6],
  ["FileCopy","commands/FileCopy.htm",6],
  ["FileCopyDir","commands/FileCopyDir.htm",6],
  ["FileCreateDir","commands/FileCreateDir.htm",6],
  ["FileCreateShortcut","commands/FileCreateShortcut.htm",6],
  ["FileDelete","commands/FileDelete.htm",6],
  ["FileEncoding","commands/FileEncoding.htm",6],
  ["FileExist()","commands/FileExist.htm",2],
  ["FileGetAttrib","commands/FileGetAttrib.htm",6],
  ["FileGetShortcut","commands/FileGetShortcut.htm",6],
  ["FileGetSize","commands/FileGetSize.htm",6],
  ["FileGetTime","commands/FileGetTime.htm",6],
  ["FileGetVersion","commands/FileGetVersion.htm",6],
  ["FileInstall","commands/FileInstall.htm",6],
  ["FileMove","commands/FileMove.htm",6],
  ["FileMoveDir","commands/FileMoveDir.htm",6],
  ["FileOpen()","commands/FileOpen.htm",2],
  ["FileRead","commands/FileRead.htm",6],
  ["FileReadLine","commands/FileReadLine.htm",6],
  ["FileRecycle","commands/FileRecycle.htm",6],
  ["FileRecycleEmpty","commands/FileRecycleEmpty.htm",6],
  ["FileRemoveDir","commands/FileRemoveDir.htm",6],
  ["FileSelectFile","commands/FileSelectFile.htm",6],
  ["FileSelectFolder","commands/FileSelectFolder.htm",6],
  ["FileSetAttrib","commands/FileSetAttrib.htm",6],
  ["FileSetTime","commands/FileSetTime.htm",6],
  ["Finally","commands/Finally.htm",3],
  ["find a file","commands/IfExist.htm"],
  ["find a string","commands/StringGetPos.htm"],
  ["find a window","commands/WinExist.htm"],
  ["floating point (check if it is one)","commands/IfIs.htm"],
  ["floating point (SetFormat)","commands/SetFormat.htm"],
  ["Floor()","commands/Math.htm#Floor",2],
  ["focus","commands/ControlFocus.htm"],
  ["folder/directory copy","commands/FileCopyDir.htm"],
  ["folder/directory create","commands/FileCreateDir.htm"],
  ["folder/directory move","commands/FileMoveDir.htm"],
  ["folder/directory remove","commands/FileRemoveDir.htm"],
  ["folder/directory select","commands/FileSelectFolder.htm"],
  ["Fonts","misc/FontsStandard.htm"],
  ["For","commands/For.htm",3],
  ["Format()","commands/Format.htm",2],
  ["format (defaults)","commands/SetFormat.htm"],
  ["FormatTime","commands/FormatTime.htm",6],
  ["free space","commands/DriveSpaceFree.htm"],
  ["FTP uploading example","commands/FileAppend.htm#FTP"],
  ["functions (defining and calling)","Functions.htm"],
  ["functions (libraries)","Functions.htm#lib"],
  ["function objects","objects/Functor.htm"],
  ["Func object","objects/Func.htm"],
  ["Func()","commands/Func.htm",2],
  ["g-label (responding to GUI events)","commands/Gui.htm#label"],
  ["game automation","commands/PixelSearch.htm"],
  ["GetAddress method (Object)","objects/Object.htm#GetAddress"],
  ["GetCapacity method (Object)","objects/Object.htm#GetCapacity"],
  ["GetKeyName()","commands/GetKey.htm",2],
  ["GetKeySC()","commands/GetKey.htm",2],
  ["GetKeyState","commands/GetKeyState.htm",6],
  ["GetKeyState()","commands/GetKeyState.htm",2],
  ["GetKeyVK()","commands/GetKey.htm",2],
  ["global","Functions.htm#Global",5],
  ["global variables in functions","Functions.htm#Global"],
  ["Gosub","commands/Gosub.htm",3],
  ["Goto","commands/Goto.htm",3],
  ["GroupActivate","commands/GroupActivate.htm",6],
  ["GroupAdd","commands/GroupAdd.htm",6],
  ["GroupBox controls (GUI)","commands/GuiControls.htm#GroupBox"],
  ["GroupClose","commands/GroupClose.htm",6],
  ["GroupDeactivate","commands/GroupDeactivate.htm",6],
  ["Gui","commands/Gui.htm",6],
  ["Gui control types","commands/GuiControls.htm"],
  ["Gui styles reference","misc/Styles.htm"],
  ["GuiClose (label)","commands/Gui.htm#GuiClose"],
  ["GuiContextMenu (label)","commands/Gui.htm#GuiContextMenu"],
  ["GuiControl","commands/GuiControl.htm",6],
  ["GuiControlGet","commands/GuiControlGet.htm",6],
  ["GuiDropFiles (label)","commands/Gui.htm#GuiDropFiles"],
  ["GuiEscape (label)","commands/Gui.htm#GuiEscape"],
  ["GuiSize (label)","commands/Gui.htm#GuiSize"],
  ["HasKey method (Object)","objects/Object.htm#HasKey"],
  ["HBITMAP:","misc/ImageHandles.htm"],
  ["hexadecimal format","commands/SetFormat.htm"],
  ["hibernate or suspend","commands/Shutdown.htm#Suspend"],
  ["HICON:","misc/ImageHandles.htm"],
  ["hidden text","commands/DetectHiddenText.htm"],
  ["hidden windows","commands/DetectHiddenWindows.htm"],
  ["HKEY_CLASSES_ROOT (HKCR)","commands/RegRead.htm"],
  ["HKEY_CURRENT_CONFIG (HKCC)","commands/RegRead.htm"],
  ["HKEY_CURRENT_USER (HKCU)","commands/RegRead.htm"],
  ["HKEY_LOCAL_MACHINE (HKLM)","commands/RegRead.htm"],
  ["HKEY_USERS (HKU)","commands/RegRead.htm"],
  ["hook","commands/_InstallKeybdHook.htm"],
  ["Hotkeys (general information)","Hotkeys.htm"],
  ["Hotkey","commands/Hotkey.htm",6],
  ["Hotkey controls (GUI)","commands/GuiControls.htm#Hotkey"],
  ["Hotkey, ListHotkeys","commands/ListHotkeys.htm"],
  ["Hotkey, other features","HotkeyFeatures.htm"],
  ["HotkeyInterval","commands/_HotkeyInterval.htm"],
  ["HotkeyModifierTimeout","commands/_HotkeyModifierTimeout.htm"],
  ["Hotstring()","commands/Hotstring.htm",2],
  ["hotstrings and auto-replace","Hotstrings.htm"],
  ["HTML color names","commands/Progress.htm#colors"],
  ["HWND (of a control)","commands/ControlGet.htm#Hwnd"],
  ["HWND (of a window)","misc/WinTitle.htm#ahk_id"],
  ["icon, changing","commands/Menu.htm#Icon"],
  ["ID number for a window","commands/WinGet.htm"],
  ["If","commands/IfEqual.htm",3],
  ["If (expression)","commands/IfExpression.htm"],
  ["If var [not] between Low and High","commands/IfBetween.htm"],
  ["If var [not] in/contains MatchList","commands/IfIn.htm"],
  ["If var is [not] type","commands/IfIs.htm"],
  ["IfEqual","commands/IfEqual.htm",3],
  ["IfExist","commands/IfExist.htm",3],
  ["IfGreater","commands/IfEqual.htm",3],
  ["IfGreaterOrEqual","commands/IfEqual.htm",3],
  ["IfInString","commands/IfInString.htm",3],
  ["IfLess","commands/IfEqual.htm",3],
  ["IfLessOrEqual","commands/IfEqual.htm",3],
  ["IfMsgBox","commands/IfMsgBox.htm",3],
  ["IfNotEqual","commands/IfEqual.htm",3],
  ["IfNotExist","commands/IfExist.htm",3],
  ["IfNotInString","commands/IfInString.htm",3],
  ["IfWinActive","commands/WinActive.htm",3],
  ["IfWinExist","commands/WinExist.htm",3],
  ["IfWinNotActive","commands/WinActive.htm",3],
  ["IfWinNotExist","commands/WinExist.htm",3],
  ["IL_Add()","commands/ListView.htm#IL_Add",2],
  ["IL_Create()","commands/ListView.htm#IL_Create",2],
  ["IL_Destroy()","commands/ListView.htm#IL_Destroy",2],
  ["Image Lists (GUI)","commands/ListView.htm#IL"],
  ["ImageSearch","commands/ImageSearch.htm",6],
  ["Include","commands/_Include.htm"],
  ["infrared remote controls","scripts/WinLIRC.htm"],
  ["IniDelete","commands/IniDelete.htm",6],
  ["IniRead","commands/IniRead.htm",6],
  ["IniWrite","commands/IniWrite.htm",6],
  ["Input","commands/Input.htm",6],
  ["InputBox","commands/InputBox.htm",6],
  ["Insert method (Object)","objects/Object.htm#Insert"],
  ["InsertAt method (Object)","objects/Object.htm#InsertAt"],
  ["InsertInteger -> NumPut()","commands/NumPut.htm"],
  ["Install","commands/FileInstall.htm"],
  ["installer options","Program.htm#install"],
  ["InstallKeybdHook","commands/_InstallKeybdHook.htm"],
  ["InstallMouseHook","commands/_InstallMouseHook.htm"],
  ["InStr()","commands/InStr.htm",2],
  ["integer (check if it is one)","commands/IfIs.htm"],
  ["integer (SetFormat)","commands/SetFormat.htm"],
  ["Interrupt","commands/Thread.htm"],
  ["IsByRef()","commands/IsByRef.htm",2],
  ["IsFunc()","commands/IsFunc.htm",2],
  ["IsLabel()","commands/IsLabel.htm",2],
  ["IsObject()","commands/IsObject.htm",2],
  ["Join (continuation sections)","Scripts.htm#Join"],
  ["Joystick","KeyList.htm#Joystick"],
  ["JScript, embedded/inline","commands/DllCall.htm#COM"],
  ["key list (keyboard, mouse, joystick)","KeyList.htm"],
  ["key state","commands/GetKeyState.htm"],
  ["keyboard hook","commands/_InstallKeybdHook.htm"],
  ["KeyHistory","commands/KeyHistory.htm",6],
  ["keystrokes, sending","commands/Send.htm"],
  ["KeyWait","commands/KeyWait.htm",6],
  ["labels","misc/Labels.htm"],
  ["language overview","Language.htm"],
  ["last found window","misc/WinTitle.htm#LastFoundWindow"],
  ["length of a string","commands/StringLen.htm"],
  ["Length method (Object)","objects/Object.htm#Length"],
  ["Length method (File object)","objects/File.htm#Length"],
  ["libraries of functions","Functions.htm#lib"],
  ["license","license.htm"],
  ["line continuation","Scripts.htm#continuation"],
  ["Link controls (GUI)","commands/GuiControls.htm#Link"],
  ["ListBox controls (GUI)","commands/GuiControls.htm#ListBox"],
  ["ListHotkeys","commands/ListHotkeys.htm",6],
  ["ListLines","commands/ListLines.htm",6],
  ["ListVars","commands/ListVars.htm",6],
  ["ListView controls (GUI)","commands/ListView.htm"],
  ["ListView, getting text from","commands/ControlGet.htm#List"],
  ["Ln()","commands/Math.htm#Ln",2],
  ["lnk (link/shortcut) file","commands/FileCreateShortcut.htm"],
  ["LoadPicture()","commands/LoadPicture.htm",2],
  ["local","Functions.htm#Local",5],
  ["local variables","Functions.htm#Local"],
  ["Locale","commands/StringCaseSense.htm#Locale"],
  ["Log()","commands/Math.htm#Log",2],
  ["logarithm, log()","commands/Math.htm#Log"],
  ["logoff","commands/Shutdown.htm"],
  ["long file name (converting to)","commands/LoopFile.htm#LoopFileLongPath"],
  ["Loop","commands/Loop.htm",3],
  ["Loop (until)","commands/Until.htm"],
  ["Loop (while)","commands/While.htm"],
  ["Loop, Reg (registry)","commands/LoopReg.htm"],
  ["Loop, Files and folders","commands/LoopFile.htm"],
  ["Loop, Parse a string","commands/LoopParse.htm"],
  ["Loop, Read file contents","commands/LoopReadFile.htm"],
  ["lParam","commands/PostMessage.htm"],
  ["LTrim (continuation sections)","Scripts.htm#LTrim"],
  ["LTrim()","commands/Trim.htm",2],
  ["LV_Add()","commands/ListView.htm#LV_Add",2],
  ["LV_Delete()","commands/ListView.htm#LV_Delete",2],
  ["LV_DeleteCol()","commands/ListView.htm#LV_DeleteCol",2],
  ["LV_GetCount()","commands/ListView.htm#LV_GetCount",2],
  ["LV_GetNext()","commands/ListView.htm#LV_GetNext",2],
  ["LV_GetText()","commands/ListView.htm#LV_GetText",2],
  ["LV_Insert()","commands/ListView.htm#LV_Insert",2],
  ["LV_InsertCol()","commands/ListView.htm#LV_InsertCol",2],
  ["LV_Modify()","commands/ListView.htm#LV_Modify",2],
  ["LV_ModifyCol()","commands/ListView.htm#LV_ModifyCol",2],
  ["LV_SetImageList()","commands/ListView.htm#LV_SetImageList",2],
  ["macro","misc/Macros.htm"],
  ["main window","Program.htm#main-window"],
  ["math functions","commands/Math.htm"],
  ["math operations (expressions)","Variables.htm#Expressions"],
  ["Max()","commands/Math.htm#Max",2],
  ["MaxHotkeysPerInterval","commands/_MaxHotkeysPerInterval.htm"],
  ["MaxIndex method (Object)","objects/Object.htm#MinMaxIndex"],
  ["MaxThreads","commands/_MaxThreads.htm"],
  ["MaxThreadsBuffer","commands/_MaxThreadsBuffer.htm"],
  ["MaxThreadsPerHotkey","commands/_MaxThreadsPerHotkey.htm"],
  ["Menu","commands/Menu.htm",6],
  ["MenuGetHandle()","commands/MenuGetHandle.htm",2],
  ["MenuGetName()","commands/MenuGetName.htm",2],
  ["Menu Bar (GUI)","commands/Gui.htm#Menu"],
  ["Menu Icon","commands/Menu.htm#MenuIcon"],
  ["message list (WM_*)","misc/SendMessageList.htm"],
  ["messages, receiving","commands/OnMessage.htm"],
  ["messages, sending","commands/PostMessage.htm"],
  ["meta-functions (Objects)","Objects.htm#Meta_Functions"],
  ["Min()","commands/Math.htm#Min",2],
  ["MinIndex method (Object)","objects/Object.htm#MinMaxIndex"],
  ["Mod()","commands/Math.htm#Mod",2],
  ["modal (always on top)","commands/MsgBox.htm"],
  ["modulo, mod()","commands/Math.htm#Mod"],
  ["MonthCal controls (GUI)","commands/GuiControls.htm#MonthCal"],
  ["mouse hook","commands/_InstallMouseHook.htm"],
  ["mouse speed","commands/SetDefaultMouseSpeed.htm"],
  ["mouse wheel","commands/Click.htm"],
  ["MouseClick","commands/MouseClick.htm",6],
  ["MouseClickDrag","commands/MouseClickDrag.htm",6],
  ["MouseGetPos","commands/MouseGetPos.htm",6],
  ["MouseMove","commands/MouseMove.htm",6],
  ["move a window","commands/WinMove.htm"],
  ["move file","commands/FileMove.htm"],
  ["move folder/directory","commands/FileMoveDir.htm"],
  ["MsgBox","commands/MsgBox.htm",6],
  ["multiply","commands/EnvMult.htm"],
  ["mute (changing it)","commands/SoundSet.htm"],
  ["NewEnum method (Object)","objects/Object.htm#NewEnum"],
  ["NoTimers","commands/Thread.htm"],
  ["NoTrayIcon","commands/_NoTrayIcon.htm"],
  ["number","commands/IfIs.htm"],
  ["number format","commands/SetFormat.htm"],
  ["NumGet()","commands/NumGet.htm",2],
  ["NumPut()","commands/NumPut.htm",2],
  ["Objects (general information)","Objects.htm"],
  ["Object functions and methods","objects/Object.htm"],
  ["Object()","Objects.htm#Usage_Associative_Arrays",2],
  ["ObjAddRef()","commands/ObjAddRef.htm",2],
  ["ObjBindMethod()","commands/ObjBindMethod.htm",2],
  ["ObjClone()","objects/Object.htm#Clone",2],
  ["ObjDelete()","objects/Object.htm#Delete",2],
  ["ObjGetAddress()","objects/Object.htm#GetAddress",2],
  ["ObjGetCapacity()","objects/Object.htm#GetCapacity",2],
  ["ObjHasKey()","objects/Object.htm#HasKey",2],
  ["ObjInsert()","objects/Object.htm#Insert",2],
  ["ObjInsertAt()","objects/Object.htm#InsertAt",2],
  ["ObjLength()","objects/Object.htm#Length",2],
  ["ObjMaxIndex()","objects/Object.htm#MinMaxIndex",2],
  ["ObjMinIndex()","objects/Object.htm#MinMaxIndex",2],
  ["ObjNewEnum()","objects/Object.htm#NewEnum",2],
  ["ObjPop()","objects/Object.htm#Pop",2],
  ["ObjPush()","objects/Object.htm#Push",2],
  ["ObjRawSet()","objects/Object.htm#RawSet",2],
  ["ObjRelease()","commands/ObjAddRef.htm",2],
  ["ObjRemove()","objects/Object.htm#Remove",2],
  ["ObjRemoveAt()","objects/Object.htm#RemoveAt",2],
  ["ObjSetCapacity()","objects/Object.htm#SetCapacity",2],
  ["OnClipboardChange:","commands/OnClipboardChange.htm"],
  ["OnClipboardChange()","commands/OnClipboardChange.htm",2],
  ["OnExit","commands/OnExit.htm",6],
  ["OnExit()","commands/OnExit.htm",2],
  ["OnMessage()","commands/OnMessage.htm",2],
  ["open file","commands/FileOpen.htm"],
  ["operators in expressions","Variables.htm#Operators"],
  ["Ord()","commands/Ord.htm",2],
  ["OutputDebug","commands/OutputDebug.htm",6],
  ["OwnDialogs (GUI)","commands/Gui.htm#OwnDialogs"],
  ["Owner of a GUI window","commands/Gui.htm#Owner"],
  ["parameters passed into a script","Scripts.htm#cmd"],
  ["parse a string (Loop)","commands/LoopParse.htm"],
  ["parse a string (StringSplit)","commands/StringSplit.htm"],
  ["Pause","commands/Pause.htm",6],
  ["performance of scripts","misc/Performance.htm"],
  ["Picture controls (GUI)","commands/GuiControls.htm#Picture"],
  ["PID (Process ID)","commands/Process.htm"],
  ["PixelGetColor","commands/PixelGetColor.htm",6],
  ["PixelSearch","commands/PixelSearch.htm",6],
  ["play a sound or video file","commands/SoundPlay.htm"],
  ["Pop method (Object)","objects/Object.htm#Pop"],
  ["PostMessage","commands/PostMessage.htm",6],
  ["power (exponentiation)","Variables.htm#pow"],
  ["prefix and suffix keys","Hotkeys.htm"],
  ["print a file","commands/Run.htm"],
  ["priority of a process","commands/Process.htm"],
  ["priority of a thread","commands/Thread.htm"],
  ["Process","commands/Process.htm",6],
  ["ProgramFiles","Variables.htm#ProgramFiles",1],
  ["Progress","commands/Progress.htm",6],
  ["Progress controls (GUI)","commands/GuiControls.htm#Progress"],
  ["properties (Objects)","Objects.htm#Custom_Classes_property"],
  ["properties of a file or folder","commands/Run.htm"],
  ["Push method (Object)","objects/Object.htm#Push"],
  ["quit script","commands/ExitApp.htm"],
  ["Radio controls (GUI)","commands/GuiControls.htm#Radio"],
  ["Random","commands/Random.htm",6],
  ["RawRead method (File object)","objects/File.htm#RawRead"],
  ["RawWrite method (File object)","objects/File.htm#RawWrite"],
  ["read file","commands/FileRead.htm"],
  ["Read method (File object)","objects/File.htm#Read"],
  ["READONLY","commands/FileGetAttrib.htm"],
  ["reboot","commands/Shutdown.htm"],
  ["Reference-Counting","Objects.htm#Refs"],
  ["REG_BINARY","commands/RegRead.htm"],
  ["REG_DWORD","commands/RegRead.htm"],
  ["REG_EXPAND_SZ","commands/RegRead.htm"],
  ["REG_MULTI_SZ","commands/RegRead.htm"],
  ["REG_SZ","commands/RegRead.htm"],
  ["RegDelete","commands/RegDelete.htm",6],
  ["RegEx: Quick Reference","misc/RegEx-QuickRef.htm"],
  ["RegEx: Callouts","misc/RegExCallout.htm"],
  ["RegEx: SetTitleMatchMode RegEx","commands/SetTitleMatchMode.htm#RegEx"],
  ["RegExMatch()","commands/RegExMatch.htm",2],
  ["RegExReplace()","commands/RegExReplace.htm",2],
  ["RegisterCallback()","commands/RegisterCallback.htm",2],
  ["registry loop","commands/LoopReg.htm"],
  ["RegRead","commands/RegRead.htm",6],
  ["Regular Expression Callouts","misc/RegExCallout.htm"],
  ["regular expressions: Quick Reference","misc/RegEx-QuickRef.htm"],
  ["regular expressions: RegExMatch()","commands/RegExMatch.htm"],
  ["regular expressions: RegExReplace()","commands/RegExReplace.htm"],
  ["regular expressions: SetTitleMatchMode RegEx","commands/SetTitleMatchMode.htm#RegEx"],
  ["RegWrite","commands/RegWrite.htm",6],
  ["Reload","commands/Reload.htm",6],
  ["remap joystick","misc/RemapJoystick.htm"],
  ["remap keys or mouse buttons","misc/Remap.htm"],
  ["remote controls, hand-held","scripts/WinLIRC.htm"],
  ["remove folder/directory","commands/FileRemoveDir.htm"],
  ["Remove method (Object)","objects/Object.htm#Remove"],
  ["RemoveAt method (Object)","objects/Object.htm#RemoveAt"],
  ["rename file","commands/FileMove.htm"],
  ["resize a window","commands/WinMove.htm"],
  ["restart the computer","commands/Shutdown.htm"],
  ["Return","commands/Return.htm",3],
  ["RGB color names","commands/Progress.htm#colors"],
  ["RGB colors","commands/PixelGetColor.htm"],
  ["Round()","commands/Math.htm#Round",2],
  ["rounding a number","commands/Math.htm#Round"],
  ["RTrim()","commands/Trim.htm",2],
  ["Run","commands/Run.htm",6],
  ["RunAs","commands/RunAs.htm",6],
  ["RunWait","commands/Run.htm",6],
  ["SB_SetIcon()","commands/GuiControls.htm#SB_SetIcon",2],
  ["SB_SetParts()","commands/GuiControls.htm#SB_SetParts",2],
  ["SB_SetText()","commands/GuiControls.htm#SB_SetText",2],
  ["scan code","commands/Send.htm#vk"],
  ["scientific notation","commands/SetFormat.htm#sci"],
  ["Script Showcase","scripts/index.htm"],
  ["Scripts","Scripts.htm"],
  ["select file","commands/FileSelectFile.htm"],
  ["select folder","commands/FileSelectFolder.htm"],
  ["Send","commands/Send.htm",6],
  ["SendEvent","commands/Send.htm#SendEvent",6],
  ["sending data between scripts","commands/OnMessage.htm#SendString"],
  ["SendInput","commands/Send.htm#SendInputDetail",6],
  ["SendLevel","commands/SendLevel.htm",6],
  ["SendMessage","commands/PostMessage.htm",6],
  ["SendMode","commands/SendMode.htm",6],
  ["SendPlay","commands/Send.htm#SendPlayDetail",6],
  ["SendRaw","commands/Send.htm",6],
  ["SetBatchLines","commands/SetBatchLines.htm",6],
  ["SetCapacity method (Object)","objects/Object.htm#SetCapacity"],
  ["SetCapsLockState","commands/SetNumScrollCapsLockState.htm",6],
  ["SetControlDelay","commands/SetControlDelay.htm",6],
  ["SetDefaultMouseSpeed","commands/SetDefaultMouseSpeed.htm",6],
  ["SetEnv","commands/SetEnv.htm",6],
  ["SetFormat","commands/SetFormat.htm",6],
  ["SetKeyDelay","commands/SetKeyDelay.htm",6],
  ["SetMouseDelay","commands/SetMouseDelay.htm",6],
  ["SetNumLockState","commands/SetNumScrollCapsLockState.htm",6],
  ["SetRegView","commands/SetRegView.htm",6],
  ["SetScrollLockState","commands/SetNumScrollCapsLockState.htm",6],
  ["SetStoreCapsLockMode","commands/SetStoreCapslockMode.htm",6],
  ["SetTimer","commands/SetTimer.htm",6],
  ["SetTitleMatchMode","commands/SetTitleMatchMode.htm",6],
  ["SetWinDelay","commands/SetWinDelay.htm",6],
  ["SetWorkingDir","commands/SetWorkingDir.htm",6],
  ["short file name (8.3 format)","commands/LoopFile.htm#LoopFileShortPath"],
  ["short-circuit boolean evaluation","Functions.htm#ShortCircuit"],
  ["shortcut file","commands/FileCreateShortcut.htm"],
  ["Shutdown","commands/Shutdown.htm",6],
  ["Silent Install/Uninstall","Program.htm#install"],
  ["Sin()","commands/Math.htm#Sin",2],
  ["SingleInstance","commands/_SingleInstance.htm"],
  ["size of a file/folder","commands/FileGetSize.htm"],
  ["size of a window","commands/WinGetPos.htm"],
  ["Sleep","commands/Sleep.htm",6],
  ["Slider controls (GUI)","commands/GuiControls.htm#Slider"],
  ["Sort","commands/Sort.htm",6],
  ["SoundBeep","commands/SoundBeep.htm",6],
  ["SoundGet","commands/SoundGet.htm",6],
  ["SoundGetWaveVolume","commands/SoundGetWaveVolume.htm",6],
  ["SoundPlay","commands/SoundPlay.htm",6],
  ["SoundSet","commands/SoundSet.htm",6],
  ["SoundSetWaveVolume","commands/SoundSetWaveVolume.htm",6],
  ["space","commands/IfIs.htm"],
  ["speed of a script","commands/SetBatchLines.htm"],
  ["spinner control (GUI)","commands/GuiControls.htm#UpDown"],
  ["SplashImage","commands/Progress.htm",6],
  ["SplashTextOff","commands/SplashTextOn.htm",6],
  ["SplashTextOn","commands/SplashTextOn.htm",6],
  ["SplitPath","commands/SplitPath.htm",6],
  ["splitting long lines","Scripts.htm#continuation"],
  ["Sqrt()","commands/Math.htm#Sqrt",2],
  ["standard library","Functions.htm#lib"],
  ["standard output (stdout)","commands/FileAppend.htm"],
  ["static","Functions.htm#static",5],
  ["static variables","Functions.htm#static"],
  ["StatusBar controls (GUI)","commands/GuiControls.htm#StatusBar"],
  ["StatusBarGetText","commands/StatusBarGetText.htm",6],
  ["StatusBarWait","commands/StatusBarWait.htm",6],
  ["StrGet()","commands/StrPutGet.htm",2],
  ["string (search for)","commands/InStr.htm"],
  ["string: InStr()","commands/InStr.htm"],
  ["string: SubStr()","commands/SubStr.htm"],
  ["StringCaseSense","commands/StringCaseSense.htm",6],
  ["StringGetPos","commands/StringGetPos.htm",6],
  ["StringLeft","commands/StringLeft.htm",6],
  ["StringLen","commands/StringLen.htm",6],
  ["StringLower","commands/StringLower.htm",6],
  ["StringMid","commands/StringMid.htm",6],
  ["StringReplace","commands/StringReplace.htm",6],
  ["StringRight","commands/StringLeft.htm",6],
  ["StringSplit","commands/StringSplit.htm",6],
  ["StringTrimLeft","commands/StringTrimLeft.htm",6],
  ["StringTrimRight","commands/StringTrimLeft.htm",6],
  ["StringUpper","commands/StringLower.htm",6],
  ["StrLen()","commands/StringLen.htm",2],
  ["StrPut()","commands/StrPutGet.htm",2],
  ["StrReplace()","commands/StringReplace.htm",2],
  ["StrSplit()","commands/StringSplit.htm",2],
  ["structures, via DllCall","commands/DllCall.htm#struct"],
  ["styles for GUI command","misc/Styles.htm"],
  ["SubStr()","commands/SubStr.htm",2],
  ["subtract","commands/EnvSub.htm"],
  ["Super-global variables","Functions.htm#SuperGlobal"],
  ["Suspend","commands/Suspend.htm",6],
  ["suspend or hibernate","commands/Shutdown.htm#Suspend"],
  ["SysGet","commands/SysGet.htm",6],
  ["Tab controls (GUI)","commands/GuiControls.htm#Tab"],
  ["Tan()","commands/Math.htm#Tan",2],
  ["terminate a window","commands/WinKill.htm"],
  ["terminate script","commands/ExitApp.htm"],
  ["ternary operator (?:)","Variables.htm#ternary"],
  ["Text controls (GUI)","commands/GuiControls.htm#Text"],
  ["Thread","commands/Thread.htm",6],
  ["threads","misc/Threads.htm"],
  ["Throw","commands/Throw.htm",3],
  ["time","commands/IfIs.htm"],
  ["Timer (timed subroutines)","commands/SetTimer.htm"],
  ["times and dates (compare)","commands/EnvSub.htm"],
  ["times and dates (math)","commands/EnvAdd.htm"],
  ["times and dates (of files)","commands/FileSetTime.htm"],
  ["title of a window","commands/WinSetTitle.htm"],
  ["ToolTip","commands/ToolTip.htm",6],
  ["Transform","commands/Transform.htm",6],
  ["transparency of a window","commands/WinSet.htm#trans"],
  ["tray icon","Program.htm#tray-icon"],
  ["tray menu (customizing)","commands/Menu.htm"],
  ["TrayTip","commands/TrayTip.htm",6],
  ["TreeView controls (GUI)","commands/TreeView.htm"],
  ["Trim","commands/AutoTrim.htm"],
  ["Trim()","commands/Trim.htm",2],
  ["True","Variables.htm#Boolean",1],
  ["Try","commands/Try.htm",3],
  ["Tutorial","Tutorial.htm"],
  ["TV_Add()","commands/TreeView.htm#TV_Add",2],
  ["TV_Delete()","commands/TreeView.htm#TV_Delete",2],
  ["TV_Get()","commands/TreeView.htm#TV_Get",2],
  ["TV_GetChild()","commands/TreeView.htm#TV_GetChild",2],
  ["TV_GetCount()","commands/TreeView.htm#TV_GetCount",2],
  ["TV_GetNext()","commands/TreeView.htm#TV_GetNext",2],
  ["TV_GetParent()","commands/TreeView.htm#TV_GetParent",2],
  ["TV_GetPrev()","commands/TreeView.htm#TV_GetPrev",2],
  ["TV_GetSelection()","commands/TreeView.htm#TV_GetSelection",2],
  ["TV_GetText()","commands/TreeView.htm#TV_GetText",2],
  ["TV_Modify()","commands/TreeView.htm#TV_Modify",2],
  ["TV_SetImageList()","commands/TreeView.htm#TV_SetImageList",2],
  ["Unicode text and clipboard","commands/Transform.htm"],
  ["Until","commands/Until.htm",3],
  ["UpDown controls (GUI)","commands/GuiControls.htm#UpDown"],
  ["URLDownloadToFile","commands/URLDownloadToFile.htm",6],
  ["UseHook","commands/_UseHook.htm"],
  ["user (run as a different user)","commands/RunAs.htm"],
  ["user library","Functions.htm#lib"],
  ["variables","Variables.htm"],
  ["variables, assigning to","commands/SetEnv.htm"],
  ["variables, built-in","Variables.htm#BuiltIn"],
  ["variables, comparing them","commands/IfEqual.htm"],
  ["variables, ListVars","commands/ListVars.htm"],
  ["variables, type of data","commands/IfIs.htm"],
  ["variadic functions","Functions.htm#Variadic"],
  ["variants (duplicate hotkeys and hotstrings)","commands/_IfWinActive.htm#variant"],
  ["VarSetCapacity()","commands/VarSetCapacity.htm",2],
  ["version of a file","commands/FileGetVersion.htm"],
  ["virtual key","commands/Send.htm#vk"],
  ["volume (changing it)","commands/SoundSet.htm"],
  ["wait (sleep)","commands/Sleep.htm"],
  ["wait for a key to be released or pressed","commands/KeyWait.htm"],
  ["Wheel hotkeys for mouse","Hotkeys.htm#Wheel"],
  ["Wheel, simulating rotation","commands/Click.htm"],
  ["While","commands/While.htm",3],
  ["whitespace","commands/AutoTrim.htm"],
  ["wildcards (for files & folders)","commands/LoopFile.htm"],
  ["WinActivate","commands/WinActivate.htm",6],
  ["WinActivateBottom","commands/WinActivateBottom.htm",6],
  ["WinActivateForce","commands/_WinActivateForce.htm"],
  ["WinActive()","commands/WinActive.htm",2],
  ["Winamp automation","misc/Winamp.htm"],
  ["WinClose","commands/WinClose.htm",6],
  ["window group","misc/WinTitle.htm#ahk_group"],
  ["window messages","misc/SendMessageList.htm"],
  ["WinExist()","commands/WinExist.htm",2],
  ["WinGet","commands/WinGet.htm",6],
  ["WinGetActiveStats","commands/WinGetActiveStats.htm",6],
  ["WinGetActiveTitle","commands/WinGetActiveTitle.htm",6],
  ["WinGetClass","commands/WinGetClass.htm",6],
  ["WinGetPos","commands/WinGetPos.htm",6],
  ["WinGetText","commands/WinGetText.htm",6],
  ["WinGetTitle","commands/WinGetTitle.htm",6],
  ["WinHide","commands/WinHide.htm",6],
  ["WinKill","commands/WinKill.htm",6],
  ["WinLIRC, connecting to","scripts/WinLIRC.htm"],
  ["WinMaximize","commands/WinMaximize.htm",6],
  ["WinMenuSelectItem","commands/WinMenuSelectItem.htm",6],
  ["WinMinimize","commands/WinMinimize.htm",6],
  ["WinMinimizeAll","commands/WinMinimizeAll.htm",6],
  ["WinMinimizeAllUndo","commands/WinMinimizeAll.htm",6],
  ["WinMove","commands/WinMove.htm",6],
  ["WinRestore","commands/WinRestore.htm",6],
  ["WinSet","commands/WinSet.htm",6],
  ["WinSetTitle","commands/WinSetTitle.htm",6],
  ["WinShow","commands/WinShow.htm",6],
  ["WinSize (via WinMove)","commands/WinMove.htm"],
  ["WinTitle","misc/WinTitle.htm"],
  ["WinWait","commands/WinWait.htm",6],
  ["WinWaitActive","commands/WinWaitActive.htm",6],
  ["WinWaitClose","commands/WinWaitClose.htm",6],
  ["WinWaitNotActive","commands/WinWaitActive.htm",6],
  ["WM_* (Windows messages)","misc/SendMessageList.htm"],
  ["WM_COPYDATA","commands/OnMessage.htm#SendString"],
  ["working directory","commands/SetWorkingDir.htm"],
  ["wParam","commands/PostMessage.htm"],
  ["write file","commands/FileAppend.htm"],
  ["Write method (File object)","objects/File.htm#Write"],
  ["WS_* (GUI styles)","misc/Styles.htm"],
  ["XButton","commands/Click.htm"],
  ["YYYYMMDDHH24MISS","commands/FileSetTime.htm#YYYYMMDD"],
  ["{Blind}","commands/Send.htm#blind"]
];
I am at work right now but let's apply the hivemind of this forum to the problem and see if a real solution can be proposed

Re: [docs] BBCode no longer working

Post by tank » 11 Apr 2018, 07:50

There was never any PHP in these directories. All I know is that this broke after one of your updates. I actually don't know and never did know how the redirects worked. Lexikos is the only one that would have affected a change to .htaccess. I stay away from the docs directory. I know Lexikos has a push set up when GitHub is updated because I built the PHP and cron job for that. I think I always assumed there was some fancy JS interpreting going on where there are now error pages.I can post the specifics of the cron and PHP if you like but essentially it calls a bash file that executes git commands to update the docs when GitHub is updated.

Re: [docs] BBCode no longer working

Post by Ragnar » 11 Apr 2018, 03:23

More information would be helpful if we are supposed to help. What exactly is the problem? How exactly does this redirection work? .htaccess, PHP? Show us the part from this file that is responsible for this redirection. If necessary, you can also send me a PM if any "sensitive" data is contained.

Re: [docs] BBCode no longer working

Post by tank » 10 Apr 2018, 21:54

We are going to need ragnar to undo the changes to the docs that broke this. I can't fix this in the codeboxes

Re: [docs] BBCode no longer working

Post by derz00 » 10 Apr 2018, 16:22

guest3456 wrote: most are working now but some are not:

Code: Select all

;working
msgbox
winwait
run
loop
return

;not working
regexreplace()
if
#noenv
#singleinstance
varsetcapacity()
DllCall()
OnMessage()
it looks like the old redirects (such as http://www.autohotkey.com/docs/MsgBox ) are still failing. i guess the codeboxes no longer are using the redirects

[docs] tags still use the old redirects:
MsgBox
That's right. Redirects do not work as they used to--for example, https://autohotkey.com/docs/MsgBox would redirect to https://autohotkey.com/docs/commands/MsgBox.htm. Some links in the code boxes do not work because the links are incorrect. I.e. the link for if is https://autohotkey.com/docs/commands/If.htm but it should be https://autohotkey.com/docs/commands/IfEqual.htm. And a couple of the others are not working because they are missing the ".htm" extension... So it seems like something isn't configured correctly--are these links programmed to the keywords or are they automatically figured out?

Re: [docs] BBCode no longer working

Post by joedf » 30 Mar 2018, 13:08

Thanks for reporting this. We found this issue the same day as the looping issue. tank he will look into it when he finds the time.
Also, if you're reading this could pull the latest docs from the github repo. thanks :+1:

Re: [docs] BBCode no longer working

Post by gregster » 30 Mar 2018, 05:18

Unfortunately, many links in the code boxes are still broken, the same with the [docs] tags - for all commands that share their help page with another command. It used to forward the link to the correct one. Examples:

Code: Select all

Clipboard		; shares help page with ClipboardAll
Run				; shares help page with RunWait - correction: this actually works, but 
RunWait			; does not
Run, Clipboard

This used to work super-well. And I really use these links a lot.
I would be really thankful if someone could figure this out and fix it! Many thanks in advance.

Edited
Edit 2: Might be separate issues with the forwarding of links - it doesn't seem to be all about the shared help pages. Click, for example, doesn't work as a [docs] link, but in a code box

Code: Select all

Click

Re: [docs] BBCode no longer working

Post by tank » 08 Mar 2018, 19:53

Not unless lexikos changed something. Cause I have not

Top