Version 6.0 of the Documentation theme for Jekyll reverts back to relative links so you can view the files offline. Additionally, you can store pages in subdirectories. Templates for alerts and images are available.
Workflow maps overview
You can implement workflow maps at the top of your pages. This is helpful if you’re describing a process that involves multiple topics. See the following demos:
- [Simple workflow maps][p2_sample1]
- [Complex workflow maps][p2_sample6]
Simple workflow maps
-
Create an include at _includes/custom/usermap.html, where usermap.html contains the workflow and links you want. See the usermap.html as an example. It should look something like this:
<div id="userMap">
<div class="content"><a href="p2_sample1.html"><div class="box box1">Connect to ADB</div></a></div>
<div class="arrow">→</div>
<div class="content"><a href="p2_sample2.html"><div class="box box2">Download and Build the Starter Kit</div></a></div>
<div class="arrow">→</div>
<div class="content"><a href="p2_sample3.html"><div class="box box3">Take a Tour</div></a></div>
<div class="arrow">→</div>
<div class="content"><a href="p2_sample4.html"><div class="box box4">Load Your Widgets</div></a></div>
<div class="arrow">→</div>
<div class="content"><a href="p2_sample5.html"><div class="box box5">Query for Something</div></a></div>
<div class="clearfix"></div>
</div>
You can have only 5 possible workflow squares across. Also, the links must be manually coded HTML like those shown, not automated Markdown links. (This is because the boxes are linked.)
-
Where you want the user maps to appear, add the sidebar properties shown in red below:
---
title: Sample 1 Topic
keywords: sample
summary: "This is just a sample topic..."
sidebar: product2_sidebar
permalink: p2_sample1
folder: product2
simple_map: true
map_name: usermap
box_number: 1
---
In the page.html layout, the following code gets activated when simple_map
equals true
:
{% if page.simple_map == true %}
<script>
$(document).ready ( function(){
$('.box{{page.box_number}}').addClass('active');
});
</script>
{% include custom/{{page.map_name}}.html %}
{% endif %}
The script adds an active
class to the box number, which automatically makes the active workflow box become highlighted based on the page you’re viewing.
The map_name
gets used as the name of the included file.
Complex workflow maps
The simpler user workflow allows for 5 workflow steps. If you have a more complex workflow, with multiple possible steps, branching, and more, consider using a complex workflow map. This map uses modals to show a list of instructions and links for each step.
-
Create an include at _includes/custom/usermapcomplex.html, where usermapcomplex.html contains the workflow and links you want. See the usermapcomplex.html as an example. The code in that file simply implements Bootstrap modals to create the pop-up boxes. Add your custom content inside the modal body:
<div class="modal-body">
<p>This is just dummy text ... Your first steps should be to get started. You will need to do the following:</p>
<ul>
<li><a href="p2_sample6.html">Sample 6</a></li>
<li><a href="p2_sample7.html">Sample 7</a></li>
<li><a href="p2_sample8.html">Sample 8</a></li>
</ul>
<p>If you run into any of these setup issues, you must solve them before you can continue on.</p>
</div>
The existing usermapcomplex.html file just has 3 workflow square modals. If you need more, duplicate the modal code. In the duplicated code, make sure you make the following values in red unique (but the same within the same modal):
<button type="button" class="btn btn-default btn-lg modalButton3" data-toggle="modal" data-target="#myModal3">Publish your app</button>
<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
-
For each topic where you want the modal to appear, insert the following properties in your frontmatter:
---
title: Sample 6 Topic
keywords: sample
summary: "This is just a sample topic..."
sidebar: product2_sidebar
permalink: p2_sample6
complex_map: true
map_name: usermapcomplex
box_number: 1
toc: false
folder: product2
---
When your frontmatter contains complex_map
equal to true
, the following code gets activated in the page layout.html file:
In the page.html layout, the following code gets activated when `map` equals `true`:
{% if page.complex_map == true %}
<script>
$(document).ready ( function(){
$('.modalButton{{page.box_number}}').addClass('active');
});
</script>
{% include custom/{{page.map_name}}.html %}
{% endif %}
``` ```
orzh-introduction
X-WAF-README
nginx-lua-module-zh-wiki
orange_about
pra_flame_how
orzh-introduction
X-WAF-README
nginx-lua-module-zh-wiki
orange_about
titlepage
tocpage
p1_landing_page
p1_sample1
p1_sample2
p1_sample3
p1_sample4
p1_sample5
p1_sample6
p1_sample7
titlepage
tocpage
p2_landing_page
p2_sample1
p2_sample2
p2_sample3
p2_sample4
p2_sample5
p2_sample6
p2_sample7
p2_sample8
p2_sample9
p2_sample10
p2_sample11
p2_sample12
p2_sample13
p2_sample14
titlepage
tocpage
p1_landing_page
p1_sample1
p1_sample2
p1_sample3
p1_sample4
p1_sample5
p1_sample6
p1_sample7
titlepage
tocpage
X-WAF-README
xwaf_installation
xwaf_depoly
xwaf_README
xwaf_advanced_readme
xwaf_getting_started
xwaf_faqs_readme
xwaf_roadmap
titlepage
tocpage
nginx-lua-module-zh-wiki
titlepage
tocpage
orange_api_server
orange_build_plugin
orange_dashboard_usage
orange_README
orange_basic_auth
orange_basic_info
orange_divide
orange_key_auth
orange_monitor
orange_rate_limiting
orange_redirect
orange_rewrite
orange_stat
orange_waf
orange_condition
orange_expression
orange_extraction
orange_extractor
orange_handle
orange_judge
orange_rule
orange_about
orange_contributing
orange_issues
orange_usages
titlepage
tocpage
add_new_lua_api
cosocket
get_req_body
get_url_param
helloworld
how_request_http
inline_var
install
install_on_centos
install_on_ubuntu
install_on_windows
install_osx
log_response
outtest
response
safe_sql
share_var
simple_api
sub_request
work_with_location
array_size
break
brief
build_env
call_user_func_array
capture
class
control_structrues
dot_diff
dummy_var
FFI
file
for
function_before_use
function_define
function_descrip
function_parameter
function_result
if_else
local
main
math_library
metatable
module_is_evil
module
not_nill
not_use_lib
not_use_module
object_oriented
operator
re
repeat
string_library
table_library
time_date_function
what_jit
while
pra_flame_how
pra_flame_install
pra_flame_what
pra_flame_when
pra_ngx_lua_allow_deny
pra_ngx_lua_block_io
pra_ngx_lua_cache
pra_ngx_lua_capture
pra_ngx_lua_continue_after_eof
pra_ngx_lua_debug
pra_ngx_lua_ffi
pra_ngx_lua_hot_load
pra_ngx_lua_how_one_instance_time
pra_ngx_lua_how_use_third_lib
pra_ngx_lua_keepalive
pra_ngx_lua_log
pra_ngx_lua_lua-limit
pra_ngx_lua_lua_opt
pra_ngx_lua_lua-variable-scope
pra_ngx_lua_on_abort
pra_ngx_lua_phase
pra_ngx_lua_resolve_the_domain_name
pra_ngx_lua_shared_get_keys
pra_ngx_lua_sleep
pra_ngx_lua_timer
pra_ngx_lua_use_case
pra_ngx_lua_whats_cosocket
pra_redis_auth_connect
pra_redis_dynamic_redis_module_method
pra_redis_out_package
pra_redis_pipeline
pra_redis_pub_sub_package
pra_redis_script
pra_redis_select-keeplive
pra_postgres_health_check
pra_postgres_how_to_use
pra_postgres_not_support_transaction
pra_postgres_sql_inject
pra_postgres_timeout
pra_nginx_balancer
pra_nginx_co-work_of_location
pra_nginx_if_is_evil
pra_nginx_match_uri
pra_nginx_nginx_brief
pra_nginx_nginx_local_pcre
pra_nginx_nginx_log
pra_nginx_nginx
pra_nginx_pitfalls_and_common_mistakes
pra_nginx_reverse_proxy
pra_nginx_static_file
titlepage
tocpage
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_scan_port
candylab_common_sites_log_system
candylab_graylog_clickhouse
candylab_clickhouse_basic
candylab_logs_and_gateway
candylab_sec_system_arch
candylab_logs_dsl_waf
candylab_opensock_list
candylab_opensock_practice
candylab_opensock_email
candylab_base_on_openresty_waf
candylab_dsl_waf
candylab_honeypot_system
candylab_monitor_redis
candylab_threat_replay
candylab_pcap_monitor
candylab_monitor_website
candylab_openrestyplus_waf
candylab_windows_bigdata
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
candylab_clickhouse_basic
mydoc_hyperlinks.html#automatedlinks
mydoc_hyperlinks.html#bookmarklinks
mydoc_pages.html#someIdTag
news
nginx-lua-module-zh-wiki
nginx-development-guide-zh
orange_about
X-WAF-README
pra_flame_how