aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorVirtualTam <virtualtam@flibidi.net>2015-07-13 17:53:36 +0200
committerVirtualTam <virtualtam@flibidi.net>2015-11-22 20:35:00 +0100
commit05af6f53256056eacb3813aff8aa606e83365f61 (patch)
tree09a65983f449dd83358456a46837165bf36cbdc7
parent9b87c274396c20aa006b5988141fe74c48f042ce (diff)
downloadShaarli-05af6f53256056eacb3813aff8aa606e83365f61.tar.gz
Shaarli-05af6f53256056eacb3813aff8aa606e83365f61.tar.zst
Shaarli-05af6f53256056eacb3813aff8aa606e83365f61.zip
Add a target to generate Doxygen documentation
Relates to #95 Customizations for PHP/Shaarli: - add project information - index PHP files - index global functions - exclude directories Usage $ make doxygen $ firefox doxygen/index.html & Notes - classes can be found under "Data Structures" - global functions can be found under "Files > Globals > Functions" Signed-off-by: VirtualTam <virtualtam@flibidi.net>
-rw-r--r--.gitignore3
-rw-r--r--Doxyfile68
-rw-r--r--Makefile5
3 files changed, 48 insertions, 28 deletions
diff --git a/.gitignore b/.gitignore
index 5a6b9241..b98c38b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,8 +16,9 @@ pagecache
16composer.lock 16composer.lock
17/vendor/ 17/vendor/
18 18
19# Ignore test data & output 19# Ignore development and test resources
20coverage 20coverage
21doxygen
21tests/datastore.php 22tests/datastore.php
22tests/dummycache/ 23tests/dummycache/
23phpmd.html 24phpmd.html
diff --git a/Doxyfile b/Doxyfile
index 55e51692..9a596b53 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
32# title of most generated pages and in a few other places. 32# title of most generated pages and in a few other places.
33# The default value is: My Project. 33# The default value is: My Project.
34 34
35PROJECT_NAME = "My Project" 35PROJECT_NAME = Shaarli
36 36
37# The PROJECT_NUMBER tag can be used to enter a project or revision number. This 37# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
38# could be handy for archiving the generated documentation or if some version 38# could be handy for archiving the generated documentation or if some version
@@ -44,21 +44,21 @@ PROJECT_NUMBER =
44# for a project that appears at the top of each page and should give viewer a 44# for a project that appears at the top of each page and should give viewer a
45# quick idea about the purpose of the project. Keep the description short. 45# quick idea about the purpose of the project. Keep the description short.
46 46
47PROJECT_BRIEF = 47PROJECT_BRIEF = "The personal, minimalist, super-fast, no-database delicious clone"
48 48
49# With the PROJECT_LOGO tag one can specify a logo or an icon that is included 49# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
50# in the documentation. The maximum height of the logo should not exceed 55 50# in the documentation. The maximum height of the logo should not exceed 55
51# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy 51# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
52# the logo to the output directory. 52# the logo to the output directory.
53 53
54PROJECT_LOGO = 54PROJECT_LOGO = images/logo.png
55 55
56# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path 56# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
57# into which the generated documentation will be written. If a relative path is 57# into which the generated documentation will be written. If a relative path is
58# entered, it will be relative to the location where doxygen was started. If 58# entered, it will be relative to the location where doxygen was started. If
59# left blank the current directory will be used. 59# left blank the current directory will be used.
60 60
61OUTPUT_DIRECTORY = 61OUTPUT_DIRECTORY = .
62 62
63# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- 63# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
64# directories (in 2 levels) under the output directory of each output format and 64# directories (in 2 levels) under the output directory of each output format and
@@ -118,7 +118,17 @@ REPEAT_BRIEF = YES
118# the entity):The $name class, The $name widget, The $name file, is, provides, 118# the entity):The $name class, The $name widget, The $name file, is, provides,
119# specifies, contains, represents, a, an and the. 119# specifies, contains, represents, a, an and the.
120 120
121ABBREVIATE_BRIEF = 121ABBREVIATE_BRIEF = "The $name class" \
122 "The $name widget" \
123 "The $name file" \
124 is \
125 provides \
126 specifies \
127 contains \
128 represents \
129 a \
130 an \
131 the
122 132
123# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 133# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
124# doxygen will generate a detailed section even if there is only a brief 134# doxygen will generate a detailed section even if there is only a brief
@@ -242,7 +252,7 @@ TCL_SUBST =
242# members will be omitted, etc. 252# members will be omitted, etc.
243# The default value is: NO. 253# The default value is: NO.
244 254
245OPTIMIZE_OUTPUT_FOR_C = NO 255OPTIMIZE_OUTPUT_FOR_C = YES
246 256
247# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or 257# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
248# Python sources only. Doxygen will then generate output that is more tailored 258# Python sources only. Doxygen will then generate output that is more tailored
@@ -409,25 +419,25 @@ LOOKUP_CACHE_SIZE = 0
409# normally produced when WARNINGS is set to YES. 419# normally produced when WARNINGS is set to YES.
410# The default value is: NO. 420# The default value is: NO.
411 421
412EXTRACT_ALL = NO 422EXTRACT_ALL = YES
413 423
414# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will 424# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
415# be included in the documentation. 425# be included in the documentation.
416# The default value is: NO. 426# The default value is: NO.
417 427
418EXTRACT_PRIVATE = NO 428EXTRACT_PRIVATE = YES
419 429
420# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal 430# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
421# scope will be included in the documentation. 431# scope will be included in the documentation.
422# The default value is: NO. 432# The default value is: NO.
423 433
424EXTRACT_PACKAGE = NO 434EXTRACT_PACKAGE = YES
425 435
426# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be 436# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
427# included in the documentation. 437# included in the documentation.
428# The default value is: NO. 438# The default value is: NO.
429 439
430EXTRACT_STATIC = NO 440EXTRACT_STATIC = YES
431 441
432# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined 442# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
433# locally in source files will be included in the documentation. If set to NO, 443# locally in source files will be included in the documentation. If set to NO,
@@ -443,7 +453,7 @@ EXTRACT_LOCAL_CLASSES = YES
443# included. 453# included.
444# The default value is: NO. 454# The default value is: NO.
445 455
446EXTRACT_LOCAL_METHODS = NO 456EXTRACT_LOCAL_METHODS = YES
447 457
448# If this flag is set to YES, the members of anonymous namespaces will be 458# If this flag is set to YES, the members of anonymous namespaces will be
449# extracted and appear in the documentation as a namespace called 459# extracted and appear in the documentation as a namespace called
@@ -452,7 +462,7 @@ EXTRACT_LOCAL_METHODS = NO
452# are hidden. 462# are hidden.
453# The default value is: NO. 463# The default value is: NO.
454 464
455EXTRACT_ANON_NSPACES = NO 465EXTRACT_ANON_NSPACES = YES
456 466
457# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all 467# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
458# undocumented members inside documented classes or files. If set to NO these 468# undocumented members inside documented classes or files. If set to NO these
@@ -498,14 +508,14 @@ INTERNAL_DOCS = NO
498# and Mac users are advised to set this option to NO. 508# and Mac users are advised to set this option to NO.
499# The default value is: system dependent. 509# The default value is: system dependent.
500 510
501CASE_SENSE_NAMES = YES 511CASE_SENSE_NAMES = NO
502 512
503# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with 513# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
504# their full class and namespace scopes in the documentation. If set to YES, the 514# their full class and namespace scopes in the documentation. If set to YES, the
505# scope will be hidden. 515# scope will be hidden.
506# The default value is: NO. 516# The default value is: NO.
507 517
508HIDE_SCOPE_NAMES = NO 518HIDE_SCOPE_NAMES = YES
509 519
510# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will 520# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
511# append additional text to a page's title, such as Class Reference. If set to 521# append additional text to a page's title, such as Class Reference. If set to
@@ -654,7 +664,7 @@ SHOW_FILES = YES
654# Folder Tree View (if specified). 664# Folder Tree View (if specified).
655# The default value is: YES. 665# The default value is: YES.
656 666
657SHOW_NAMESPACES = YES 667SHOW_NAMESPACES = NO
658 668
659# The FILE_VERSION_FILTER tag can be used to specify a program or script that 669# The FILE_VERSION_FILTER tag can be used to specify a program or script that
660# doxygen should invoke to get the current version for each file (typically from 670# doxygen should invoke to get the current version for each file (typically from
@@ -758,7 +768,7 @@ WARN_LOGFILE =
758# spaces. 768# spaces.
759# Note: If this tag is empty the current directory is searched. 769# Note: If this tag is empty the current directory is searched.
760 770
761INPUT = 771INPUT = .
762 772
763# This tag can be used to specify the character encoding of the source files 773# This tag can be used to specify the character encoding of the source files
764# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses 774# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -778,13 +788,13 @@ INPUT_ENCODING = UTF-8
778# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, 788# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
779# *.qsf, *.as and *.js. 789# *.qsf, *.as and *.js.
780 790
781FILE_PATTERNS = 791FILE_PATTERNS = *.php
782 792
783# The RECURSIVE tag can be used to specify whether or not subdirectories should 793# The RECURSIVE tag can be used to specify whether or not subdirectories should
784# be searched for input files as well. 794# be searched for input files as well.
785# The default value is: NO. 795# The default value is: NO.
786 796
787RECURSIVE = NO 797RECURSIVE = YES
788 798
789# The EXCLUDE tag can be used to specify files and/or directories that should be 799# The EXCLUDE tag can be used to specify files and/or directories that should be
790# excluded from the INPUT source files. This way you can easily exclude a 800# excluded from the INPUT source files. This way you can easily exclude a
@@ -793,14 +803,18 @@ RECURSIVE = NO
793# Note that relative paths are relative to the directory from which doxygen is 803# Note that relative paths are relative to the directory from which doxygen is
794# run. 804# run.
795 805
796EXCLUDE = 806EXCLUDE = vendor \
807 tpl \
808 inc \
809 doc \
810 tmp
797 811
798# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 812# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
799# directories that are symbolic links (a Unix file system feature) are excluded 813# directories that are symbolic links (a Unix file system feature) are excluded
800# from the input. 814# from the input.
801# The default value is: NO. 815# The default value is: NO.
802 816
803EXCLUDE_SYMLINKS = NO 817EXCLUDE_SYMLINKS = YES
804 818
805# If the value of the INPUT tag contains directories, you can use the 819# If the value of the INPUT tag contains directories, you can use the
806# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 820# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
@@ -833,7 +847,7 @@ EXAMPLE_PATH =
833# *.h) to filter out the source-files in the directories. If left blank all 847# *.h) to filter out the source-files in the directories. If left blank all
834# files are included. 848# files are included.
835 849
836EXAMPLE_PATTERNS = 850EXAMPLE_PATTERNS = *
837 851
838# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 852# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
839# searched for input files to be used with the \include or \dontinclude commands 853# searched for input files to be used with the \include or \dontinclude commands
@@ -907,7 +921,7 @@ USE_MDFILE_AS_MAINPAGE =
907# also VERBATIM_HEADERS is set to NO. 921# also VERBATIM_HEADERS is set to NO.
908# The default value is: NO. 922# The default value is: NO.
909 923
910SOURCE_BROWSER = NO 924SOURCE_BROWSER = YES
911 925
912# Setting the INLINE_SOURCES tag to YES will include the body of functions, 926# Setting the INLINE_SOURCES tag to YES will include the body of functions,
913# classes and enums directly into the documentation. 927# classes and enums directly into the documentation.
@@ -1023,7 +1037,7 @@ GENERATE_HTML = YES
1023# The default directory is: html. 1037# The default directory is: html.
1024# This tag requires that the tag GENERATE_HTML is set to YES. 1038# This tag requires that the tag GENERATE_HTML is set to YES.
1025 1039
1026HTML_OUTPUT = html 1040HTML_OUTPUT = doxygen
1027 1041
1028# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each 1042# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
1029# generated HTML page (for example: .htm, .php, .asp). 1043# generated HTML page (for example: .htm, .php, .asp).
@@ -1370,7 +1384,7 @@ DISABLE_INDEX = NO
1370# The default value is: NO. 1384# The default value is: NO.
1371# This tag requires that the tag GENERATE_HTML is set to YES. 1385# This tag requires that the tag GENERATE_HTML is set to YES.
1372 1386
1373GENERATE_TREEVIEW = NO 1387GENERATE_TREEVIEW = YES
1374 1388
1375# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that 1389# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
1376# doxygen will group on one line in the generated HTML documentation. 1390# doxygen will group on one line in the generated HTML documentation.
@@ -1558,7 +1572,7 @@ EXTRA_SEARCH_MAPPINGS =
1558# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. 1572# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
1559# The default value is: YES. 1573# The default value is: YES.
1560 1574
1561GENERATE_LATEX = YES 1575GENERATE_LATEX = NO
1562 1576
1563# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a 1577# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
1564# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of 1578# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -1999,7 +2013,7 @@ EXPAND_AS_DEFINED =
1999# The default value is: YES. 2013# The default value is: YES.
2000# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2014# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
2001 2015
2002SKIP_FUNCTION_MACROS = YES 2016SKIP_FUNCTION_MACROS = NO
2003 2017
2004#--------------------------------------------------------------------------- 2018#---------------------------------------------------------------------------
2005# Configuration options related to external references 2019# Configuration options related to external references
@@ -2064,7 +2078,7 @@ PERL_PATH = /usr/bin/perl
2064# powerful graphs. 2078# powerful graphs.
2065# The default value is: YES. 2079# The default value is: YES.
2066 2080
2067CLASS_DIAGRAMS = YES 2081CLASS_DIAGRAMS = NO
2068 2082
2069# You can define message sequence charts within doxygen comments using the \msc 2083# You can define message sequence charts within doxygen comments using the \msc
2070# command. Doxygen will then run the mscgen tool (see: 2084# command. Doxygen will then run the mscgen tool (see:
diff --git a/Makefile b/Makefile
index 770dcd53..c560d8d1 100644
--- a/Makefile
+++ b/Makefile
@@ -120,6 +120,11 @@ test:
120clean: 120clean:
121 @git clean -df 121 @git clean -df
122 122
123### generate Doxygen documentation
124doxygen: clean
125 @rm -rf doxygen
126 @( cat Doxyfile ; echo "PROJECT_NUMBER=`git describe`" ) | doxygen -
127
123### update the local copy of the documentation 128### update the local copy of the documentation
124doc: clean 129doc: clean
125 @rm -rf doc 130 @rm -rf doc