Skip to content

Commit f4e4024

Browse files
authored
docs: group CLI and API pages (#375)
1 parent 3e1d026 commit f4e4024

File tree

4 files changed

+98
-73
lines changed

4 files changed

+98
-73
lines changed

docs/Doxyfile.in

Lines changed: 54 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Doxyfile 1.9.5
1+
# Doxyfile 1.9.7
22

33
# This file describes the settings to be used by the documentation system
44
# doxygen (www.doxygen.org) for a project.
@@ -86,7 +86,7 @@ CREATE_SUBDIRS = NO
8686
# level increment doubles the number of directories, resulting in 4096
8787
# directories at level 8 which is the default and also the maximum value. The
8888
# sub-directories are organized in 2 levels, the first level always has a fixed
89-
# numer of 16 directories.
89+
# number of 16 directories.
9090
# Minimum value: 0, maximum value: 8, default value: 8.
9191
# This tag requires that the tag CREATE_SUBDIRS is set to YES.
9292

@@ -284,7 +284,7 @@ TAB_SIZE = 4
284284
# @} or use a double escape (\\{ and \\})
285285

286286
ALIASES = "committed=\xrefitem stability_committed \"Committed\" \"Committed Interfaces\" Generally available API and should be preferred in production" \
287-
"uncommitted=\xrefitem stability_uncomitted \"Uncommitted\" \"Uncommitted Interfaces\" Might be changed in the future, and eventually promoted to committed" \
287+
"uncommitted=\xrefitem stability_uncommitted \"Uncommitted\" \"Uncommitted Interfaces\" Might be changed in the future, and eventually promoted to committed" \
288288
"volatile=\xrefitem stability_volatile \"Volatile\" \"Volatile Interfaces\" Should not be used in production" \
289289
"internal=\xrefitem stability_internal \"Internal\" \"Internal Interfaces\" Internal interface"
290290

@@ -366,6 +366,17 @@ MARKDOWN_SUPPORT = YES
366366

367367
TOC_INCLUDE_HEADINGS = 5
368368

369+
# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to
370+
# generate identifiers for the Markdown headings. Note: Every identifier is
371+
# unique.
372+
# Possible values are: DOXYGEN Use a fixed 'autotoc_md' string followed by a
373+
# sequence number starting at 0. and GITHUB Use the lower case version of title
374+
# with any whitespace replaced by '-' and punctations characters removed..
375+
# The default value is: DOXYGEN.
376+
# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
377+
378+
MARKDOWN_ID_STYLE = DOXYGEN
379+
369380
# When enabled doxygen tries to link words that correspond to documented
370381
# classes, or namespaces to their corresponding documentation. Such a link can
371382
# be prevented in individual cases by putting a % sign in front of the word or
@@ -571,7 +582,8 @@ HIDE_UNDOC_MEMBERS = NO
571582
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
572583
# undocumented classes that are normally visible in the class hierarchy. If set
573584
# to NO, these classes will be included in the various overviews. This option
574-
# has no effect if EXTRACT_ALL is enabled.
585+
# will also hide undocumented C++ concepts if enabled. This option has no effect
586+
# if EXTRACT_ALL is enabled.
575587
# The default value is: NO.
576588

577589
HIDE_UNDOC_CLASSES = NO
@@ -619,7 +631,7 @@ CASE_SENSE_NAMES = YES
619631
# scope will be hidden.
620632
# The default value is: NO.
621633

622-
HIDE_SCOPE_NAMES = NO
634+
HIDE_SCOPE_NAMES = YES
623635

624636
# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
625637
# append additional text to a page's title, such as Class Reference. If set to
@@ -862,11 +874,26 @@ WARN_IF_INCOMPLETE_DOC = YES
862874

863875
WARN_NO_PARAMDOC = NO
864876

877+
# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about
878+
# undocumented enumeration values. If set to NO, doxygen will accept
879+
# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag
880+
# will automatically be disabled.
881+
# The default value is: NO.
882+
883+
WARN_IF_UNDOC_ENUM_VAL = NO
884+
865885
# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
866886
# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS
867887
# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but
868888
# at the end of the doxygen process doxygen will return with a non-zero status.
869-
# Possible values are: NO, YES and FAIL_ON_WARNINGS.
889+
# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves
890+
# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not
891+
# write the warning messages in between other messages but write them at the end
892+
# of a run, in case a WARN_LOGFILE is defined the warning messages will be
893+
# besides being in the defined file also be shown at the end of a run, unless
894+
# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case
895+
# the behavior will remain as with the setting FAIL_ON_WARNINGS.
896+
# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT.
870897
# The default value is: NO.
871898

872899
WARN_AS_ERROR = NO
@@ -914,6 +941,7 @@ WARN_LOGFILE =
914941
INPUT = ${DOXYGEN_INPUT_DIR} \
915942
${PROJECT_SOURCE_DIR}/docs/mainpage.hxx \
916943
${PROJECT_SOURCE_DIR}/docs/stability.hxx \
944+
${PROJECT_SOURCE_DIR}/docs/cli.hxx \
917945
${PROJECT_SOURCE_DIR}/docs/cbc.md \
918946
${PROJECT_SOURCE_DIR}/docs/cbc-get.md \
919947
${PROJECT_SOURCE_DIR}/docs/cbc-query.md
@@ -1226,46 +1254,6 @@ USE_HTAGS = NO
12261254

12271255
VERBATIM_HEADERS = YES
12281256

1229-
# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
1230-
# clang parser (see:
1231-
# http://clang.llvm.org/) for more accurate parsing at the cost of reduced
1232-
# performance. This can be particularly helpful with template rich C++ code for
1233-
# which doxygen's built-in parser lacks the necessary type information.
1234-
# Note: The availability of this option depends on whether or not doxygen was
1235-
# generated with the -Duse_libclang=ON option for CMake.
1236-
# The default value is: NO.
1237-
1238-
CLANG_ASSISTED_PARSING = NO
1239-
1240-
# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
1241-
# tag is set to YES then doxygen will add the directory of each input to the
1242-
# include path.
1243-
# The default value is: YES.
1244-
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
1245-
1246-
CLANG_ADD_INC_PATHS = YES
1247-
1248-
# If clang assisted parsing is enabled you can provide the compiler with command
1249-
# line options that you would normally use when invoking the compiler. Note that
1250-
# the include paths will already be set by doxygen for the files and directories
1251-
# specified with INPUT and INCLUDE_PATH.
1252-
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
1253-
1254-
CLANG_OPTIONS =
1255-
1256-
# If clang assisted parsing is enabled you can provide the clang parser with the
1257-
# path to the directory containing a file called compile_commands.json. This
1258-
# file is the compilation database (see:
1259-
# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the
1260-
# options used when the source files were built. This is equivalent to
1261-
# specifying the -p option to a clang tool, such as clang-check. These options
1262-
# will then be passed to the parser. Any options specified with CLANG_OPTIONS
1263-
# will be added as well.
1264-
# Note: The availability of this option depends on whether or not doxygen was
1265-
# generated with the -Duse_libclang=ON option for CMake.
1266-
1267-
CLANG_DATABASE_PATH =
1268-
12691257
#---------------------------------------------------------------------------
12701258
# Configuration options related to the alphabetical class index
12711259
#---------------------------------------------------------------------------
@@ -1277,10 +1265,11 @@ CLANG_DATABASE_PATH =
12771265

12781266
ALPHABETICAL_INDEX = YES
12791267

1280-
# In case all classes in a project start with a common prefix, all classes will
1281-
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
1282-
# can be used to specify a prefix (or a list of prefixes) that should be ignored
1283-
# while generating the index headers.
1268+
# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes)
1269+
# that should be ignored while generating the index headers. The IGNORE_PREFIX
1270+
# tag works for classes, function and member names. The entity will be placed in
1271+
# the alphabetical list under the first letter of the entity name that remains
1272+
# after removing the prefix.
12841273
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
12851274

12861275
IGNORE_PREFIX =
@@ -1359,11 +1348,15 @@ HTML_STYLESHEET =
13591348
# Doxygen will copy the style sheet files to the output directory.
13601349
# Note: The order of the extra style sheet files is of importance (e.g. the last
13611350
# style sheet in the list overrules the setting of the previous ones in the
1362-
# list). For an example see the documentation.
1351+
# list).
1352+
# Note: Since the styling of scrollbars can currently not be overruled in
1353+
# Webkit/Chromium, the styling will be left out of the default doxygen.css if
1354+
# one or more extra stylesheets have been specified. So if scrollbar
1355+
# customization is desired it has to be added explicitly. For an example see the
1356+
# documentation.
13631357
# This tag requires that the tag GENERATE_HTML is set to YES.
13641358

1365-
# Temporarily disable custom stylesheet, because of trailing return types formatting
1366-
# HTML_EXTRA_STYLESHEET = ${PROJECT_SOURCE_DIR}/docs/doxygen-awesome.css
1359+
HTML_EXTRA_STYLESHEET =
13671360

13681361
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
13691362
# other source files which should be copied to the HTML output directory. Note
@@ -1376,17 +1369,13 @@ HTML_STYLESHEET =
13761369
HTML_EXTRA_FILES =
13771370

13781371
# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output
1379-
# should be rendered with a dark or light theme. Default setting AUTO_LIGHT
1380-
# enables light output unless the user preference is dark output. Other options
1381-
# are DARK to always use dark mode, LIGHT to always use light mode, AUTO_DARK to
1382-
# default to dark mode unless the user prefers light mode, and TOGGLE to let the
1383-
# user toggle between dark and light mode via a button.
1384-
# Possible values are: LIGHT Always generate light output., DARK Always generate
1385-
# dark output., AUTO_LIGHT Automatically set the mode according to the user
1386-
# preference, use light mode if no preference is set (the default)., AUTO_DARK
1387-
# Automatically set the mode according to the user preference, use dark mode if
1388-
# no preference is set. and TOGGLE Allow to user to switch between light and
1389-
# dark mode via a button..
1372+
# should be rendered with a dark or light theme.
1373+
# Possible values are: LIGHT always generate light mode output, DARK always
1374+
# generate dark mode output, AUTO_LIGHT automatically set the mode according to
1375+
# the user preference, use light mode if no preference is set (the default),
1376+
# AUTO_DARK automatically set the mode according to the user preference, use
1377+
# dark mode if no preference is set and TOGGLE allow to user to switch between
1378+
# light and dark mode via a button.
13901379
# The default value is: AUTO_LIGHT.
13911380
# This tag requires that the tag GENERATE_HTML is set to YES.
13921381

@@ -2515,7 +2504,7 @@ DOT_FONTPATH =
25152504
# Possible values are: NO, YES, TEXT and GRAPH.
25162505
# The default value is: YES.
25172506

2518-
CLASS_GRAPH = YES
2507+
CLASS_GRAPH = GRAPH
25192508

25202509
# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
25212510
# graph for each documented class showing the direct and indirect implementation

docs/cli.hxx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2+
/*
3+
* Copyright 2023-Present Couchbase, Inc.
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
#pragma once
19+
20+
/**
21+
* @page cli Command Line Tools
22+
* @brief Indexes of the API grouped by stability.
23+
*
24+
* @subpage cbc. CLI tools entry point.
25+
*
26+
* @subpage cbc-get. Retrieve documents from the server by ID.
27+
*
28+
* @subpage cbc-query. Execute N1QL queries.
29+
*/

docs/mainpage.hxx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,4 @@
2424
*
2525
* This is API reference for C++ library for connecting to a Couchbase Server and performing data operations and queries.
2626
*
27-
* We use interface stability taxonomy to categorize publicly visible API. See the following pages for more details:
28-
*
29-
* * @ref stability_committed "Committed" interfaces considered as generally available (GA) API and should be preferred in production
30-
* applications.
31-
* * @ref stability_uncommitted "Uncommitted" interfaces might be changed in the future, and eventually promoted to committed.
32-
* * @ref stability_volatile "Volatile" interfaces should not be used in production application, and the library does not give any
33-
* guarantees on them.
34-
* * @ref stability_internal "Internal" interfaces like volatile, but they might be used by other project maintained by Couchbase.
3527
*/

docs/stability.hxx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,18 @@
6666
*
6767
* @warning Use at your own risk
6868
*/
69+
70+
/**
71+
* @page api_stability Interfaces by Stability
72+
* @brief Indexes of the API grouped by stability.
73+
*
74+
* We use interface stability taxonomy to categorize publicly visible API. See the following pages for more details:
75+
*
76+
* @subpage stability_committed considered as generally available (GA) API and should be preferred in production applications.
77+
*
78+
* @subpage stability_volatile might be changed in the future, and eventually promoted to committed.
79+
*
80+
* @subpage stability_uncommitted should not be used in production application, and the library does not give any guarantees on them.
81+
*
82+
* @subpage stability_internal like volatile, but they might be used by other project maintained by Couchbase.
83+
*/

0 commit comments

Comments
 (0)