- extras/hbdoc/_tmplate.prg
- extras/hbdoc/hbdoc.ch
* extras/hbdoc/_genbase.prg
* extras/hbdoc/_genhtml.prg
* extras/hbdoc/_gentxt.prg
* extras/hbdoc/_genxml.prg
* extras/hbdoc/hbdoc.hbp
* extras/hbdoc/hbdoc.prg
+ improve readability by paragraphs spacing in DESCRIPTION sections
+ improve divs in section content for better control via CSS
+ improve readability of tables with borders and
header hightlights
* change default output to single-file
+ add support for the old <table>/<fixed> tags in html output until they
are converted to something better
+ add support for <b>/<b>, <URL:url>, Markdown `inline code`,
_emphasis_, *bold*, character escaping \*, line separators ===/---,
and fenced code using triple backticks.
Very limited and not with standard compliance or completeness
in mind, just to be able to use some basic formatting.
; TODO: Markdown URL and lists, then replace all <b>,<URL>,<fixed>
markup with Markdown equivalents in docs
+ better localization support
+ add support for one file per component output via -output-component
cmdline option
% assemble output in memory and write to disk in a single call
% integrate external header
% replace almost all internal arrays with hashes
% replace self-modifying class and macro expansion with
regular hashes
% internal cleanups
% switch to simpler method for sort weighting
+ merge category/subcategory values into tag list. It
means they will be now be included in the output
% cleanup/fix/simplify value expansions for 'compliance',
'status' and 'platform' fields
% cleanup the way output engines are handles internally
+ add support for 'TAGS' entry to replace/extend the rigid and
ambiguous CATEGORY/SUBCATEGORY-based categorization. It is meant
to be a comma-separated list of freeform tags, possibly with a set
of standard common tags, with the freedom to use anything else deemed
useful by component/doc authors.
+ add footer showing the build date of the doc
+ include Git revision the doc is based on, link to the relevant
source tree version.
* various code refactoring steps to avoid unnecessary
classes, arrays, macro evaluation, and using undocumented
functions
% various HTML5 tag improvements and optimizations
+ load HBX file contents and lookup each referenced
symbol. Emit warning in verbose mode, if docs refers
to non-existing one.
(this replaces slow and broken logic based on hbextern.ch)
+ use core hbdoc API to load the documentation instead
of locally rolled logic
* always show those content problems that are considered
fatal and the input doc to be skipped
+ filter docs to English language by default
+ add ability to choose language using a command-line option
! fix faulty validation logic that resulted in
erronously skipping certain entries
+ identify docs' 'component' property automatically
! fix to not eat empty lines from examples
+ convert "see also" items to links (this works correctly only
in single file output mode)
! fix to not break words (f.e. URLs) when outputting HTML
% use shorter class names
! fix invalid element ID generated
! fix RTE when trying to create output by category
% delete dummy "HTML2" output mode
* convert more ASCII chars to better Unicode equivalents
+ mark more text as code automatically
* drop MS-DOS compatibility
* src/rtl/hbdoc.prg
! fix filling '_LANG' property with the correct value
* switch to use LF instead of CRLF in the field contents
* contrib/hbct/doc/en/*.txt
* contrib/hbgd/doc/en/hbgd.txt
* contrib/hbgt/doc/en/hbgt.txt
* contrib/hbmisc/doc/en/dates2.txt
* contrib/hbnf/doc/en/*.txt
* contrib/rddads/doc/en/adsfuncs.txt
* doc/en/*.txt
* cleanups and fixes
! casing
! fix to always delimit "see also" items with comma (",")
! fix various casing issues and old typos
! various fixes after detecting them using updated hbdoc
! eliminate/fix various rare/unnecessary/invalid field values
! move some embedded docs from hbdoc into their respective
doc sources
! fix a typo
* use backtick
* replace code copyright with reference to COPYING.txt (=LICENSE.txt)
+ mark tables without a header or with double height header
; Above patches come from 3.4 fork commits below:
2016-10-26 12:43 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-26 12:34 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-26 12:20 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-26 03:21 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-26 02:47 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 15:05 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 14:51 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 14:30 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 13:19 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 12:35 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 11:47 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-25 02:48 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 22:26 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 18:35 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 17:58 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 16:12 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 15:44 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 03:36 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 02:40 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-24 00:23 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-23 23:09 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-23 16:39 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-23 16:10 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
2016-10-23 13:15 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
208 lines
6.9 KiB
Plaintext
208 lines
6.9 KiB
Plaintext
/*
|
|
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
|
|
* Documentation for: __Dir(), DIR, ADir()
|
|
*
|
|
* See COPYING.txt for licensing terms.
|
|
*
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
__Dir()*
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
FileSys
|
|
$ONELINER$
|
|
Display listings of files
|
|
$SYNTAX$
|
|
__Dir( [<cFileMask>] ) --> NIL
|
|
$ARGUMENTS$
|
|
<cFileMask> File mask to include in the function return. It could
|
|
contain path and standard wildcard characters as supported by your
|
|
OS (like * and ?). If <cFileMask> contains no path, then SET DEFAULT
|
|
path is used to display files in the mask.
|
|
$RETURNS$
|
|
__Dir() always returns NIL.
|
|
$DESCRIPTION$
|
|
If no <cFileMask> is given, __Dir() displays information about all
|
|
*.dbf in the SET DEFAULT path. This information contains: file name,
|
|
number of records, last update date and the size of each file.
|
|
|
|
If <cFileMask> is given, __Dir() list all files that match the mask
|
|
with the following details: Name, Extension, Size, Date.
|
|
|
|
DIR command is preprocessed into __Dir() function during compile
|
|
time.
|
|
|
|
__Dir() is a compatibility function, it is superseded by Directory()
|
|
which return all the information in a multidimensional array.
|
|
|
|
If long file names are available Harbour will use/display the first
|
|
15 characters else Harbour will use/display a 8.3 file name consistent
|
|
with CA-Cl*pper.
|
|
$EXAMPLES$
|
|
__Dir() // information for all DBF files in current directory
|
|
|
|
__Dir( "*.dbf" ) // list all DBF file in current directory
|
|
|
|
// list all PRG files in Harbour Run-Time library
|
|
// for MS-DOS compatible operating systems
|
|
__Dir( "src\rtl\*.prg" )
|
|
|
|
// list all files in the public section on a Unix like machine
|
|
__Dir( "/pub" )
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$PLATFORMS$
|
|
All
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
ADir(), Directory(), SET DEFAULT, DIR
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Command
|
|
$NAME$
|
|
DIR
|
|
$CATEGORY$
|
|
Command
|
|
$SUBCATEGORY$
|
|
FileSys
|
|
$ONELINER$
|
|
Display listings of files
|
|
$SYNTAX$
|
|
DIR [<cFileMask>]
|
|
$ARGUMENTS$
|
|
<cFileMask> File mask to include in the function return. It could
|
|
contain path and standard wildcard characters as supported by your
|
|
OS (like * and ?). If <cFileMask> contains no path, then SET DEFAULT
|
|
path is used to display files in the mask.
|
|
$DESCRIPTION$
|
|
If no <cFileMask> is given, __Dir() display information about all
|
|
*.dbf in the SET DEFAULT path, this information contain: file name,
|
|
number of records, last update date and the size of each file.
|
|
|
|
If <cFileMask> is given, __Dir() list all files that match the mask
|
|
with the following details: Name, Extension, Size, Date.
|
|
|
|
DIR command is preprocessed into __Dir() function during compile
|
|
time.
|
|
|
|
__Dir() is a compatibility function, it is superseded by Directory()
|
|
which returns all the information in a multidimensional array.
|
|
|
|
If long file names are available Harbour will use/display the first
|
|
15 characters else Harbour will use/display a 8.3 file name consistent
|
|
with CA-Cl*pper.
|
|
$EXAMPLES$
|
|
DIR // information for all DBF files in current directory
|
|
|
|
DIR "*.dbf" // list all DBF file in current directory
|
|
|
|
// list all PRG files in Harbour Run-Time library
|
|
// for MS-DOS compatible operating systems
|
|
DIR "src\rtl\*.prg"
|
|
|
|
// list all files in the public section on a Unix like machine
|
|
DIR "/pub"
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
C
|
|
$PLATFORMS$
|
|
All
|
|
$SEEALSO$
|
|
ADir(), Directory(), SET DEFAULT, __Dir()*
|
|
$END$
|
|
*/
|
|
|
|
/* $DOC$
|
|
$TEMPLATE$
|
|
Function
|
|
$NAME$
|
|
ADir()
|
|
$CATEGORY$
|
|
API
|
|
$SUBCATEGORY$
|
|
FileSys
|
|
$ONELINER$
|
|
Fill pre-defined arrays with file/directory information
|
|
$SYNTAX$
|
|
ADir( [<cFileMask>], [<aName>], [<aSize>], [<aDate>],
|
|
[<aTime>], [<aAttr>] ) --> nDirEnries
|
|
$ARGUMENTS$
|
|
<cFileMask> File mask to include in the function return. It could
|
|
contain path and standard wildcard characters as supported by your
|
|
OS (like * and ?). If you omit <cFileMask> or if <cFileMask> contains
|
|
no path, then the path from SET DEFAULT is used.
|
|
|
|
<aName> Array to fill with file name of files that meet <cFileMask>.
|
|
Each element is a Character string and include the file name and
|
|
extension without the path. The name is the long file name as
|
|
reported by the OS and not necessarily the 8.3 uppercase name.
|
|
|
|
<aSize> Array to fill with file size of files that meet <cFileMask>.
|
|
Each element is a Numeric integer for the file size in Bytes.
|
|
Directories are always zero in size.
|
|
|
|
<aDate> Array to fill with file last modification date of files that
|
|
meet <cFileMask>. Each element is of type Date.
|
|
|
|
<aTime> Array to fill with file last modification time of files that
|
|
meet <cFileMask>. Each element is a Character string in the format
|
|
HH:mm:ss.
|
|
|
|
<aAttr> Array to fill with attribute of files that meet <cFileMask>.
|
|
Each element is a Character string, see Directory() for information
|
|
about attribute values. If you pass array to <aAttr>, the function
|
|
is going to return files with normal, hidden, system and directory
|
|
attributes. If <aAttr> is not specified or with type other than
|
|
Array, only files with normal attribute would return.
|
|
$RETURNS$
|
|
ADir() return the number of file entries that meet <cFileMask>
|
|
$DESCRIPTION$
|
|
ADir() return the number of files and/or directories that match
|
|
a specified skeleton, it also fill a series of given arrays with
|
|
the name, size, date, time and attribute of those files. The passed
|
|
arrays should pre-initialized to the proper size, see example below.
|
|
In order to include hidden, system or directories <aAttr> must be
|
|
specified.
|
|
|
|
ADir() is a compatibility function, it is superseded by Directory()
|
|
which returns all the information in a multidimensional array.
|
|
$EXAMPLES$
|
|
LOCAL aName, aSize, aDate, aTime, aAttr, nLen, i
|
|
nLen := ADir( "*.jpg" ) // Number of JPG files in this directory
|
|
IF nLen > 0
|
|
aName := Array( nLen ) // make room to store the information
|
|
aSize := Array( nLen )
|
|
aDate := Array( nLen )
|
|
aTime := Array( nLen )
|
|
aAttr := Array( nLen )
|
|
ADir( "*.prg", aName, aSize, aDate, aTime, aAttr )
|
|
FOR i := 1 TO nLen
|
|
? aName[ i ], aSize[ i ], aDate[ i ], aTime[ i ], aAttr[ i ]
|
|
NEXT
|
|
ELSE
|
|
? "This directory is clean from smut"
|
|
ENDIF
|
|
$STATUS$
|
|
R
|
|
$COMPLIANCE$
|
|
<aName> is going to be filled with long file name and not necessarily
|
|
the 8.3 uppercase name.
|
|
$FILES$
|
|
Library is core
|
|
$SEEALSO$
|
|
Array(), Directory(), SET DEFAULT
|
|
$END$
|
|
*/
|