├── .gitignore ├── 000_glossary └── 01_glossary.md ├── 010_getting_started ├── 01_introduction.md ├── 01_introduction_cn.md ├── 05_uses.md ├── 05_uses_cn.md ├── 10_quickstart.md ├── 10_quickstart_cn.md ├── 15_ecosystem.md ├── 15_ecosystem_cn.md ├── 20_upgrade.md └── 20_upgrade_cn.md ├── 020_api ├── 01_api.md └── 01_api_cn.md ├── 030_configuration ├── 01_configuration.md └── 01_configuration_cn.md ├── 040_design ├── 01_design.md └── 01_design_cn.md ├── 050_implementation ├── 01_implementation.md └── 01_implementation_cn.md ├── 060_operations ├── 01_ops.md └── 01_ops_cn.md ├── 070_security ├── 01_security.md └── 01_security_cn.md ├── 080_connect ├── 01_connect.md └── 01_connect_cn.md ├── 090_streams ├── 01_streams.md └── 01_streams_cn.md ├── GLOSSARY.md ├── README.md ├── SUMMARY.md ├── book.json ├── docs ├── .gitignore ├── 000_glossary │ └── 01_glossary.html ├── 010_getting_started │ ├── 01_introduction.html │ ├── 01_introduction_cn.html │ ├── 05_uses.html │ ├── 05_uses_cn.html │ ├── 10_quickstart.html │ ├── 10_quickstart_cn.html │ ├── 15_ecosystem.html │ ├── 15_ecosystem_cn.html │ ├── 20_upgrade.html │ └── 20_upgrade_cn.html ├── 020_api │ ├── 01_api.html │ └── 01_api_cn.html ├── 030_configuration │ ├── 01_configuration.html │ └── 01_configuration_cn.html ├── 040_design │ ├── 01_design.html │ └── 01_design_cn.html ├── 050_implementation │ ├── 01_implementation.html │ └── 01_implementation_cn.md ├── 060_operations │ ├── 01_ops.html │ └── 01_ops_cn.md ├── 070_security │ ├── 01_security.html │ └── 01_security_cn.md ├── 080_connect │ ├── 01_connect.html │ └── 01_connect_cn.md ├── 090_streams │ ├── 01_streams.md │ └── 01_streams_cn.md ├── CNAME ├── GLOSSARY.html ├── docs │ ├── .gitignore │ ├── 000_glossary │ │ └── 01_glossary.html │ ├── 010_getting_started │ │ ├── 01_introduction.html │ │ ├── 01_introduction_cn.html │ │ ├── 05_uses.html │ │ ├── 05_uses_cn.html │ │ ├── 10_quickstart.html │ │ ├── 10_quickstart_cn.html │ │ ├── 15_ecosystem.html │ │ ├── 15_ecosystem_cn.html │ │ ├── 20_upgrade.html │ │ └── 20_upgrade_cn.html │ ├── 020_api │ │ ├── 01_api.html │ │ └── 01_api_cn.html │ ├── 030_configuration │ │ ├── 01_configuration.html │ │ └── 01_configuration_cn.html │ ├── 040_design │ │ ├── 01_design.html │ │ └── 01_design_cn.html │ ├── 050_implementation │ │ ├── 01_implementation.html │ │ └── 01_implementation_cn.md │ ├── 060_operations │ │ ├── 01_ops.html │ │ └── 01_ops_cn.md │ ├── 070_security │ │ ├── 01_security.html │ │ └── 01_security_cn.md │ ├── 080_connect │ │ ├── 01_connect.html │ │ └── 01_connect_cn.md │ ├── 090_streams │ │ ├── 01_streams.md │ │ └── 01_streams_cn.md │ ├── CNAME │ ├── GLOSSARY.html │ ├── docs │ │ ├── .gitignore │ │ ├── 000_glossary │ │ │ └── 01_glossary.html │ │ ├── 010_getting_started │ │ │ ├── 01_introduction.html │ │ │ ├── 01_introduction_cn.html │ │ │ ├── 05_uses.html │ │ │ ├── 05_uses_cn.html │ │ │ ├── 10_quickstart.html │ │ │ ├── 10_quickstart_cn.html │ │ │ ├── 15_ecosystem.html │ │ │ ├── 15_ecosystem_cn.html │ │ │ ├── 20_upgrade.html │ │ │ └── 20_upgrade_cn.html │ │ ├── 020_api │ │ │ ├── 01_api.html │ │ │ └── 01_api_cn.html │ │ ├── 030_configuration │ │ │ ├── 01_configuration.html │ │ │ └── 01_configuration_cn.html │ │ ├── 040_design │ │ │ ├── 01_design.html │ │ │ └── 01_design_cn.html │ │ ├── 050_implementation │ │ │ ├── 01_implementation.html │ │ │ └── 01_implementation_cn.md │ │ ├── 060_operations │ │ │ ├── 01_ops.html │ │ │ └── 01_ops_cn.md │ │ ├── 070_security │ │ │ ├── 01_security.html │ │ │ └── 01_security_cn.md │ │ ├── 080_connect │ │ │ ├── 01_connect.html │ │ │ └── 01_connect_cn.md │ │ ├── 090_streams │ │ │ ├── 01_streams.md │ │ │ └── 01_streams_cn.md │ │ ├── CNAME │ │ ├── GLOSSARY.html │ │ ├── docs │ │ │ ├── .gitignore │ │ │ ├── 000_glossary │ │ │ │ └── 01_glossary.html │ │ │ ├── 010_getting_started │ │ │ │ ├── 01_introduction.html │ │ │ │ ├── 01_introduction_cn.html │ │ │ │ ├── 05_uses.html │ │ │ │ ├── 05_uses_cn.html │ │ │ │ ├── 10_quickstart.html │ │ │ │ ├── 10_quickstart_cn.html │ │ │ │ ├── 15_ecosystem.html │ │ │ │ ├── 15_ecosystem_cn.html │ │ │ │ ├── 20_upgrade.html │ │ │ │ └── 20_upgrade_cn.html │ │ │ ├── 020_api │ │ │ │ ├── 01_api.html │ │ │ │ └── 01_api_cn.html │ │ │ ├── 030_configuration │ │ │ │ ├── 01_configuration.html │ │ │ │ └── 01_configuration_cn.html │ │ │ ├── 040_design │ │ │ │ ├── 01_design.html │ │ │ │ └── 01_design_cn.html │ │ │ ├── 050_implementation │ │ │ │ ├── 01_implementation.html │ │ │ │ └── 01_implementation_cn.md │ │ │ ├── 060_operations │ │ │ │ ├── 01_ops.html │ │ │ │ └── 01_ops_cn.md │ │ │ ├── 070_security │ │ │ │ ├── 01_security.html │ │ │ │ └── 01_security_cn.md │ │ │ ├── 080_connect │ │ │ │ ├── 01_connect.html │ │ │ │ └── 01_connect_cn.md │ │ │ ├── 090_streams │ │ │ │ ├── 01_streams.md │ │ │ │ └── 01_streams_cn.md │ │ │ ├── CNAME │ │ │ ├── GLOSSARY.html │ │ │ ├── docs │ │ │ │ ├── .gitignore │ │ │ │ ├── 000_glossary │ │ │ │ │ └── 01_glossary.html │ │ │ │ ├── 010_getting_started │ │ │ │ │ ├── 01_introduction.html │ │ │ │ │ ├── 01_introduction_cn.html │ │ │ │ │ ├── 05_uses.html │ │ │ │ │ ├── 05_uses_cn.html │ │ │ │ │ ├── 10_quickstart.html │ │ │ │ │ ├── 10_quickstart_cn.html │ │ │ │ │ ├── 15_ecosystem.html │ │ │ │ │ ├── 15_ecosystem_cn.html │ │ │ │ │ ├── 20_upgrade.html │ │ │ │ │ └── 20_upgrade_cn.html │ │ │ │ ├── 020_api │ │ │ │ │ ├── 01_api.html │ │ │ │ │ └── 01_api_cn.html │ │ │ │ ├── 030_configuration │ │ │ │ │ ├── 01_configuration.html │ │ │ │ │ └── 01_configuration_cn.html │ │ │ │ ├── 040_design │ │ │ │ │ ├── 01_design.html │ │ │ │ │ └── 01_design_cn.html │ │ │ │ ├── 050_implementation │ │ │ │ │ ├── 01_implementation.html │ │ │ │ │ └── 01_implementation_cn.md │ │ │ │ ├── 060_operations │ │ │ │ │ ├── 01_ops.html │ │ │ │ │ └── 01_ops_cn.md │ │ │ │ ├── 070_security │ │ │ │ │ ├── 01_security.html │ │ │ │ │ └── 01_security_cn.md │ │ │ │ ├── 080_connect │ │ │ │ │ ├── 01_connect.html │ │ │ │ │ └── 01_connect_cn.md │ │ │ │ ├── 090_streams │ │ │ │ │ ├── 01_streams.md │ │ │ │ │ └── 01_streams_cn.md │ │ │ │ ├── CNAME │ │ │ │ ├── GLOSSARY.html │ │ │ │ ├── gitbook │ │ │ │ │ ├── fonts │ │ │ │ │ │ └── fontawesome │ │ │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ │ ├── gitbook-plugin-anchors │ │ │ │ │ │ └── plugin.css │ │ │ │ │ ├── gitbook-plugin-baidu_gio │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── gitbook-plugin-expandable-chapters-small │ │ │ │ │ │ ├── expandable-chapters-small.css │ │ │ │ │ │ └── expandable-chapters-small.js │ │ │ │ │ ├── gitbook-plugin-fontsettings │ │ │ │ │ │ ├── fontsettings.js │ │ │ │ │ │ └── website.css │ │ │ │ │ ├── gitbook-plugin-ga │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── gitbook-plugin-github │ │ │ │ │ │ └── plugin.js │ │ │ │ │ ├── gitbook-plugin-lunr │ │ │ │ │ │ ├── lunr.min.js │ │ │ │ │ │ └── search-lunr.js │ │ │ │ │ ├── gitbook-plugin-prism │ │ │ │ │ │ ├── prism-coy.css │ │ │ │ │ │ ├── prism-dark.css │ │ │ │ │ │ ├── prism-funky.css │ │ │ │ │ │ ├── prism-okaidia.css │ │ │ │ │ │ ├── prism-solarizedlight.css │ │ │ │ │ │ ├── prism-tomorrow.css │ │ │ │ │ │ ├── prism-twilight.css │ │ │ │ │ │ └── prism.css │ │ │ │ │ ├── gitbook-plugin-search │ │ │ │ │ │ ├── lunr.min.js │ │ │ │ │ │ ├── search-engine.js │ │ │ │ │ │ ├── search.css │ │ │ │ │ │ └── search.js │ │ │ │ │ ├── gitbook-plugin-sharing │ │ │ │ │ │ └── buttons.js │ │ │ │ │ ├── gitbook-plugin-splitter │ │ │ │ │ │ ├── splitter.css │ │ │ │ │ │ └── splitter.js │ │ │ │ │ ├── gitbook.js │ │ │ │ │ ├── images │ │ │ │ │ │ ├── apple-touch-icon-precomposed-152.png │ │ │ │ │ │ └── favicon.ico │ │ │ │ │ ├── style.css │ │ │ │ │ └── theme.js │ │ │ │ ├── images │ │ │ │ │ ├── consumer-groups.png │ │ │ │ │ ├── kafka_log.png │ │ │ │ │ ├── kafka_multidc.png │ │ │ │ │ ├── kafka_multidc_complex.png │ │ │ │ │ ├── log_anatomy.png │ │ │ │ │ ├── log_cleaner_anatomy.png │ │ │ │ │ ├── log_compaction.png │ │ │ │ │ ├── mirror-maker.png │ │ │ │ │ ├── producer_consumer.png │ │ │ │ │ └── tracking_high_level.png │ │ │ │ ├── index.html │ │ │ │ ├── search_index.json │ │ │ │ └── sitemap.xml │ │ │ ├── gitbook │ │ │ │ ├── fonts │ │ │ │ │ └── fontawesome │ │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ │ ├── gitbook-plugin-anchors │ │ │ │ │ └── plugin.css │ │ │ │ ├── gitbook-plugin-baidu_gio │ │ │ │ │ └── plugin.js │ │ │ │ ├── gitbook-plugin-expandable-chapters-small │ │ │ │ │ ├── expandable-chapters-small.css │ │ │ │ │ └── expandable-chapters-small.js │ │ │ │ ├── gitbook-plugin-fontsettings │ │ │ │ │ ├── fontsettings.js │ │ │ │ │ └── website.css │ │ │ │ ├── gitbook-plugin-ga │ │ │ │ │ └── plugin.js │ │ │ │ ├── gitbook-plugin-github │ │ │ │ │ └── plugin.js │ │ │ │ ├── gitbook-plugin-lunr │ │ │ │ │ ├── lunr.min.js │ │ │ │ │ └── search-lunr.js │ │ │ │ ├── gitbook-plugin-prism │ │ │ │ │ ├── prism-coy.css │ │ │ │ │ ├── prism-dark.css │ │ │ │ │ ├── prism-funky.css │ │ │ │ │ ├── prism-okaidia.css │ │ │ │ │ ├── prism-solarizedlight.css │ │ │ │ │ ├── prism-tomorrow.css │ │ │ │ │ ├── prism-twilight.css │ │ │ │ │ └── prism.css │ │ │ │ ├── gitbook-plugin-search │ │ │ │ │ ├── lunr.min.js │ │ │ │ │ ├── search-engine.js │ │ │ │ │ ├── search.css │ │ │ │ │ └── search.js │ │ │ │ ├── gitbook-plugin-sharing │ │ │ │ │ └── buttons.js │ │ │ │ ├── gitbook-plugin-splitter │ │ │ │ │ ├── splitter.css │ │ │ │ │ └── splitter.js │ │ │ │ ├── gitbook.js │ │ │ │ ├── images │ │ │ │ │ ├── apple-touch-icon-precomposed-152.png │ │ │ │ │ └── favicon.ico │ │ │ │ ├── style.css │ │ │ │ └── theme.js │ │ │ ├── images │ │ │ │ ├── consumer-groups.png │ │ │ │ ├── kafka_log.png │ │ │ │ ├── kafka_multidc.png │ │ │ │ ├── kafka_multidc_complex.png │ │ │ │ ├── log_anatomy.png │ │ │ │ ├── log_cleaner_anatomy.png │ │ │ │ ├── log_compaction.png │ │ │ │ ├── mirror-maker.png │ │ │ │ ├── producer_consumer.png │ │ │ │ └── tracking_high_level.png │ │ │ ├── index.html │ │ │ ├── search_index.json │ │ │ └── sitemap.xml │ │ ├── gitbook │ │ │ ├── fonts │ │ │ │ └── fontawesome │ │ │ │ │ ├── FontAwesome.otf │ │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── gitbook-plugin-anchors │ │ │ │ └── plugin.css │ │ │ ├── gitbook-plugin-baidu_gio │ │ │ │ └── plugin.js │ │ │ ├── gitbook-plugin-expandable-chapters-small │ │ │ │ ├── expandable-chapters-small.css │ │ │ │ └── expandable-chapters-small.js │ │ │ ├── gitbook-plugin-fontsettings │ │ │ │ ├── fontsettings.js │ │ │ │ └── website.css │ │ │ ├── gitbook-plugin-ga │ │ │ │ └── plugin.js │ │ │ ├── gitbook-plugin-github │ │ │ │ └── plugin.js │ │ │ ├── gitbook-plugin-lunr │ │ │ │ ├── lunr.min.js │ │ │ │ └── search-lunr.js │ │ │ ├── gitbook-plugin-prism │ │ │ │ ├── prism-coy.css │ │ │ │ ├── prism-dark.css │ │ │ │ ├── prism-funky.css │ │ │ │ ├── prism-okaidia.css │ │ │ │ ├── prism-solarizedlight.css │ │ │ │ ├── prism-tomorrow.css │ │ │ │ ├── prism-twilight.css │ │ │ │ └── prism.css │ │ │ ├── gitbook-plugin-search │ │ │ │ ├── lunr.min.js │ │ │ │ ├── search-engine.js │ │ │ │ ├── search.css │ │ │ │ └── search.js │ │ │ ├── gitbook-plugin-sharing │ │ │ │ └── buttons.js │ │ │ ├── gitbook-plugin-splitter │ │ │ │ ├── splitter.css │ │ │ │ └── splitter.js │ │ │ ├── gitbook.js │ │ │ ├── images │ │ │ │ ├── apple-touch-icon-precomposed-152.png │ │ │ │ └── favicon.ico │ │ │ ├── style.css │ │ │ └── theme.js │ │ ├── images │ │ │ ├── consumer-groups.png │ │ │ ├── kafka_log.png │ │ │ ├── kafka_multidc.png │ │ │ ├── kafka_multidc_complex.png │ │ │ ├── log_anatomy.png │ │ │ ├── log_cleaner_anatomy.png │ │ │ ├── log_compaction.png │ │ │ ├── mirror-maker.png │ │ │ ├── producer_consumer.png │ │ │ └── tracking_high_level.png │ │ ├── index.html │ │ ├── search_index.json │ │ └── sitemap.xml │ ├── gitbook │ │ ├── fonts │ │ │ └── fontawesome │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ ├── gitbook-plugin-anchors │ │ │ └── plugin.css │ │ ├── gitbook-plugin-baidu_gio │ │ │ └── plugin.js │ │ ├── gitbook-plugin-expandable-chapters-small │ │ │ ├── expandable-chapters-small.css │ │ │ └── expandable-chapters-small.js │ │ ├── gitbook-plugin-fontsettings │ │ │ ├── fontsettings.js │ │ │ └── website.css │ │ ├── gitbook-plugin-ga │ │ │ └── plugin.js │ │ ├── gitbook-plugin-github │ │ │ └── plugin.js │ │ ├── gitbook-plugin-lunr │ │ │ ├── lunr.min.js │ │ │ └── search-lunr.js │ │ ├── gitbook-plugin-prism │ │ │ ├── prism-coy.css │ │ │ ├── prism-dark.css │ │ │ ├── prism-funky.css │ │ │ ├── prism-okaidia.css │ │ │ ├── prism-solarizedlight.css │ │ │ ├── prism-tomorrow.css │ │ │ ├── prism-twilight.css │ │ │ └── prism.css │ │ ├── gitbook-plugin-search │ │ │ ├── lunr.min.js │ │ │ ├── search-engine.js │ │ │ ├── search.css │ │ │ └── search.js │ │ ├── gitbook-plugin-sharing │ │ │ └── buttons.js │ │ ├── gitbook-plugin-splitter │ │ │ ├── splitter.css │ │ │ └── splitter.js │ │ ├── gitbook.js │ │ ├── images │ │ │ ├── apple-touch-icon-precomposed-152.png │ │ │ └── favicon.ico │ │ ├── style.css │ │ └── theme.js │ ├── images │ │ ├── consumer-groups.png │ │ ├── kafka_log.png │ │ ├── kafka_multidc.png │ │ ├── kafka_multidc_complex.png │ │ ├── log_anatomy.png │ │ ├── log_cleaner_anatomy.png │ │ ├── log_compaction.png │ │ ├── mirror-maker.png │ │ ├── producer_consumer.png │ │ └── tracking_high_level.png │ ├── index.html │ ├── search_index.json │ └── sitemap.xml ├── gitbook │ ├── fonts │ │ └── fontawesome │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ ├── gitbook-plugin-anchors │ │ └── plugin.css │ ├── gitbook-plugin-baidu_gio │ │ └── plugin.js │ ├── gitbook-plugin-expandable-chapters-small │ │ ├── expandable-chapters-small.css │ │ └── expandable-chapters-small.js │ ├── gitbook-plugin-fontsettings │ │ ├── fontsettings.js │ │ └── website.css │ ├── gitbook-plugin-ga │ │ └── plugin.js │ ├── gitbook-plugin-github │ │ └── plugin.js │ ├── gitbook-plugin-lunr │ │ ├── lunr.min.js │ │ └── search-lunr.js │ ├── gitbook-plugin-prism │ │ ├── prism-coy.css │ │ ├── prism-dark.css │ │ ├── prism-funky.css │ │ ├── prism-okaidia.css │ │ ├── prism-solarizedlight.css │ │ ├── prism-tomorrow.css │ │ ├── prism-twilight.css │ │ └── prism.css │ ├── gitbook-plugin-search │ │ ├── lunr.min.js │ │ ├── search-engine.js │ │ ├── search.css │ │ └── search.js │ ├── gitbook-plugin-sharing │ │ └── buttons.js │ ├── gitbook-plugin-splitter │ │ ├── splitter.css │ │ └── splitter.js │ ├── gitbook.js │ ├── images │ │ ├── apple-touch-icon-precomposed-152.png │ │ └── favicon.ico │ ├── style.css │ └── theme.js ├── images │ ├── consumer-groups.png │ ├── kafka_log.png │ ├── kafka_multidc.png │ ├── kafka_multidc_complex.png │ ├── log_anatomy.png │ ├── log_cleaner_anatomy.png │ ├── log_compaction.png │ ├── mirror-maker.png │ ├── producer_consumer.png │ └── tracking_high_level.png ├── index.html ├── search_index.json └── sitemap.xml └── images ├── consumer-groups.png ├── kafka_log.png ├── kafka_multidc.png ├── kafka_multidc_complex.png ├── log_anatomy.png ├── log_cleaner_anatomy.png ├── log_compaction.png ├── mirror-maker.png ├── producer_consumer.png └── tracking_high_level.png /.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf -------------------------------------------------------------------------------- /000_glossary/01_glossary.md: -------------------------------------------------------------------------------- 1 | ## 术语表 2 | 3 | 排序暂时按照文章中出现的顺序 4 | 5 | 英文 | 翻译 6 | ------------------|---------- 7 | logs | 日志 8 | topic | 主题 9 | partition | 分区 10 | segment | 日志段 11 | offset | 偏移量 12 | Geo-Replication | 13 | producers | 生产者 14 | consumer | 消费者 15 | broker | 消息代理? 16 | Multi-tenancy | 多租户 17 | Metrics | 18 | pipeline | 管线、管道 19 | Replicated Logs | 副本日志 20 | In-Sync Replicas | 同步副本 21 | LEO | 日志文件最近偏移 22 | HW | 23 | rebalance | 24 | registry | 注册表 25 | rack | 26 | -------------------------------------------------------------------------------- /010_getting_started/05_uses_cn.md: -------------------------------------------------------------------------------- 1 | ### [1.2 应用场景 Use Cases](#uses) 2 | 3 | 本章节介绍几种主流的 Apache Kafka 的应用场景。关于几个场景实践的概述可以参考[这篇博客](http://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying). 4 | 5 | #### [信息系统 Messaging](#uses_messaging) 6 | 7 | Kafka 可以作为传统信息中间件的替代产品。消息中间件可能因为各种目的被引入到系统之中(解耦生产者和消费、堆积未处理的消息)。对比其他的信息中间件,Kafka 的高吞吐量、内建分区、副本、容错等特性,使得它在大规模伸缩性消息处理应用中成为了一个很好的解决方案。 8 | 9 | 根据我们的在消息系统场景的经验,系统常常需求的吞吐量并不高,但是要求很低的点到点的延迟并且依赖 Kafka 提供的强有力的持久化功能。 10 | 11 | 在这个领域 Kafka 常常被拿来与传统的消息中间件系统进行对比,例如 [**ActiveMQ**](http://activemq.apache.org/) 或者 [**RabbitMQ**](https://www.rabbitmq.com/)。 12 | 13 | #### [网站活动追踪 Website Activity Tracking](#uses_website) 14 | 15 | Kafka 原本的应用场景要求它能**重建一个用户活动追踪管线**作为一个实时的发布与订阅消息源。意思就是用户在网站上的动作事件(如浏览页面、搜索、或者其它操作)被发布到每个动作对应的中心化 Topic 上。使得这些数据源能被不同场景的需求订阅到,这些场景包括实时处理、实时监控、导入 Hadoop 或用于离线处理、报表的离线数据仓库中。 16 | 17 | 活动追踪通常情况下是非常高频的,因为很多活动消息是由每个用户的页面浏览产生的。 18 | 19 | #### [监控 Metrics](#uses_metrics) 20 | 21 | Kafka 常被用来**处理操作监控数据**。这涉及到聚合统计分布式应用的数据来产生一个中心化的操作数据数据源。 22 | 23 | #### [日志收集 Log Aggregation](#uses_logs) 24 | 25 | 很多人把 Kafka 用作**日志收集服务**的替换方案。日志收集基础就是从服务器收集物理日志文件并将其放到统一的地方(文件服务器或者 HDFS)存储以便后续处理。Kafka 抽象了文件的细节,为日志或者事件数据提供了一个消息流的抽象。这样就可以很好的支持低延迟处理需求、多数据源需求,分布式数据消费需求。与 Scribe 或 Flume 等其它的日志收集系统相比,Kafka 提供了同样优秀的性能,基于副本的更强的持久化保证和更低的点到点的延迟。 26 | 27 | #### [流处理 Stream Processing](#uses_streamprocessing) 28 | 29 | 许多 Kafka 用户是在一个多级组成的处理管道中处理数据的,他们的从 Kafka 的 Topic 上消费原始数据,然后对消息进行聚合、丰富、转发到新的 Topic 用于消费或者转入下一步处理。例如,一个推荐新闻文章的处理管线可能从 RSS 数据源爬取文章内容,然后将它发布到”articles“ Topic;然后后续的处理器再对文章内容进行规范化、去重,然后将规整的文章内容发布到一个新的 Topic 上;最后的处理管线可能尝试将这个内容推荐给用户。这样的处理管线通过一个个独立的 topic 构建起了一个实时数据流图。从 0.10.0.0 开始,Kafka 提供了一个称为 [**Kafka Streams**](http://kafka.apache.org/documentation.html#streams_overview) 的轻量级但强大的流处理包来实现如上所述的处理流程。从 Kafka Streams 开始,Kafka 成为了与 [**Apache Storm**](https://storm.apache.org/) 和 [**Apache Samza**](http://samza.apache.org/) 类似的开源流处理工具的新选择。 30 | 31 | #### [事件溯源 Event Sourcing](#uses_eventsourcing) 32 | 33 | [**事件溯源 Event sourcing**](http://martinfowler.com/eaaDev/EventSourcing.html) 是一种**将状态变更记录成一个时序队列**的应用设计模式。Kafka 对海量存储日志数据的支撑使得它可做这种应用非常好的后端支撑。 34 | 35 | #### [提交日志 Commit Log](#uses_commitlog) 36 | 37 | Kafka 可以作为分布式系统的**外部提交日志服务**。这些日志可以用于节点间数据复制和失败阶段的数据重同步过程。Kafka 的 [**日志合并 log compaction**](http://kafka.apache.org/documentation.html#compaction) 功能可以很好的支撑这种应用场景。Kafka 这种应用和 [**Apache BookKeeper**](http://zookeeper.apache.org/bookkeeper/) 功能相似。 38 | -------------------------------------------------------------------------------- /010_getting_started/15_ecosystem.md: -------------------------------------------------------------------------------- 1 | ### [1.4 Ecosystem](#ecosystem) 2 | 3 | There are a plethora of tools that integrate with Kafka outside the main distribution. The [**ecosystem page**](https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem) lists many of these, including stream processing systems, Hadoop integration, monitoring, and deployment tools. 4 | 5 | -------------------------------------------------------------------------------- /010_getting_started/15_ecosystem_cn.md: -------------------------------------------------------------------------------- 1 | ### [1.4 生态 Ecosystem](#ecosystem) 2 | 3 | 在 Kafka 的官方分发包之外,还有很多各式各样的和 Kafka 整合的工具。[**生态页面 (ecosystem page)**](https://cwiki.apache.org/confluence/display/KAFKA/Ecosystem) 列出了很多这样工具,包括流处理系统、Hadoop 整合、监控和部署工具等等。 4 | 5 | -------------------------------------------------------------------------------- /GLOSSARY.md: -------------------------------------------------------------------------------- 1 | ## Glossary 2 | 3 | 这里是本书中包含的相关术语及解释 4 | 5 | # Kafka 6 | Apache Kafka 是一个分布式流平台。 7 | 8 | # Topic 9 | 用于划分 Message 的逻辑概念,一个 Topic 可以分布在多个 Broker 上。 10 | 11 | # Partition 12 | 翻译为分区,他是 Kafka 横向扩展和并行化的基础,每一个 Topic 都可以被至少分为一个 Partition。 13 | 14 | # Offset 15 | Message 在 Partition 中的偏移量,编号顺序在 Partition 中有序。 16 | 17 | # Consumer 18 | 消费者,从 broker 中消费 Message。 19 | 20 | # Producer 21 | 生产者,向 broker 中发送 Message。 22 | 23 | # Replication 24 | Kafka 支持以 Partition 为单位对 Message 进行冗余备份,每个 Partition 都可以配置至少 1 个 Replication(当仅 1 个 Replication 时即仅该 Partition 本身)。 25 | 26 | # Leader 27 | 每个 Replication 集合中的 Partition 都会选出一个唯一的 Leader,所有的读写请求都由 Leader 处理。其他 Replicas 从 Leader 处把数据更新同步到本地。 28 | 29 | # Broker 30 | Kafka 中使用 Broker 来接受 Producer 和 Consumer 的请求,并把 Message 持久化到本地磁盘。每个 Cluster 当中会选举出一个 Broker 来担任 Controller,负责处理 Partition 的 Leader 选举,协调 Partition 迁移等工作。 31 | 32 | # ISR 33 | `In-Sync Replica`, 是 Replicas 的一个子集,表示目前 Alive 且与 Leader 能够“Catch-up”的 Replicas 集合。由于读写都是首先落到 Leader 上,所以一般来说通过同步机制从 Leader 上拉取数据的 Replica 都会和 Leader 有一些延迟(包括了延迟时间和延迟条数两个维度),任意一个超过阈值都会把该 Replica 踢出 ISR。每个 Leader Partition 都有它自己独立的 ISR。 34 | 35 | # Consumer Group 36 | 消费者组,各个 consumer 可以组成一个组,每个消息只能被组中的一个 consumer 消费,如果想要一个消息被多个 consumer 消费的话,那么这些 consumer 必须在不同的组。 37 | 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Apache Kafka 官方文档中文版 2 | 3 | Apache Kafka是一个高吞吐量分布式消息系统。 4 | 5 | Kafka在国内很多公司都有大规模的应用,但关于它的中文资料并不多,只找到了12年某版本的[设计章节的翻译](http://www.oschina.net/translate/kafka-design?lang=chs&page=1#)。 6 | 7 | 为了方便大家学习交流,尽最大努力翻译一下完整的官方的手册。 8 | 9 | 原文版本选择当前最新的[Kafka 0.10.0的文档](http://kafka.apache.org/documentation.html)(2016-08)。 10 | 11 | 前辈们在OS China上翻译的[设计章节](http://www.oschina.net/translate/kafka-design?lang=chs&page=1#)非常优秀,如果之前没有阅读过推荐先参考一下。 12 | 13 | ** 翻译中 ** 14 | 15 | 发现有小伙伴已经下载了,如果你发现后面还是英文不是我掺假是你着急了! 16 | 17 | --- 18 | 19 | 最近国内 Gitbook 比较不稳定,可以使用 Github Pages 地址阅读 20 | 21 | Github Pages:[Apache Kafka 官方文档中文版](http://kafkadoc.beanmr.com/) 22 | 23 | 源文档地址:[Kafka 0.10.0 Documentation](http://kafka.apache.org/documentation.html) 24 | 25 | Github: [BeanMr](https://github.com/BeanMr)/[apache-kafka-documentation-cn](https://github.com/BeanMr/apache-kafka-documentation-cn) 26 | 27 | Gitbook下载: [Apache Kafka Documentation CN](https://www.gitbook.com/book/ddfeng/apache-kafka-documentation-cn/details) 28 | 29 | --- 30 | 31 | 译者:[@D2Feng](https://github.com/BeanMr) [@Ein Verne](https://github.com/einverne) 32 | 33 | 翻译采用章节中英文对照的形式进行,未翻译的章节保持原文。 34 | 35 | 译文章节组织及内容尽量保持与原文一直,但有时某些句子直译会有些蹩脚,所以可能会进行一些语句上调整。 36 | 37 | 因为本人能力和精力有限,译文如有不妥欢迎[提issue](https://github.com/BeanMr/apache-kafka-documentation-cn/issues),更期望大家能共同参与进来。 38 | 39 | ## 参与翻译Pull Request流程 40 | 41 | 小伙伴[@numbbbbb](https://github.com/numbbbbb)在《The Swift Programming Language》对协作流程中进行了详细的介绍,小伙伴[@looly](https://github.com/looly)在他的ES翻译中总结了一下,我抄过来并再次感谢他们的分享。 42 | 43 | 1. 首先fork的项目[apache-kafka-documentation-cn](https://github.com/BeanMr/apache-kafka-documentation-cn)到你自己的Github 44 | 2. 把fork过去的项目也就是你的项目clone到你的本地 45 | 3. 运行 `git remote add ddfeng` 把我的库添加为远端库 46 | 4. 运行 `git pull ddfeng master` 拉取并合并到本地 47 | 5. 翻译内容或者更正之前的内容。 48 | 6. commit后push到自己的库(`git push origin master`) 49 | 7. 登录Github在你首页可以看到一个 `pull request` 按钮,点击它,填写一些说明信息,然后提交即可。 50 | 51 | 1~3是初始化操作,执行一次即可。 52 | 53 | 在提交前请先执行第4步同步库,这样可以及时发现和避免冲突,然后执行5~7既可。 54 | 55 | 如果嫌以上过程繁琐,你只是准备指出一些不当翻译,也可以点击段落后‘+’直接评论。 56 | 57 | 小伙伴 [@Ein Verne](https://github.com/einverne) 建议统一中文排版并提供了[参考规范](https://github.com/sparanoid/chinese-copywriting-guidelines/blob/master/README.md),希望大家尽量采纳。 58 | 59 | JustDoIT,您的任何建议和尝试都值得尊重!* 60 | 61 | ---- 62 | 63 | 因为在我天朝Gitbook比Github还不稳定,所以本人做了个 Hook 来将 Gitbook 生成的内容发布到 Github Pages 上。 64 | 65 | 在发布的过程会保留 /docs 目录下的 CNAME 文件,如果你要发布到自己的 Github Pages 请注意修改。 -------------------------------------------------------------------------------- /book.json: -------------------------------------------------------------------------------- 1 | { 2 | "gitbook": ">=3.0.0", 3 | "plugins": [ 4 | "splitter", 5 | "github", 6 | "anchors", 7 | "sitemap", 8 | "prism", 9 | "-highlight", 10 | "baidu_gio", 11 | "ga", 12 | "expandable-chapters-small" 13 | ], 14 | "pluginsConfig": { 15 | "baidu_gio": { 16 | "token": "f11ab3e8c5f25638fa247efa47a6b1f6" 17 | }, 18 | "ga": { 19 | "token": "UA-83895646-1" 20 | }, 21 | "github": { 22 | "url": "https://github.com/BeanMr/apache-kafka-documentation-cn" 23 | }, 24 | "prism": { 25 | "css": [ 26 | "prismjs/themes/prism-coy.css" 27 | ] 28 | }, 29 | "sharing": { 30 | "all": [ 31 | "facebook", 32 | "google", 33 | "twitter", 34 | "weibo", 35 | "instapaper" 36 | ], 37 | "facebook": true, 38 | "google": true, 39 | "instapaper": true, 40 | "twitter": true, 41 | "vk": false, 42 | "weibo": true 43 | }, 44 | "sitemap": { 45 | "hostname": "http://kafkadoc.beanmr.com/" 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | kafkadoc.beanmr.com -------------------------------------------------------------------------------- /docs/docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf -------------------------------------------------------------------------------- /docs/docs/CNAME: -------------------------------------------------------------------------------- 1 | kafkadoc.beanmr.com -------------------------------------------------------------------------------- /docs/docs/docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf -------------------------------------------------------------------------------- /docs/docs/docs/CNAME: -------------------------------------------------------------------------------- 1 | kafkadoc.beanmr.com -------------------------------------------------------------------------------- /docs/docs/docs/docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf -------------------------------------------------------------------------------- /docs/docs/docs/docs/CNAME: -------------------------------------------------------------------------------- 1 | kafkadoc.beanmr.com -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Node rules: 2 | ## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 3 | .grunt 4 | 5 | ## Dependency directory 6 | ## Commenting this out is preferred by some people, see 7 | ## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git 8 | node_modules 9 | 10 | # Book build output 11 | _book 12 | 13 | # eBook build output 14 | *.epub 15 | *.mobi 16 | *.pdf -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/CNAME: -------------------------------------------------------------------------------- 1 | kafkadoc.beanmr.com -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-anchors/plugin.css: -------------------------------------------------------------------------------- 1 | 2 | a.plugin-anchor { 3 | color: inherit !important; 4 | display: none; 5 | margin-left: -30px; 6 | padding-left: 40px; 7 | cursor: pointer; 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 0; 12 | } 13 | 14 | a.plugin-anchor i { 15 | margin-left: -30px; 16 | font-size: 15px !important; 17 | } 18 | 19 | h1, h2, h3, h4, h5, h6 { 20 | position: relative; 21 | } 22 | 23 | h1:hover a.plugin-anchor, h2:hover a.plugin-anchor, h3:hover a.plugin-anchor, 24 | h4:hover a.plugin-anchor, h5:hover a.plugin-anchor, h6:hover a.plugin-anchor { 25 | display: inline-block; 26 | } 27 | 28 | .book .book-body .page-wrapper .page-inner section.normal { 29 | overflow: visible; 30 | } 31 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-baidu_gio/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | gitbook.events.bind("start", function(e, config) { 3 | var baidu_gio = config.baidu_gio || {}; 4 | var _hmt = _hmt || []; 5 | (function() { 6 | var hm = document.createElement("script"); 7 | hm.src = '//hm.baidu.com/hm.js?' + baidu_gio['token']; 8 | var s = document.getElementsByTagName("script")[0]; 9 | s.parentNode.insertBefore(hm, s); 10 | })(); 11 | 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css: -------------------------------------------------------------------------------- 1 | .book .book-summary .chapter > .articles { 2 | overflow: hidden; 3 | max-height: 0px; 4 | } 5 | 6 | .book .book-summary .chapter.expanded > .articles { 7 | max-height: 9999px; 8 | } 9 | 10 | .book .book-summary .exc-trigger { 11 | position: absolute; 12 | left: 12px; 13 | top: 12px; 14 | } 15 | 16 | .book .book-summary ul.summary li a, 17 | .book .book-summary ul.summary li span { 18 | padding-left: 30px; 19 | } 20 | 21 | .book .book-summary .exc-trigger:before { 22 | content: "\f105"; 23 | } 24 | 25 | .book .book-summary .expanded > a .exc-trigger:before, 26 | .book .book-summary .expanded > span .exc-trigger:before { 27 | content: "\f107"; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jQuery'], function(gitbook, $) { 2 | var TOGGLE_CLASSNAME = 'expanded', 3 | CHAPTER = '.chapter', 4 | ARTICLES = '.articles', 5 | TRIGGER_TEMPLATE = '', 6 | LS_NAMESPACE = 'expChapters'; 7 | var init = function () { 8 | // adding the trigger element to each ARTICLES parent and binding the event 9 | $(ARTICLES) 10 | .parent(CHAPTER) 11 | .children('a') 12 | .append( 13 | $(TRIGGER_TEMPLATE) 14 | .on('click', function(e) { 15 | e.preventDefault(); 16 | e.stopPropagation(); 17 | toggle($(e.target).closest(CHAPTER)); 18 | }) 19 | ); 20 | expand(lsItem()); 21 | //expand current selected chapter with it's parents 22 | var activeChapter = $(CHAPTER + '.active'); 23 | expand(activeChapter); 24 | expand(activeChapter.parents(CHAPTER)); 25 | 26 | 27 | } 28 | var toggle = function ($chapter) { 29 | if ($chapter.hasClass('expanded')) { 30 | collapse($chapter); 31 | } else { 32 | expand($chapter); 33 | } 34 | } 35 | var collapse = function ($chapter) { 36 | if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { 37 | $chapter.removeClass(TOGGLE_CLASSNAME); 38 | lsItem($chapter); 39 | } 40 | } 41 | var expand = function ($chapter) { 42 | if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { 43 | $chapter.addClass(TOGGLE_CLASSNAME); 44 | lsItem($chapter); 45 | } 46 | } 47 | var lsItem = function () { 48 | var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} 49 | if (arguments.length) { 50 | var $chapters = arguments[0]; 51 | $chapters.each(function (index, element) { 52 | var level = $(this).data('level'); 53 | var value = $(this).hasClass(TOGGLE_CLASSNAME); 54 | map[level] = value; 55 | }) 56 | localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); 57 | } else { 58 | return $(CHAPTER).map(function(index, element){ 59 | if (map[$(this).data('level')]) { 60 | return this; 61 | } 62 | }) 63 | } 64 | } 65 | gitbook.events.bind('page.change', function() { 66 | init() 67 | }); 68 | }); 69 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-ga/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | // Load analytics.js 3 | gitbook.events.bind("start", function(e, config) { 4 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 5 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 6 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 7 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 8 | 9 | var cfg = config.ga; 10 | ga('create', cfg.token, cfg.configuration); 11 | }); 12 | 13 | // Notify pageview 14 | gitbook.events.bind("page.change", function() { 15 | ga('send', 'pageview', window.location.pathname+window.location.search); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-github/plugin.js: -------------------------------------------------------------------------------- 1 | require([ 'gitbook' ], function (gitbook) { 2 | gitbook.events.bind('start', function (e, config) { 3 | var githubURL = config.github.url; 4 | 5 | gitbook.toolbar.createButton({ 6 | icon: 'fa fa-github', 7 | label: 'GitHub', 8 | position: 'right', 9 | onClick: function() { 10 | window.open(githubURL) 11 | } 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-lunr/search-lunr.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Define global search engine 6 | function LunrSearchEngine() { 7 | this.index = null; 8 | this.store = {}; 9 | this.name = 'LunrSearchEngine'; 10 | } 11 | 12 | // Initialize lunr by fetching the search index 13 | LunrSearchEngine.prototype.init = function() { 14 | var that = this; 15 | var d = $.Deferred(); 16 | 17 | $.getJSON(gitbook.state.basePath+'/search_index.json') 18 | .then(function(data) { 19 | // eslint-disable-next-line no-undef 20 | that.index = lunr.Index.load(data.index); 21 | that.store = data.store; 22 | d.resolve(); 23 | }); 24 | 25 | return d.promise(); 26 | }; 27 | 28 | // Search for a term and return results 29 | LunrSearchEngine.prototype.search = function(q, offset, length) { 30 | var that = this; 31 | var results = []; 32 | 33 | if (this.index) { 34 | results = $.map(this.index.search(q), function(result) { 35 | var doc = that.store[result.ref]; 36 | 37 | return { 38 | title: doc.title, 39 | url: doc.url, 40 | body: doc.summary || doc.body 41 | }; 42 | }); 43 | } 44 | 45 | return $.Deferred().resolve({ 46 | query: q, 47 | results: results.slice(0, length), 48 | count: results.length 49 | }).promise(); 50 | }; 51 | 52 | // Set gitbook research 53 | gitbook.events.bind('start', function(e, config) { 54 | var engine = gitbook.search.getEngine(); 55 | if (!engine) { 56 | gitbook.search.setEngine(LunrSearchEngine, config); 57 | } 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Dark theme for JavaScript, CSS and HTML 3 | * Based on the slides of the talk “/Reg(exp){2}lained/” 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: white; 10 | background: none; 11 | text-shadow: 0 -.1em .2em black; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | @media print { 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | text-shadow: none; 34 | } 35 | } 36 | 37 | pre[class*="language-"], 38 | :not(pre) > code[class*="language-"] { 39 | background: hsl(30, 20%, 25%); 40 | } 41 | 42 | /* Code blocks */ 43 | pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: .3em solid hsl(30, 20%, 40%); 48 | border-radius: .5em; 49 | box-shadow: 1px 1px .5em black inset; 50 | } 51 | 52 | /* Inline code */ 53 | :not(pre) > code[class*="language-"] { 54 | padding: .15em .2em .05em; 55 | border-radius: .3em; 56 | border: .13em solid hsl(30, 20%, 40%); 57 | box-shadow: 1px 1px .3em -.1em black inset; 58 | white-space: normal; 59 | } 60 | 61 | .token.comment, 62 | .token.prolog, 63 | .token.doctype, 64 | .token.cdata { 65 | color: hsl(30, 20%, 50%); 66 | } 67 | 68 | .token.punctuation { 69 | opacity: .7; 70 | } 71 | 72 | .namespace { 73 | opacity: .7; 74 | } 75 | 76 | .token.property, 77 | .token.tag, 78 | .token.boolean, 79 | .token.number, 80 | .token.constant, 81 | .token.symbol { 82 | color: hsl(350, 40%, 70%); 83 | } 84 | 85 | .token.selector, 86 | .token.attr-name, 87 | .token.string, 88 | .token.char, 89 | .token.builtin, 90 | .token.inserted { 91 | color: hsl(75, 70%, 60%); 92 | } 93 | 94 | .token.operator, 95 | .token.entity, 96 | .token.url, 97 | .language-css .token.string, 98 | .style .token.string, 99 | .token.variable { 100 | color: hsl(40, 90%, 60%); 101 | } 102 | 103 | .token.atrule, 104 | .token.attr-value, 105 | .token.keyword { 106 | color: hsl(350, 40%, 70%); 107 | } 108 | 109 | .token.regex, 110 | .token.important { 111 | color: #e90; 112 | } 113 | 114 | .token.important, 115 | .token.bold { 116 | font-weight: bold; 117 | } 118 | .token.italic { 119 | font-style: italic; 120 | } 121 | 122 | .token.entity { 123 | cursor: help; 124 | } 125 | 126 | .token.deleted { 127 | color: red; 128 | } 129 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-funky.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Funky theme 3 | * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 10 | text-align: left; 11 | white-space: pre; 12 | word-spacing: normal; 13 | word-break: normal; 14 | word-wrap: normal; 15 | line-height: 1.5; 16 | 17 | -moz-tab-size: 4; 18 | -o-tab-size: 4; 19 | tab-size: 4; 20 | 21 | -webkit-hyphens: none; 22 | -moz-hyphens: none; 23 | -ms-hyphens: none; 24 | hyphens: none; 25 | } 26 | 27 | /* Code blocks */ 28 | pre[class*="language-"] { 29 | padding: .4em .8em; 30 | margin: .5em 0; 31 | overflow: auto; 32 | background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); 33 | background-size: 1em 1em; 34 | } 35 | 36 | code[class*="language-"] { 37 | background: black; 38 | color: white; 39 | box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .2em; 45 | border-radius: .3em; 46 | box-shadow: none; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #aaa; 55 | } 56 | 57 | .token.punctuation { 58 | color: #999; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.boolean, 68 | .token.number, 69 | .token.constant, 70 | .token.symbol { 71 | color: #0cf; 72 | } 73 | 74 | .token.selector, 75 | .token.attr-name, 76 | .token.string, 77 | .token.char, 78 | .token.builtin { 79 | color: yellow; 80 | } 81 | 82 | .token.operator, 83 | .token.entity, 84 | .token.url, 85 | .language-css .token.string, 86 | .toke.variable, 87 | .token.inserted { 88 | color: yellowgreen; 89 | } 90 | 91 | .token.atrule, 92 | .token.attr-value, 93 | .token.keyword { 94 | color: deeppink; 95 | } 96 | 97 | .token.regex, 98 | .token.important { 99 | color: orange; 100 | } 101 | 102 | .token.important, 103 | .token.bold { 104 | font-weight: bold; 105 | } 106 | .token.italic { 107 | font-style: italic; 108 | } 109 | 110 | .token.entity { 111 | cursor: help; 112 | } 113 | 114 | .token.deleted { 115 | color: red; 116 | } 117 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-okaidia.css: -------------------------------------------------------------------------------- 1 | /** 2 | * okaidia theme for JavaScript, CSS and HTML 3 | * Loosely based on Monokai textmate theme by http://www.monokai.nl/ 4 | * @author ocodia 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #f8f8f2; 10 | background: none; 11 | text-shadow: 0 1px rgba(0, 0, 0, 0.3); 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | border-radius: 0.3em; 36 | } 37 | 38 | :not(pre) > code[class*="language-"], 39 | pre[class*="language-"] { 40 | background: #272822; 41 | } 42 | 43 | /* Inline code */ 44 | :not(pre) > code[class*="language-"] { 45 | padding: .1em; 46 | border-radius: .3em; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: slategray; 55 | } 56 | 57 | .token.punctuation { 58 | color: #f8f8f2; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.constant, 68 | .token.symbol, 69 | .token.deleted { 70 | color: #f92672; 71 | } 72 | 73 | .token.boolean, 74 | .token.number { 75 | color: #ae81ff; 76 | } 77 | 78 | .token.selector, 79 | .token.attr-name, 80 | .token.string, 81 | .token.char, 82 | .token.builtin, 83 | .token.inserted { 84 | color: #a6e22e; 85 | } 86 | 87 | .token.operator, 88 | .token.entity, 89 | .token.url, 90 | .language-css .token.string, 91 | .style .token.string, 92 | .token.variable { 93 | color: #f8f8f2; 94 | } 95 | 96 | .token.atrule, 97 | .token.attr-value, 98 | .token.function { 99 | color: #e6db74; 100 | } 101 | 102 | .token.keyword { 103 | color: #66d9ef; 104 | } 105 | 106 | .token.regex, 107 | .token.important { 108 | color: #fd971f; 109 | } 110 | 111 | .token.important, 112 | .token.bold { 113 | font-weight: bold; 114 | } 115 | .token.italic { 116 | font-style: italic; 117 | } 118 | 119 | .token.entity { 120 | cursor: help; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-solarizedlight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Solarized Color Schemes originally by Ethan Schoonover 3 | http://ethanschoonover.com/solarized 4 | 5 | Ported for PrismJS by Hector Matos 6 | Website: https://krakendev.io 7 | Twitter Handle: https://twitter.com/allonsykraken) 8 | */ 9 | 10 | /* 11 | SOLARIZED HEX 12 | --------- ------- 13 | base03 #002b36 14 | base02 #073642 15 | base01 #586e75 16 | base00 #657b83 17 | base0 #839496 18 | base1 #93a1a1 19 | base2 #eee8d5 20 | base3 #fdf6e3 21 | yellow #b58900 22 | orange #cb4b16 23 | red #dc322f 24 | magenta #d33682 25 | violet #6c71c4 26 | blue #268bd2 27 | cyan #2aa198 28 | green #859900 29 | */ 30 | 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | color: #657b83; /* base00 */ 34 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 35 | text-align: left; 36 | white-space: pre; 37 | word-spacing: normal; 38 | word-break: normal; 39 | word-wrap: normal; 40 | 41 | line-height: 1.5; 42 | 43 | -moz-tab-size: 4; 44 | -o-tab-size: 4; 45 | tab-size: 4; 46 | 47 | -webkit-hyphens: none; 48 | -moz-hyphens: none; 49 | -ms-hyphens: none; 50 | hyphens: none; 51 | } 52 | 53 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 54 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 55 | background: #073642; /* base02 */ 56 | } 57 | 58 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 59 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 60 | background: #073642; /* base02 */ 61 | } 62 | 63 | /* Code blocks */ 64 | pre[class*="language-"] { 65 | padding: 1em; 66 | margin: .5em 0; 67 | overflow: auto; 68 | border-radius: 0.3em; 69 | } 70 | 71 | :not(pre) > code[class*="language-"], 72 | pre[class*="language-"] { 73 | background-color: #fdf6e3; /* base3 */ 74 | } 75 | 76 | /* Inline code */ 77 | :not(pre) > code[class*="language-"] { 78 | padding: .1em; 79 | border-radius: .3em; 80 | } 81 | 82 | .token.comment, 83 | .token.prolog, 84 | .token.doctype, 85 | .token.cdata { 86 | color: #93a1a1; /* base1 */ 87 | } 88 | 89 | .token.punctuation { 90 | color: #586e75; /* base01 */ 91 | } 92 | 93 | .namespace { 94 | opacity: .7; 95 | } 96 | 97 | .token.property, 98 | .token.tag, 99 | .token.boolean, 100 | .token.number, 101 | .token.constant, 102 | .token.symbol, 103 | .token.deleted { 104 | color: #268bd2; /* blue */ 105 | } 106 | 107 | .token.selector, 108 | .token.attr-name, 109 | .token.string, 110 | .token.char, 111 | .token.builtin, 112 | .token.url, 113 | .token.inserted { 114 | color: #2aa198; /* cyan */ 115 | } 116 | 117 | .token.entity { 118 | color: #657b83; /* base00 */ 119 | background: #eee8d5; /* base2 */ 120 | } 121 | 122 | .token.atrule, 123 | .token.attr-value, 124 | .token.keyword { 125 | color: #859900; /* green */ 126 | } 127 | 128 | .token.function { 129 | color: #b58900; /* yellow */ 130 | } 131 | 132 | .token.regex, 133 | .token.important, 134 | .token.variable { 135 | color: #cb4b16; /* orange */ 136 | } 137 | 138 | .token.important, 139 | .token.bold { 140 | font-weight: bold; 141 | } 142 | .token.italic { 143 | font-style: italic; 144 | } 145 | 146 | .token.entity { 147 | cursor: help; 148 | } -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-tomorrow.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML 3 | * Based on https://github.com/chriskempson/tomorrow-theme 4 | * @author Rose Pritchard 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #ccc; 10 | background: none; 11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 12 | text-align: left; 13 | white-space: pre; 14 | word-spacing: normal; 15 | word-break: normal; 16 | word-wrap: normal; 17 | line-height: 1.5; 18 | 19 | -moz-tab-size: 4; 20 | -o-tab-size: 4; 21 | tab-size: 4; 22 | 23 | -webkit-hyphens: none; 24 | -moz-hyphens: none; 25 | -ms-hyphens: none; 26 | hyphens: none; 27 | 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | } 36 | 37 | :not(pre) > code[class*="language-"], 38 | pre[class*="language-"] { 39 | background: #2d2d2d; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .1em; 45 | border-radius: .3em; 46 | white-space: normal; 47 | } 48 | 49 | .token.comment, 50 | .token.block-comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #999; 55 | } 56 | 57 | .token.punctuation { 58 | color: #ccc; 59 | } 60 | 61 | .token.tag, 62 | .token.attr-name, 63 | .token.namespace, 64 | .token.deleted { 65 | color: #e2777a; 66 | } 67 | 68 | .token.function-name { 69 | color: #6196cc; 70 | } 71 | 72 | .token.boolean, 73 | .token.number, 74 | .token.function { 75 | color: #f08d49; 76 | } 77 | 78 | .token.property, 79 | .token.class-name, 80 | .token.constant, 81 | .token.symbol { 82 | color: #f8c555; 83 | } 84 | 85 | .token.selector, 86 | .token.important, 87 | .token.atrule, 88 | .token.keyword, 89 | .token.builtin { 90 | color: #cc99cd; 91 | } 92 | 93 | .token.string, 94 | .token.char, 95 | .token.attr-value, 96 | .token.regex, 97 | .token.variable { 98 | color: #7ec699; 99 | } 100 | 101 | .token.operator, 102 | .token.entity, 103 | .token.url { 104 | color: #67cdcc; 105 | } 106 | 107 | .token.important, 108 | .token.bold { 109 | font-weight: bold; 110 | } 111 | .token.italic { 112 | font-style: italic; 113 | } 114 | 115 | .token.entity { 116 | cursor: help; 117 | } 118 | 119 | .token.inserted { 120 | color: green; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js default theme for JavaScript, CSS and HTML 3 | * Based on dabblet (http://dabblet.com) 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: black; 10 | background: none; 11 | text-shadow: 0 1px white; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 31 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 32 | text-shadow: none; 33 | background: #b3d4fc; 34 | } 35 | 36 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 37 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 38 | text-shadow: none; 39 | background: #b3d4fc; 40 | } 41 | 42 | @media print { 43 | code[class*="language-"], 44 | pre[class*="language-"] { 45 | text-shadow: none; 46 | } 47 | } 48 | 49 | /* Code blocks */ 50 | pre[class*="language-"] { 51 | padding: 1em; 52 | margin: .5em 0; 53 | overflow: auto; 54 | } 55 | 56 | :not(pre) > code[class*="language-"], 57 | pre[class*="language-"] { 58 | background: #f5f2f0; 59 | } 60 | 61 | /* Inline code */ 62 | :not(pre) > code[class*="language-"] { 63 | padding: .1em; 64 | border-radius: .3em; 65 | white-space: normal; 66 | } 67 | 68 | .token.comment, 69 | .token.prolog, 70 | .token.doctype, 71 | .token.cdata { 72 | color: slategray; 73 | } 74 | 75 | .token.punctuation { 76 | color: #999; 77 | } 78 | 79 | .namespace { 80 | opacity: .7; 81 | } 82 | 83 | .token.property, 84 | .token.tag, 85 | .token.boolean, 86 | .token.number, 87 | .token.constant, 88 | .token.symbol, 89 | .token.deleted { 90 | color: #905; 91 | } 92 | 93 | .token.selector, 94 | .token.attr-name, 95 | .token.string, 96 | .token.char, 97 | .token.builtin, 98 | .token.inserted { 99 | color: #690; 100 | } 101 | 102 | .token.operator, 103 | .token.entity, 104 | .token.url, 105 | .language-css .token.string, 106 | .style .token.string { 107 | color: #a67f59; 108 | background: hsla(0, 0%, 100%, .5); 109 | } 110 | 111 | .token.atrule, 112 | .token.attr-value, 113 | .token.keyword { 114 | color: #07a; 115 | } 116 | 117 | .token.function { 118 | color: #DD4A68; 119 | } 120 | 121 | .token.regex, 122 | .token.important, 123 | .token.variable { 124 | color: #e90; 125 | } 126 | 127 | .token.important, 128 | .token.bold { 129 | font-weight: bold; 130 | } 131 | .token.italic { 132 | font-style: italic; 133 | } 134 | 135 | .token.entity { 136 | cursor: help; 137 | } 138 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-search/search-engine.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Global search objects 6 | var engine = null; 7 | var initialized = false; 8 | 9 | // Set a new search engine 10 | function setEngine(Engine, config) { 11 | initialized = false; 12 | engine = new Engine(config); 13 | 14 | init(config); 15 | } 16 | 17 | // Initialize search engine with config 18 | function init(config) { 19 | if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).'); 20 | 21 | return engine.init(config) 22 | .then(function() { 23 | initialized = true; 24 | gitbook.events.trigger('search.ready'); 25 | }); 26 | } 27 | 28 | // Launch search for query q 29 | function query(q, offset, length) { 30 | if (!initialized) throw new Error('Search has not been initialized'); 31 | return engine.search(q, offset, length); 32 | } 33 | 34 | // Get stats about search 35 | function getEngine() { 36 | return engine? engine.name : null; 37 | } 38 | 39 | function isInitialized() { 40 | return initialized; 41 | } 42 | 43 | // Initialize gitbook.search 44 | gitbook.search = { 45 | setEngine: setEngine, 46 | getEngine: getEngine, 47 | query: query, 48 | isInitialized: isInitialized 49 | }; 50 | }); -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-search/search.css: -------------------------------------------------------------------------------- 1 | /* 2 | This CSS only styled the search results section, not the search input 3 | It defines the basic interraction to hide content when displaying results, etc 4 | */ 5 | #book-search-results .search-results { 6 | display: none; 7 | } 8 | #book-search-results .search-results ul.search-results-list { 9 | list-style-type: none; 10 | padding-left: 0; 11 | } 12 | #book-search-results .search-results ul.search-results-list li { 13 | margin-bottom: 1.5rem; 14 | padding-bottom: 0.5rem; 15 | /* Highlight results */ 16 | } 17 | #book-search-results .search-results ul.search-results-list li p em { 18 | background-color: rgba(255, 220, 0, 0.4); 19 | font-style: normal; 20 | } 21 | #book-search-results .search-results .no-results { 22 | display: none; 23 | } 24 | #book-search-results.open .search-results { 25 | display: block; 26 | } 27 | #book-search-results.open .search-noresults { 28 | display: none; 29 | } 30 | #book-search-results.no-results .search-results .has-results { 31 | display: none; 32 | } 33 | #book-search-results.no-results .search-results .no-results { 34 | display: block; 35 | } 36 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-sharing/buttons.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jquery'], function(gitbook, $) { 2 | var SITES = { 3 | 'facebook': { 4 | 'label': 'Facebook', 5 | 'icon': 'fa fa-facebook', 6 | 'onClick': function(e) { 7 | e.preventDefault(); 8 | window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); 9 | } 10 | }, 11 | 'twitter': { 12 | 'label': 'Twitter', 13 | 'icon': 'fa fa-twitter', 14 | 'onClick': function(e) { 15 | e.preventDefault(); 16 | window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); 17 | } 18 | }, 19 | 'google': { 20 | 'label': 'Google+', 21 | 'icon': 'fa fa-google-plus', 22 | 'onClick': function(e) { 23 | e.preventDefault(); 24 | window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); 25 | } 26 | }, 27 | 'weibo': { 28 | 'label': 'Weibo', 29 | 'icon': 'fa fa-weibo', 30 | 'onClick': function(e) { 31 | e.preventDefault(); 32 | window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); 33 | } 34 | }, 35 | 'instapaper': { 36 | 'label': 'Instapaper', 37 | 'icon': 'fa fa-instapaper', 38 | 'onClick': function(e) { 39 | e.preventDefault(); 40 | window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); 41 | } 42 | }, 43 | 'vk': { 44 | 'label': 'VK', 45 | 'icon': 'fa fa-vk', 46 | 'onClick': function(e) { 47 | e.preventDefault(); 48 | window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); 49 | } 50 | } 51 | }; 52 | 53 | 54 | 55 | gitbook.events.bind('start', function(e, config) { 56 | var opts = config.sharing; 57 | 58 | // Create dropdown menu 59 | var menu = $.map(opts.all, function(id) { 60 | var site = SITES[id]; 61 | 62 | return { 63 | text: site.label, 64 | onClick: site.onClick 65 | }; 66 | }); 67 | 68 | // Create main button with dropdown 69 | if (menu.length > 0) { 70 | gitbook.toolbar.createButton({ 71 | icon: 'fa fa-share-alt', 72 | label: 'Share', 73 | position: 'right', 74 | dropdown: [menu] 75 | }); 76 | } 77 | 78 | // Direct actions to share 79 | $.each(SITES, function(sideId, site) { 80 | if (!opts[sideId]) return; 81 | 82 | gitbook.toolbar.createButton({ 83 | icon: site.icon, 84 | label: site.text, 85 | position: 'right', 86 | onClick: site.onClick 87 | }); 88 | }); 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/gitbook-plugin-splitter/splitter.css: -------------------------------------------------------------------------------- 1 | .divider-content-summary { 2 | position: absolute; 3 | top: 0; 4 | right: 0; 5 | height: 100%; 6 | width: 5px; 7 | display: table; 8 | cursor: col-resize; 9 | color: #ccc; 10 | -webkit-transition: color 350ms ease; 11 | -moz-transition: color 350ms ease; 12 | -o-transition: color 350ms ease; 13 | transition: color 350ms ease 14 | } 15 | .divider-content-summary:hover { 16 | color: #444; 17 | } 18 | .divider-content-summary__icon { 19 | display: table-cell; 20 | vertical-align: middle; 21 | text-align: center; 22 | } 23 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/gitbook/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/gitbook/images/favicon.ico -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/consumer-groups.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/kafka_log.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/kafka_multidc.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/log_anatomy.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/log_compaction.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/mirror-maker.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/producer_consumer.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/docs/images/tracking_high_level.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | http://kafkadoc.beanmr.com/./ weekly 0.5 4 | http://kafkadoc.beanmr.com/000_glossary/01_glossary.html weekly 0.5 5 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction_cn.html weekly 0.5 6 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction.html weekly 0.5 7 | http://kafkadoc.beanmr.com/010_getting_started/05_uses_cn.html weekly 0.5 8 | http://kafkadoc.beanmr.com/010_getting_started/05_uses.html weekly 0.5 9 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart_cn.html weekly 0.5 10 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart.html weekly 0.5 11 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem_cn.html weekly 0.5 12 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem.html weekly 0.5 13 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade_cn.html weekly 0.5 14 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade.html weekly 0.5 15 | http://kafkadoc.beanmr.com/020_api/01_api_cn.html weekly 0.5 16 | http://kafkadoc.beanmr.com/020_api/01_api.html weekly 0.5 17 | http://kafkadoc.beanmr.com/030_configuration/01_configuration_cn.html weekly 0.5 18 | http://kafkadoc.beanmr.com/030_configuration/01_configuration.html weekly 0.5 19 | http://kafkadoc.beanmr.com/040_design/01_design_cn.html weekly 0.5 20 | http://kafkadoc.beanmr.com/040_design/01_design.html weekly 0.5 21 | http://kafkadoc.beanmr.com/050_implementation/01_implementation.html weekly 0.5 22 | http://kafkadoc.beanmr.com/060_operations/01_ops.html weekly 0.5 23 | http://kafkadoc.beanmr.com/070_security/01_security.html weekly 0.5 24 | http://kafkadoc.beanmr.com/080_connect/01_connect.html weekly 0.5 25 | http://kafkadoc.beanmr.com/GLOSSARY.html weekly 0.5 26 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-anchors/plugin.css: -------------------------------------------------------------------------------- 1 | 2 | a.plugin-anchor { 3 | color: inherit !important; 4 | display: none; 5 | margin-left: -30px; 6 | padding-left: 40px; 7 | cursor: pointer; 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 0; 12 | } 13 | 14 | a.plugin-anchor i { 15 | margin-left: -30px; 16 | font-size: 15px !important; 17 | } 18 | 19 | h1, h2, h3, h4, h5, h6 { 20 | position: relative; 21 | } 22 | 23 | h1:hover a.plugin-anchor, h2:hover a.plugin-anchor, h3:hover a.plugin-anchor, 24 | h4:hover a.plugin-anchor, h5:hover a.plugin-anchor, h6:hover a.plugin-anchor { 25 | display: inline-block; 26 | } 27 | 28 | .book .book-body .page-wrapper .page-inner section.normal { 29 | overflow: visible; 30 | } 31 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-baidu_gio/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | gitbook.events.bind("start", function(e, config) { 3 | var baidu_gio = config.baidu_gio || {}; 4 | var _hmt = _hmt || []; 5 | (function() { 6 | var hm = document.createElement("script"); 7 | hm.src = '//hm.baidu.com/hm.js?' + baidu_gio['token']; 8 | var s = document.getElementsByTagName("script")[0]; 9 | s.parentNode.insertBefore(hm, s); 10 | })(); 11 | 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css: -------------------------------------------------------------------------------- 1 | .book .book-summary .chapter > .articles { 2 | overflow: hidden; 3 | max-height: 0px; 4 | } 5 | 6 | .book .book-summary .chapter.expanded > .articles { 7 | max-height: 9999px; 8 | } 9 | 10 | .book .book-summary .exc-trigger { 11 | position: absolute; 12 | left: 12px; 13 | top: 12px; 14 | } 15 | 16 | .book .book-summary ul.summary li a, 17 | .book .book-summary ul.summary li span { 18 | padding-left: 30px; 19 | } 20 | 21 | .book .book-summary .exc-trigger:before { 22 | content: "\f105"; 23 | } 24 | 25 | .book .book-summary .expanded > a .exc-trigger:before, 26 | .book .book-summary .expanded > span .exc-trigger:before { 27 | content: "\f107"; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jQuery'], function(gitbook, $) { 2 | var TOGGLE_CLASSNAME = 'expanded', 3 | CHAPTER = '.chapter', 4 | ARTICLES = '.articles', 5 | TRIGGER_TEMPLATE = '', 6 | LS_NAMESPACE = 'expChapters'; 7 | var init = function () { 8 | // adding the trigger element to each ARTICLES parent and binding the event 9 | $(ARTICLES) 10 | .parent(CHAPTER) 11 | .children('a') 12 | .append( 13 | $(TRIGGER_TEMPLATE) 14 | .on('click', function(e) { 15 | e.preventDefault(); 16 | e.stopPropagation(); 17 | toggle($(e.target).closest(CHAPTER)); 18 | }) 19 | ); 20 | expand(lsItem()); 21 | //expand current selected chapter with it's parents 22 | var activeChapter = $(CHAPTER + '.active'); 23 | expand(activeChapter); 24 | expand(activeChapter.parents(CHAPTER)); 25 | 26 | 27 | } 28 | var toggle = function ($chapter) { 29 | if ($chapter.hasClass('expanded')) { 30 | collapse($chapter); 31 | } else { 32 | expand($chapter); 33 | } 34 | } 35 | var collapse = function ($chapter) { 36 | if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { 37 | $chapter.removeClass(TOGGLE_CLASSNAME); 38 | lsItem($chapter); 39 | } 40 | } 41 | var expand = function ($chapter) { 42 | if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { 43 | $chapter.addClass(TOGGLE_CLASSNAME); 44 | lsItem($chapter); 45 | } 46 | } 47 | var lsItem = function () { 48 | var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} 49 | if (arguments.length) { 50 | var $chapters = arguments[0]; 51 | $chapters.each(function (index, element) { 52 | var level = $(this).data('level'); 53 | var value = $(this).hasClass(TOGGLE_CLASSNAME); 54 | map[level] = value; 55 | }) 56 | localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); 57 | } else { 58 | return $(CHAPTER).map(function(index, element){ 59 | if (map[$(this).data('level')]) { 60 | return this; 61 | } 62 | }) 63 | } 64 | } 65 | gitbook.events.bind('page.change', function() { 66 | init() 67 | }); 68 | }); 69 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-ga/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | // Load analytics.js 3 | gitbook.events.bind("start", function(e, config) { 4 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 5 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 6 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 7 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 8 | 9 | var cfg = config.ga; 10 | ga('create', cfg.token, cfg.configuration); 11 | }); 12 | 13 | // Notify pageview 14 | gitbook.events.bind("page.change", function() { 15 | ga('send', 'pageview', window.location.pathname+window.location.search); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-github/plugin.js: -------------------------------------------------------------------------------- 1 | require([ 'gitbook' ], function (gitbook) { 2 | gitbook.events.bind('start', function (e, config) { 3 | var githubURL = config.github.url; 4 | 5 | gitbook.toolbar.createButton({ 6 | icon: 'fa fa-github', 7 | label: 'GitHub', 8 | position: 'right', 9 | onClick: function() { 10 | window.open(githubURL) 11 | } 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-lunr/search-lunr.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Define global search engine 6 | function LunrSearchEngine() { 7 | this.index = null; 8 | this.store = {}; 9 | this.name = 'LunrSearchEngine'; 10 | } 11 | 12 | // Initialize lunr by fetching the search index 13 | LunrSearchEngine.prototype.init = function() { 14 | var that = this; 15 | var d = $.Deferred(); 16 | 17 | $.getJSON(gitbook.state.basePath+'/search_index.json') 18 | .then(function(data) { 19 | // eslint-disable-next-line no-undef 20 | that.index = lunr.Index.load(data.index); 21 | that.store = data.store; 22 | d.resolve(); 23 | }); 24 | 25 | return d.promise(); 26 | }; 27 | 28 | // Search for a term and return results 29 | LunrSearchEngine.prototype.search = function(q, offset, length) { 30 | var that = this; 31 | var results = []; 32 | 33 | if (this.index) { 34 | results = $.map(this.index.search(q), function(result) { 35 | var doc = that.store[result.ref]; 36 | 37 | return { 38 | title: doc.title, 39 | url: doc.url, 40 | body: doc.summary || doc.body 41 | }; 42 | }); 43 | } 44 | 45 | return $.Deferred().resolve({ 46 | query: q, 47 | results: results.slice(0, length), 48 | count: results.length 49 | }).promise(); 50 | }; 51 | 52 | // Set gitbook research 53 | gitbook.events.bind('start', function(e, config) { 54 | var engine = gitbook.search.getEngine(); 55 | if (!engine) { 56 | gitbook.search.setEngine(LunrSearchEngine, config); 57 | } 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Dark theme for JavaScript, CSS and HTML 3 | * Based on the slides of the talk “/Reg(exp){2}lained/” 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: white; 10 | background: none; 11 | text-shadow: 0 -.1em .2em black; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | @media print { 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | text-shadow: none; 34 | } 35 | } 36 | 37 | pre[class*="language-"], 38 | :not(pre) > code[class*="language-"] { 39 | background: hsl(30, 20%, 25%); 40 | } 41 | 42 | /* Code blocks */ 43 | pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: .3em solid hsl(30, 20%, 40%); 48 | border-radius: .5em; 49 | box-shadow: 1px 1px .5em black inset; 50 | } 51 | 52 | /* Inline code */ 53 | :not(pre) > code[class*="language-"] { 54 | padding: .15em .2em .05em; 55 | border-radius: .3em; 56 | border: .13em solid hsl(30, 20%, 40%); 57 | box-shadow: 1px 1px .3em -.1em black inset; 58 | white-space: normal; 59 | } 60 | 61 | .token.comment, 62 | .token.prolog, 63 | .token.doctype, 64 | .token.cdata { 65 | color: hsl(30, 20%, 50%); 66 | } 67 | 68 | .token.punctuation { 69 | opacity: .7; 70 | } 71 | 72 | .namespace { 73 | opacity: .7; 74 | } 75 | 76 | .token.property, 77 | .token.tag, 78 | .token.boolean, 79 | .token.number, 80 | .token.constant, 81 | .token.symbol { 82 | color: hsl(350, 40%, 70%); 83 | } 84 | 85 | .token.selector, 86 | .token.attr-name, 87 | .token.string, 88 | .token.char, 89 | .token.builtin, 90 | .token.inserted { 91 | color: hsl(75, 70%, 60%); 92 | } 93 | 94 | .token.operator, 95 | .token.entity, 96 | .token.url, 97 | .language-css .token.string, 98 | .style .token.string, 99 | .token.variable { 100 | color: hsl(40, 90%, 60%); 101 | } 102 | 103 | .token.atrule, 104 | .token.attr-value, 105 | .token.keyword { 106 | color: hsl(350, 40%, 70%); 107 | } 108 | 109 | .token.regex, 110 | .token.important { 111 | color: #e90; 112 | } 113 | 114 | .token.important, 115 | .token.bold { 116 | font-weight: bold; 117 | } 118 | .token.italic { 119 | font-style: italic; 120 | } 121 | 122 | .token.entity { 123 | cursor: help; 124 | } 125 | 126 | .token.deleted { 127 | color: red; 128 | } 129 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-funky.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Funky theme 3 | * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 10 | text-align: left; 11 | white-space: pre; 12 | word-spacing: normal; 13 | word-break: normal; 14 | word-wrap: normal; 15 | line-height: 1.5; 16 | 17 | -moz-tab-size: 4; 18 | -o-tab-size: 4; 19 | tab-size: 4; 20 | 21 | -webkit-hyphens: none; 22 | -moz-hyphens: none; 23 | -ms-hyphens: none; 24 | hyphens: none; 25 | } 26 | 27 | /* Code blocks */ 28 | pre[class*="language-"] { 29 | padding: .4em .8em; 30 | margin: .5em 0; 31 | overflow: auto; 32 | background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); 33 | background-size: 1em 1em; 34 | } 35 | 36 | code[class*="language-"] { 37 | background: black; 38 | color: white; 39 | box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .2em; 45 | border-radius: .3em; 46 | box-shadow: none; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #aaa; 55 | } 56 | 57 | .token.punctuation { 58 | color: #999; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.boolean, 68 | .token.number, 69 | .token.constant, 70 | .token.symbol { 71 | color: #0cf; 72 | } 73 | 74 | .token.selector, 75 | .token.attr-name, 76 | .token.string, 77 | .token.char, 78 | .token.builtin { 79 | color: yellow; 80 | } 81 | 82 | .token.operator, 83 | .token.entity, 84 | .token.url, 85 | .language-css .token.string, 86 | .toke.variable, 87 | .token.inserted { 88 | color: yellowgreen; 89 | } 90 | 91 | .token.atrule, 92 | .token.attr-value, 93 | .token.keyword { 94 | color: deeppink; 95 | } 96 | 97 | .token.regex, 98 | .token.important { 99 | color: orange; 100 | } 101 | 102 | .token.important, 103 | .token.bold { 104 | font-weight: bold; 105 | } 106 | .token.italic { 107 | font-style: italic; 108 | } 109 | 110 | .token.entity { 111 | cursor: help; 112 | } 113 | 114 | .token.deleted { 115 | color: red; 116 | } 117 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-okaidia.css: -------------------------------------------------------------------------------- 1 | /** 2 | * okaidia theme for JavaScript, CSS and HTML 3 | * Loosely based on Monokai textmate theme by http://www.monokai.nl/ 4 | * @author ocodia 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #f8f8f2; 10 | background: none; 11 | text-shadow: 0 1px rgba(0, 0, 0, 0.3); 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | border-radius: 0.3em; 36 | } 37 | 38 | :not(pre) > code[class*="language-"], 39 | pre[class*="language-"] { 40 | background: #272822; 41 | } 42 | 43 | /* Inline code */ 44 | :not(pre) > code[class*="language-"] { 45 | padding: .1em; 46 | border-radius: .3em; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: slategray; 55 | } 56 | 57 | .token.punctuation { 58 | color: #f8f8f2; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.constant, 68 | .token.symbol, 69 | .token.deleted { 70 | color: #f92672; 71 | } 72 | 73 | .token.boolean, 74 | .token.number { 75 | color: #ae81ff; 76 | } 77 | 78 | .token.selector, 79 | .token.attr-name, 80 | .token.string, 81 | .token.char, 82 | .token.builtin, 83 | .token.inserted { 84 | color: #a6e22e; 85 | } 86 | 87 | .token.operator, 88 | .token.entity, 89 | .token.url, 90 | .language-css .token.string, 91 | .style .token.string, 92 | .token.variable { 93 | color: #f8f8f2; 94 | } 95 | 96 | .token.atrule, 97 | .token.attr-value, 98 | .token.function { 99 | color: #e6db74; 100 | } 101 | 102 | .token.keyword { 103 | color: #66d9ef; 104 | } 105 | 106 | .token.regex, 107 | .token.important { 108 | color: #fd971f; 109 | } 110 | 111 | .token.important, 112 | .token.bold { 113 | font-weight: bold; 114 | } 115 | .token.italic { 116 | font-style: italic; 117 | } 118 | 119 | .token.entity { 120 | cursor: help; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-solarizedlight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Solarized Color Schemes originally by Ethan Schoonover 3 | http://ethanschoonover.com/solarized 4 | 5 | Ported for PrismJS by Hector Matos 6 | Website: https://krakendev.io 7 | Twitter Handle: https://twitter.com/allonsykraken) 8 | */ 9 | 10 | /* 11 | SOLARIZED HEX 12 | --------- ------- 13 | base03 #002b36 14 | base02 #073642 15 | base01 #586e75 16 | base00 #657b83 17 | base0 #839496 18 | base1 #93a1a1 19 | base2 #eee8d5 20 | base3 #fdf6e3 21 | yellow #b58900 22 | orange #cb4b16 23 | red #dc322f 24 | magenta #d33682 25 | violet #6c71c4 26 | blue #268bd2 27 | cyan #2aa198 28 | green #859900 29 | */ 30 | 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | color: #657b83; /* base00 */ 34 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 35 | text-align: left; 36 | white-space: pre; 37 | word-spacing: normal; 38 | word-break: normal; 39 | word-wrap: normal; 40 | 41 | line-height: 1.5; 42 | 43 | -moz-tab-size: 4; 44 | -o-tab-size: 4; 45 | tab-size: 4; 46 | 47 | -webkit-hyphens: none; 48 | -moz-hyphens: none; 49 | -ms-hyphens: none; 50 | hyphens: none; 51 | } 52 | 53 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 54 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 55 | background: #073642; /* base02 */ 56 | } 57 | 58 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 59 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 60 | background: #073642; /* base02 */ 61 | } 62 | 63 | /* Code blocks */ 64 | pre[class*="language-"] { 65 | padding: 1em; 66 | margin: .5em 0; 67 | overflow: auto; 68 | border-radius: 0.3em; 69 | } 70 | 71 | :not(pre) > code[class*="language-"], 72 | pre[class*="language-"] { 73 | background-color: #fdf6e3; /* base3 */ 74 | } 75 | 76 | /* Inline code */ 77 | :not(pre) > code[class*="language-"] { 78 | padding: .1em; 79 | border-radius: .3em; 80 | } 81 | 82 | .token.comment, 83 | .token.prolog, 84 | .token.doctype, 85 | .token.cdata { 86 | color: #93a1a1; /* base1 */ 87 | } 88 | 89 | .token.punctuation { 90 | color: #586e75; /* base01 */ 91 | } 92 | 93 | .namespace { 94 | opacity: .7; 95 | } 96 | 97 | .token.property, 98 | .token.tag, 99 | .token.boolean, 100 | .token.number, 101 | .token.constant, 102 | .token.symbol, 103 | .token.deleted { 104 | color: #268bd2; /* blue */ 105 | } 106 | 107 | .token.selector, 108 | .token.attr-name, 109 | .token.string, 110 | .token.char, 111 | .token.builtin, 112 | .token.url, 113 | .token.inserted { 114 | color: #2aa198; /* cyan */ 115 | } 116 | 117 | .token.entity { 118 | color: #657b83; /* base00 */ 119 | background: #eee8d5; /* base2 */ 120 | } 121 | 122 | .token.atrule, 123 | .token.attr-value, 124 | .token.keyword { 125 | color: #859900; /* green */ 126 | } 127 | 128 | .token.function { 129 | color: #b58900; /* yellow */ 130 | } 131 | 132 | .token.regex, 133 | .token.important, 134 | .token.variable { 135 | color: #cb4b16; /* orange */ 136 | } 137 | 138 | .token.important, 139 | .token.bold { 140 | font-weight: bold; 141 | } 142 | .token.italic { 143 | font-style: italic; 144 | } 145 | 146 | .token.entity { 147 | cursor: help; 148 | } -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism-tomorrow.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML 3 | * Based on https://github.com/chriskempson/tomorrow-theme 4 | * @author Rose Pritchard 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #ccc; 10 | background: none; 11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 12 | text-align: left; 13 | white-space: pre; 14 | word-spacing: normal; 15 | word-break: normal; 16 | word-wrap: normal; 17 | line-height: 1.5; 18 | 19 | -moz-tab-size: 4; 20 | -o-tab-size: 4; 21 | tab-size: 4; 22 | 23 | -webkit-hyphens: none; 24 | -moz-hyphens: none; 25 | -ms-hyphens: none; 26 | hyphens: none; 27 | 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | } 36 | 37 | :not(pre) > code[class*="language-"], 38 | pre[class*="language-"] { 39 | background: #2d2d2d; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .1em; 45 | border-radius: .3em; 46 | white-space: normal; 47 | } 48 | 49 | .token.comment, 50 | .token.block-comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #999; 55 | } 56 | 57 | .token.punctuation { 58 | color: #ccc; 59 | } 60 | 61 | .token.tag, 62 | .token.attr-name, 63 | .token.namespace, 64 | .token.deleted { 65 | color: #e2777a; 66 | } 67 | 68 | .token.function-name { 69 | color: #6196cc; 70 | } 71 | 72 | .token.boolean, 73 | .token.number, 74 | .token.function { 75 | color: #f08d49; 76 | } 77 | 78 | .token.property, 79 | .token.class-name, 80 | .token.constant, 81 | .token.symbol { 82 | color: #f8c555; 83 | } 84 | 85 | .token.selector, 86 | .token.important, 87 | .token.atrule, 88 | .token.keyword, 89 | .token.builtin { 90 | color: #cc99cd; 91 | } 92 | 93 | .token.string, 94 | .token.char, 95 | .token.attr-value, 96 | .token.regex, 97 | .token.variable { 98 | color: #7ec699; 99 | } 100 | 101 | .token.operator, 102 | .token.entity, 103 | .token.url { 104 | color: #67cdcc; 105 | } 106 | 107 | .token.important, 108 | .token.bold { 109 | font-weight: bold; 110 | } 111 | .token.italic { 112 | font-style: italic; 113 | } 114 | 115 | .token.entity { 116 | cursor: help; 117 | } 118 | 119 | .token.inserted { 120 | color: green; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-prism/prism.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js default theme for JavaScript, CSS and HTML 3 | * Based on dabblet (http://dabblet.com) 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: black; 10 | background: none; 11 | text-shadow: 0 1px white; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 31 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 32 | text-shadow: none; 33 | background: #b3d4fc; 34 | } 35 | 36 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 37 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 38 | text-shadow: none; 39 | background: #b3d4fc; 40 | } 41 | 42 | @media print { 43 | code[class*="language-"], 44 | pre[class*="language-"] { 45 | text-shadow: none; 46 | } 47 | } 48 | 49 | /* Code blocks */ 50 | pre[class*="language-"] { 51 | padding: 1em; 52 | margin: .5em 0; 53 | overflow: auto; 54 | } 55 | 56 | :not(pre) > code[class*="language-"], 57 | pre[class*="language-"] { 58 | background: #f5f2f0; 59 | } 60 | 61 | /* Inline code */ 62 | :not(pre) > code[class*="language-"] { 63 | padding: .1em; 64 | border-radius: .3em; 65 | white-space: normal; 66 | } 67 | 68 | .token.comment, 69 | .token.prolog, 70 | .token.doctype, 71 | .token.cdata { 72 | color: slategray; 73 | } 74 | 75 | .token.punctuation { 76 | color: #999; 77 | } 78 | 79 | .namespace { 80 | opacity: .7; 81 | } 82 | 83 | .token.property, 84 | .token.tag, 85 | .token.boolean, 86 | .token.number, 87 | .token.constant, 88 | .token.symbol, 89 | .token.deleted { 90 | color: #905; 91 | } 92 | 93 | .token.selector, 94 | .token.attr-name, 95 | .token.string, 96 | .token.char, 97 | .token.builtin, 98 | .token.inserted { 99 | color: #690; 100 | } 101 | 102 | .token.operator, 103 | .token.entity, 104 | .token.url, 105 | .language-css .token.string, 106 | .style .token.string { 107 | color: #a67f59; 108 | background: hsla(0, 0%, 100%, .5); 109 | } 110 | 111 | .token.atrule, 112 | .token.attr-value, 113 | .token.keyword { 114 | color: #07a; 115 | } 116 | 117 | .token.function { 118 | color: #DD4A68; 119 | } 120 | 121 | .token.regex, 122 | .token.important, 123 | .token.variable { 124 | color: #e90; 125 | } 126 | 127 | .token.important, 128 | .token.bold { 129 | font-weight: bold; 130 | } 131 | .token.italic { 132 | font-style: italic; 133 | } 134 | 135 | .token.entity { 136 | cursor: help; 137 | } 138 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-search/search-engine.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Global search objects 6 | var engine = null; 7 | var initialized = false; 8 | 9 | // Set a new search engine 10 | function setEngine(Engine, config) { 11 | initialized = false; 12 | engine = new Engine(config); 13 | 14 | init(config); 15 | } 16 | 17 | // Initialize search engine with config 18 | function init(config) { 19 | if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).'); 20 | 21 | return engine.init(config) 22 | .then(function() { 23 | initialized = true; 24 | gitbook.events.trigger('search.ready'); 25 | }); 26 | } 27 | 28 | // Launch search for query q 29 | function query(q, offset, length) { 30 | if (!initialized) throw new Error('Search has not been initialized'); 31 | return engine.search(q, offset, length); 32 | } 33 | 34 | // Get stats about search 35 | function getEngine() { 36 | return engine? engine.name : null; 37 | } 38 | 39 | function isInitialized() { 40 | return initialized; 41 | } 42 | 43 | // Initialize gitbook.search 44 | gitbook.search = { 45 | setEngine: setEngine, 46 | getEngine: getEngine, 47 | query: query, 48 | isInitialized: isInitialized 49 | }; 50 | }); -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-search/search.css: -------------------------------------------------------------------------------- 1 | /* 2 | This CSS only styled the search results section, not the search input 3 | It defines the basic interraction to hide content when displaying results, etc 4 | */ 5 | #book-search-results .search-results { 6 | display: none; 7 | } 8 | #book-search-results .search-results ul.search-results-list { 9 | list-style-type: none; 10 | padding-left: 0; 11 | } 12 | #book-search-results .search-results ul.search-results-list li { 13 | margin-bottom: 1.5rem; 14 | padding-bottom: 0.5rem; 15 | /* Highlight results */ 16 | } 17 | #book-search-results .search-results ul.search-results-list li p em { 18 | background-color: rgba(255, 220, 0, 0.4); 19 | font-style: normal; 20 | } 21 | #book-search-results .search-results .no-results { 22 | display: none; 23 | } 24 | #book-search-results.open .search-results { 25 | display: block; 26 | } 27 | #book-search-results.open .search-noresults { 28 | display: none; 29 | } 30 | #book-search-results.no-results .search-results .has-results { 31 | display: none; 32 | } 33 | #book-search-results.no-results .search-results .no-results { 34 | display: block; 35 | } 36 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-sharing/buttons.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jquery'], function(gitbook, $) { 2 | var SITES = { 3 | 'facebook': { 4 | 'label': 'Facebook', 5 | 'icon': 'fa fa-facebook', 6 | 'onClick': function(e) { 7 | e.preventDefault(); 8 | window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); 9 | } 10 | }, 11 | 'twitter': { 12 | 'label': 'Twitter', 13 | 'icon': 'fa fa-twitter', 14 | 'onClick': function(e) { 15 | e.preventDefault(); 16 | window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); 17 | } 18 | }, 19 | 'google': { 20 | 'label': 'Google+', 21 | 'icon': 'fa fa-google-plus', 22 | 'onClick': function(e) { 23 | e.preventDefault(); 24 | window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); 25 | } 26 | }, 27 | 'weibo': { 28 | 'label': 'Weibo', 29 | 'icon': 'fa fa-weibo', 30 | 'onClick': function(e) { 31 | e.preventDefault(); 32 | window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); 33 | } 34 | }, 35 | 'instapaper': { 36 | 'label': 'Instapaper', 37 | 'icon': 'fa fa-instapaper', 38 | 'onClick': function(e) { 39 | e.preventDefault(); 40 | window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); 41 | } 42 | }, 43 | 'vk': { 44 | 'label': 'VK', 45 | 'icon': 'fa fa-vk', 46 | 'onClick': function(e) { 47 | e.preventDefault(); 48 | window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); 49 | } 50 | } 51 | }; 52 | 53 | 54 | 55 | gitbook.events.bind('start', function(e, config) { 56 | var opts = config.sharing; 57 | 58 | // Create dropdown menu 59 | var menu = $.map(opts.all, function(id) { 60 | var site = SITES[id]; 61 | 62 | return { 63 | text: site.label, 64 | onClick: site.onClick 65 | }; 66 | }); 67 | 68 | // Create main button with dropdown 69 | if (menu.length > 0) { 70 | gitbook.toolbar.createButton({ 71 | icon: 'fa fa-share-alt', 72 | label: 'Share', 73 | position: 'right', 74 | dropdown: [menu] 75 | }); 76 | } 77 | 78 | // Direct actions to share 79 | $.each(SITES, function(sideId, site) { 80 | if (!opts[sideId]) return; 81 | 82 | gitbook.toolbar.createButton({ 83 | icon: site.icon, 84 | label: site.text, 85 | position: 'right', 86 | onClick: site.onClick 87 | }); 88 | }); 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/gitbook-plugin-splitter/splitter.css: -------------------------------------------------------------------------------- 1 | .divider-content-summary { 2 | position: absolute; 3 | top: 0; 4 | right: 0; 5 | height: 100%; 6 | width: 5px; 7 | display: table; 8 | cursor: col-resize; 9 | color: #ccc; 10 | -webkit-transition: color 350ms ease; 11 | -moz-transition: color 350ms ease; 12 | -o-transition: color 350ms ease; 13 | transition: color 350ms ease 14 | } 15 | .divider-content-summary:hover { 16 | color: #444; 17 | } 18 | .divider-content-summary__icon { 19 | display: table-cell; 20 | vertical-align: middle; 21 | text-align: center; 22 | } 23 | -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/gitbook/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/gitbook/images/favicon.ico -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/consumer-groups.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/kafka_log.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/kafka_multidc.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/log_anatomy.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/log_compaction.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/mirror-maker.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/producer_consumer.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/docs/images/tracking_high_level.png -------------------------------------------------------------------------------- /docs/docs/docs/docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | http://kafkadoc.beanmr.com/./ weekly 0.5 4 | http://kafkadoc.beanmr.com/000_glossary/01_glossary.html weekly 0.5 5 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction_cn.html weekly 0.5 6 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction.html weekly 0.5 7 | http://kafkadoc.beanmr.com/010_getting_started/05_uses_cn.html weekly 0.5 8 | http://kafkadoc.beanmr.com/010_getting_started/05_uses.html weekly 0.5 9 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart_cn.html weekly 0.5 10 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart.html weekly 0.5 11 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem_cn.html weekly 0.5 12 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem.html weekly 0.5 13 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade_cn.html weekly 0.5 14 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade.html weekly 0.5 15 | http://kafkadoc.beanmr.com/020_api/01_api_cn.html weekly 0.5 16 | http://kafkadoc.beanmr.com/020_api/01_api.html weekly 0.5 17 | http://kafkadoc.beanmr.com/030_configuration/01_configuration_cn.html weekly 0.5 18 | http://kafkadoc.beanmr.com/030_configuration/01_configuration.html weekly 0.5 19 | http://kafkadoc.beanmr.com/040_design/01_design_cn.html weekly 0.5 20 | http://kafkadoc.beanmr.com/040_design/01_design.html weekly 0.5 21 | http://kafkadoc.beanmr.com/050_implementation/01_implementation.html weekly 0.5 22 | http://kafkadoc.beanmr.com/060_operations/01_ops.html weekly 0.5 23 | http://kafkadoc.beanmr.com/070_security/01_security.html weekly 0.5 24 | http://kafkadoc.beanmr.com/080_connect/01_connect.html weekly 0.5 25 | http://kafkadoc.beanmr.com/GLOSSARY.html weekly 0.5 26 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-anchors/plugin.css: -------------------------------------------------------------------------------- 1 | 2 | a.plugin-anchor { 3 | color: inherit !important; 4 | display: none; 5 | margin-left: -30px; 6 | padding-left: 40px; 7 | cursor: pointer; 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 0; 12 | } 13 | 14 | a.plugin-anchor i { 15 | margin-left: -30px; 16 | font-size: 15px !important; 17 | } 18 | 19 | h1, h2, h3, h4, h5, h6 { 20 | position: relative; 21 | } 22 | 23 | h1:hover a.plugin-anchor, h2:hover a.plugin-anchor, h3:hover a.plugin-anchor, 24 | h4:hover a.plugin-anchor, h5:hover a.plugin-anchor, h6:hover a.plugin-anchor { 25 | display: inline-block; 26 | } 27 | 28 | .book .book-body .page-wrapper .page-inner section.normal { 29 | overflow: visible; 30 | } 31 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-baidu_gio/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | gitbook.events.bind("start", function(e, config) { 3 | var baidu_gio = config.baidu_gio || {}; 4 | var _hmt = _hmt || []; 5 | (function() { 6 | var hm = document.createElement("script"); 7 | hm.src = '//hm.baidu.com/hm.js?' + baidu_gio['token']; 8 | var s = document.getElementsByTagName("script")[0]; 9 | s.parentNode.insertBefore(hm, s); 10 | })(); 11 | 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css: -------------------------------------------------------------------------------- 1 | .book .book-summary .chapter > .articles { 2 | overflow: hidden; 3 | max-height: 0px; 4 | } 5 | 6 | .book .book-summary .chapter.expanded > .articles { 7 | max-height: 9999px; 8 | } 9 | 10 | .book .book-summary .exc-trigger { 11 | position: absolute; 12 | left: 12px; 13 | top: 12px; 14 | } 15 | 16 | .book .book-summary ul.summary li a, 17 | .book .book-summary ul.summary li span { 18 | padding-left: 30px; 19 | } 20 | 21 | .book .book-summary .exc-trigger:before { 22 | content: "\f105"; 23 | } 24 | 25 | .book .book-summary .expanded > a .exc-trigger:before, 26 | .book .book-summary .expanded > span .exc-trigger:before { 27 | content: "\f107"; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jQuery'], function(gitbook, $) { 2 | var TOGGLE_CLASSNAME = 'expanded', 3 | CHAPTER = '.chapter', 4 | ARTICLES = '.articles', 5 | TRIGGER_TEMPLATE = '', 6 | LS_NAMESPACE = 'expChapters'; 7 | var init = function () { 8 | // adding the trigger element to each ARTICLES parent and binding the event 9 | $(ARTICLES) 10 | .parent(CHAPTER) 11 | .children('a') 12 | .append( 13 | $(TRIGGER_TEMPLATE) 14 | .on('click', function(e) { 15 | e.preventDefault(); 16 | e.stopPropagation(); 17 | toggle($(e.target).closest(CHAPTER)); 18 | }) 19 | ); 20 | expand(lsItem()); 21 | //expand current selected chapter with it's parents 22 | var activeChapter = $(CHAPTER + '.active'); 23 | expand(activeChapter); 24 | expand(activeChapter.parents(CHAPTER)); 25 | 26 | 27 | } 28 | var toggle = function ($chapter) { 29 | if ($chapter.hasClass('expanded')) { 30 | collapse($chapter); 31 | } else { 32 | expand($chapter); 33 | } 34 | } 35 | var collapse = function ($chapter) { 36 | if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { 37 | $chapter.removeClass(TOGGLE_CLASSNAME); 38 | lsItem($chapter); 39 | } 40 | } 41 | var expand = function ($chapter) { 42 | if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { 43 | $chapter.addClass(TOGGLE_CLASSNAME); 44 | lsItem($chapter); 45 | } 46 | } 47 | var lsItem = function () { 48 | var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} 49 | if (arguments.length) { 50 | var $chapters = arguments[0]; 51 | $chapters.each(function (index, element) { 52 | var level = $(this).data('level'); 53 | var value = $(this).hasClass(TOGGLE_CLASSNAME); 54 | map[level] = value; 55 | }) 56 | localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); 57 | } else { 58 | return $(CHAPTER).map(function(index, element){ 59 | if (map[$(this).data('level')]) { 60 | return this; 61 | } 62 | }) 63 | } 64 | } 65 | gitbook.events.bind('page.change', function() { 66 | init() 67 | }); 68 | }); 69 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-ga/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | // Load analytics.js 3 | gitbook.events.bind("start", function(e, config) { 4 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 5 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 6 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 7 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 8 | 9 | var cfg = config.ga; 10 | ga('create', cfg.token, cfg.configuration); 11 | }); 12 | 13 | // Notify pageview 14 | gitbook.events.bind("page.change", function() { 15 | ga('send', 'pageview', window.location.pathname+window.location.search); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-github/plugin.js: -------------------------------------------------------------------------------- 1 | require([ 'gitbook' ], function (gitbook) { 2 | gitbook.events.bind('start', function (e, config) { 3 | var githubURL = config.github.url; 4 | 5 | gitbook.toolbar.createButton({ 6 | icon: 'fa fa-github', 7 | label: 'GitHub', 8 | position: 'right', 9 | onClick: function() { 10 | window.open(githubURL) 11 | } 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-lunr/search-lunr.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Define global search engine 6 | function LunrSearchEngine() { 7 | this.index = null; 8 | this.store = {}; 9 | this.name = 'LunrSearchEngine'; 10 | } 11 | 12 | // Initialize lunr by fetching the search index 13 | LunrSearchEngine.prototype.init = function() { 14 | var that = this; 15 | var d = $.Deferred(); 16 | 17 | $.getJSON(gitbook.state.basePath+'/search_index.json') 18 | .then(function(data) { 19 | // eslint-disable-next-line no-undef 20 | that.index = lunr.Index.load(data.index); 21 | that.store = data.store; 22 | d.resolve(); 23 | }); 24 | 25 | return d.promise(); 26 | }; 27 | 28 | // Search for a term and return results 29 | LunrSearchEngine.prototype.search = function(q, offset, length) { 30 | var that = this; 31 | var results = []; 32 | 33 | if (this.index) { 34 | results = $.map(this.index.search(q), function(result) { 35 | var doc = that.store[result.ref]; 36 | 37 | return { 38 | title: doc.title, 39 | url: doc.url, 40 | body: doc.summary || doc.body 41 | }; 42 | }); 43 | } 44 | 45 | return $.Deferred().resolve({ 46 | query: q, 47 | results: results.slice(0, length), 48 | count: results.length 49 | }).promise(); 50 | }; 51 | 52 | // Set gitbook research 53 | gitbook.events.bind('start', function(e, config) { 54 | var engine = gitbook.search.getEngine(); 55 | if (!engine) { 56 | gitbook.search.setEngine(LunrSearchEngine, config); 57 | } 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-prism/prism-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Dark theme for JavaScript, CSS and HTML 3 | * Based on the slides of the talk “/Reg(exp){2}lained/” 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: white; 10 | background: none; 11 | text-shadow: 0 -.1em .2em black; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | @media print { 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | text-shadow: none; 34 | } 35 | } 36 | 37 | pre[class*="language-"], 38 | :not(pre) > code[class*="language-"] { 39 | background: hsl(30, 20%, 25%); 40 | } 41 | 42 | /* Code blocks */ 43 | pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: .3em solid hsl(30, 20%, 40%); 48 | border-radius: .5em; 49 | box-shadow: 1px 1px .5em black inset; 50 | } 51 | 52 | /* Inline code */ 53 | :not(pre) > code[class*="language-"] { 54 | padding: .15em .2em .05em; 55 | border-radius: .3em; 56 | border: .13em solid hsl(30, 20%, 40%); 57 | box-shadow: 1px 1px .3em -.1em black inset; 58 | white-space: normal; 59 | } 60 | 61 | .token.comment, 62 | .token.prolog, 63 | .token.doctype, 64 | .token.cdata { 65 | color: hsl(30, 20%, 50%); 66 | } 67 | 68 | .token.punctuation { 69 | opacity: .7; 70 | } 71 | 72 | .namespace { 73 | opacity: .7; 74 | } 75 | 76 | .token.property, 77 | .token.tag, 78 | .token.boolean, 79 | .token.number, 80 | .token.constant, 81 | .token.symbol { 82 | color: hsl(350, 40%, 70%); 83 | } 84 | 85 | .token.selector, 86 | .token.attr-name, 87 | .token.string, 88 | .token.char, 89 | .token.builtin, 90 | .token.inserted { 91 | color: hsl(75, 70%, 60%); 92 | } 93 | 94 | .token.operator, 95 | .token.entity, 96 | .token.url, 97 | .language-css .token.string, 98 | .style .token.string, 99 | .token.variable { 100 | color: hsl(40, 90%, 60%); 101 | } 102 | 103 | .token.atrule, 104 | .token.attr-value, 105 | .token.keyword { 106 | color: hsl(350, 40%, 70%); 107 | } 108 | 109 | .token.regex, 110 | .token.important { 111 | color: #e90; 112 | } 113 | 114 | .token.important, 115 | .token.bold { 116 | font-weight: bold; 117 | } 118 | .token.italic { 119 | font-style: italic; 120 | } 121 | 122 | .token.entity { 123 | cursor: help; 124 | } 125 | 126 | .token.deleted { 127 | color: red; 128 | } 129 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-prism/prism-funky.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Funky theme 3 | * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 10 | text-align: left; 11 | white-space: pre; 12 | word-spacing: normal; 13 | word-break: normal; 14 | word-wrap: normal; 15 | line-height: 1.5; 16 | 17 | -moz-tab-size: 4; 18 | -o-tab-size: 4; 19 | tab-size: 4; 20 | 21 | -webkit-hyphens: none; 22 | -moz-hyphens: none; 23 | -ms-hyphens: none; 24 | hyphens: none; 25 | } 26 | 27 | /* Code blocks */ 28 | pre[class*="language-"] { 29 | padding: .4em .8em; 30 | margin: .5em 0; 31 | overflow: auto; 32 | background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); 33 | background-size: 1em 1em; 34 | } 35 | 36 | code[class*="language-"] { 37 | background: black; 38 | color: white; 39 | box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .2em; 45 | border-radius: .3em; 46 | box-shadow: none; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #aaa; 55 | } 56 | 57 | .token.punctuation { 58 | color: #999; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.boolean, 68 | .token.number, 69 | .token.constant, 70 | .token.symbol { 71 | color: #0cf; 72 | } 73 | 74 | .token.selector, 75 | .token.attr-name, 76 | .token.string, 77 | .token.char, 78 | .token.builtin { 79 | color: yellow; 80 | } 81 | 82 | .token.operator, 83 | .token.entity, 84 | .token.url, 85 | .language-css .token.string, 86 | .toke.variable, 87 | .token.inserted { 88 | color: yellowgreen; 89 | } 90 | 91 | .token.atrule, 92 | .token.attr-value, 93 | .token.keyword { 94 | color: deeppink; 95 | } 96 | 97 | .token.regex, 98 | .token.important { 99 | color: orange; 100 | } 101 | 102 | .token.important, 103 | .token.bold { 104 | font-weight: bold; 105 | } 106 | .token.italic { 107 | font-style: italic; 108 | } 109 | 110 | .token.entity { 111 | cursor: help; 112 | } 113 | 114 | .token.deleted { 115 | color: red; 116 | } 117 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-prism/prism-okaidia.css: -------------------------------------------------------------------------------- 1 | /** 2 | * okaidia theme for JavaScript, CSS and HTML 3 | * Loosely based on Monokai textmate theme by http://www.monokai.nl/ 4 | * @author ocodia 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #f8f8f2; 10 | background: none; 11 | text-shadow: 0 1px rgba(0, 0, 0, 0.3); 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | border-radius: 0.3em; 36 | } 37 | 38 | :not(pre) > code[class*="language-"], 39 | pre[class*="language-"] { 40 | background: #272822; 41 | } 42 | 43 | /* Inline code */ 44 | :not(pre) > code[class*="language-"] { 45 | padding: .1em; 46 | border-radius: .3em; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: slategray; 55 | } 56 | 57 | .token.punctuation { 58 | color: #f8f8f2; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.constant, 68 | .token.symbol, 69 | .token.deleted { 70 | color: #f92672; 71 | } 72 | 73 | .token.boolean, 74 | .token.number { 75 | color: #ae81ff; 76 | } 77 | 78 | .token.selector, 79 | .token.attr-name, 80 | .token.string, 81 | .token.char, 82 | .token.builtin, 83 | .token.inserted { 84 | color: #a6e22e; 85 | } 86 | 87 | .token.operator, 88 | .token.entity, 89 | .token.url, 90 | .language-css .token.string, 91 | .style .token.string, 92 | .token.variable { 93 | color: #f8f8f2; 94 | } 95 | 96 | .token.atrule, 97 | .token.attr-value, 98 | .token.function { 99 | color: #e6db74; 100 | } 101 | 102 | .token.keyword { 103 | color: #66d9ef; 104 | } 105 | 106 | .token.regex, 107 | .token.important { 108 | color: #fd971f; 109 | } 110 | 111 | .token.important, 112 | .token.bold { 113 | font-weight: bold; 114 | } 115 | .token.italic { 116 | font-style: italic; 117 | } 118 | 119 | .token.entity { 120 | cursor: help; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-prism/prism-solarizedlight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Solarized Color Schemes originally by Ethan Schoonover 3 | http://ethanschoonover.com/solarized 4 | 5 | Ported for PrismJS by Hector Matos 6 | Website: https://krakendev.io 7 | Twitter Handle: https://twitter.com/allonsykraken) 8 | */ 9 | 10 | /* 11 | SOLARIZED HEX 12 | --------- ------- 13 | base03 #002b36 14 | base02 #073642 15 | base01 #586e75 16 | base00 #657b83 17 | base0 #839496 18 | base1 #93a1a1 19 | base2 #eee8d5 20 | base3 #fdf6e3 21 | yellow #b58900 22 | orange #cb4b16 23 | red #dc322f 24 | magenta #d33682 25 | violet #6c71c4 26 | blue #268bd2 27 | cyan #2aa198 28 | green #859900 29 | */ 30 | 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | color: #657b83; /* base00 */ 34 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 35 | text-align: left; 36 | white-space: pre; 37 | word-spacing: normal; 38 | word-break: normal; 39 | word-wrap: normal; 40 | 41 | line-height: 1.5; 42 | 43 | -moz-tab-size: 4; 44 | -o-tab-size: 4; 45 | tab-size: 4; 46 | 47 | -webkit-hyphens: none; 48 | -moz-hyphens: none; 49 | -ms-hyphens: none; 50 | hyphens: none; 51 | } 52 | 53 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 54 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 55 | background: #073642; /* base02 */ 56 | } 57 | 58 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 59 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 60 | background: #073642; /* base02 */ 61 | } 62 | 63 | /* Code blocks */ 64 | pre[class*="language-"] { 65 | padding: 1em; 66 | margin: .5em 0; 67 | overflow: auto; 68 | border-radius: 0.3em; 69 | } 70 | 71 | :not(pre) > code[class*="language-"], 72 | pre[class*="language-"] { 73 | background-color: #fdf6e3; /* base3 */ 74 | } 75 | 76 | /* Inline code */ 77 | :not(pre) > code[class*="language-"] { 78 | padding: .1em; 79 | border-radius: .3em; 80 | } 81 | 82 | .token.comment, 83 | .token.prolog, 84 | .token.doctype, 85 | .token.cdata { 86 | color: #93a1a1; /* base1 */ 87 | } 88 | 89 | .token.punctuation { 90 | color: #586e75; /* base01 */ 91 | } 92 | 93 | .namespace { 94 | opacity: .7; 95 | } 96 | 97 | .token.property, 98 | .token.tag, 99 | .token.boolean, 100 | .token.number, 101 | .token.constant, 102 | .token.symbol, 103 | .token.deleted { 104 | color: #268bd2; /* blue */ 105 | } 106 | 107 | .token.selector, 108 | .token.attr-name, 109 | .token.string, 110 | .token.char, 111 | .token.builtin, 112 | .token.url, 113 | .token.inserted { 114 | color: #2aa198; /* cyan */ 115 | } 116 | 117 | .token.entity { 118 | color: #657b83; /* base00 */ 119 | background: #eee8d5; /* base2 */ 120 | } 121 | 122 | .token.atrule, 123 | .token.attr-value, 124 | .token.keyword { 125 | color: #859900; /* green */ 126 | } 127 | 128 | .token.function { 129 | color: #b58900; /* yellow */ 130 | } 131 | 132 | .token.regex, 133 | .token.important, 134 | .token.variable { 135 | color: #cb4b16; /* orange */ 136 | } 137 | 138 | .token.important, 139 | .token.bold { 140 | font-weight: bold; 141 | } 142 | .token.italic { 143 | font-style: italic; 144 | } 145 | 146 | .token.entity { 147 | cursor: help; 148 | } -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-prism/prism-tomorrow.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML 3 | * Based on https://github.com/chriskempson/tomorrow-theme 4 | * @author Rose Pritchard 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #ccc; 10 | background: none; 11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 12 | text-align: left; 13 | white-space: pre; 14 | word-spacing: normal; 15 | word-break: normal; 16 | word-wrap: normal; 17 | line-height: 1.5; 18 | 19 | -moz-tab-size: 4; 20 | -o-tab-size: 4; 21 | tab-size: 4; 22 | 23 | -webkit-hyphens: none; 24 | -moz-hyphens: none; 25 | -ms-hyphens: none; 26 | hyphens: none; 27 | 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | } 36 | 37 | :not(pre) > code[class*="language-"], 38 | pre[class*="language-"] { 39 | background: #2d2d2d; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .1em; 45 | border-radius: .3em; 46 | white-space: normal; 47 | } 48 | 49 | .token.comment, 50 | .token.block-comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #999; 55 | } 56 | 57 | .token.punctuation { 58 | color: #ccc; 59 | } 60 | 61 | .token.tag, 62 | .token.attr-name, 63 | .token.namespace, 64 | .token.deleted { 65 | color: #e2777a; 66 | } 67 | 68 | .token.function-name { 69 | color: #6196cc; 70 | } 71 | 72 | .token.boolean, 73 | .token.number, 74 | .token.function { 75 | color: #f08d49; 76 | } 77 | 78 | .token.property, 79 | .token.class-name, 80 | .token.constant, 81 | .token.symbol { 82 | color: #f8c555; 83 | } 84 | 85 | .token.selector, 86 | .token.important, 87 | .token.atrule, 88 | .token.keyword, 89 | .token.builtin { 90 | color: #cc99cd; 91 | } 92 | 93 | .token.string, 94 | .token.char, 95 | .token.attr-value, 96 | .token.regex, 97 | .token.variable { 98 | color: #7ec699; 99 | } 100 | 101 | .token.operator, 102 | .token.entity, 103 | .token.url { 104 | color: #67cdcc; 105 | } 106 | 107 | .token.important, 108 | .token.bold { 109 | font-weight: bold; 110 | } 111 | .token.italic { 112 | font-style: italic; 113 | } 114 | 115 | .token.entity { 116 | cursor: help; 117 | } 118 | 119 | .token.inserted { 120 | color: green; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-prism/prism.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js default theme for JavaScript, CSS and HTML 3 | * Based on dabblet (http://dabblet.com) 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: black; 10 | background: none; 11 | text-shadow: 0 1px white; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 31 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 32 | text-shadow: none; 33 | background: #b3d4fc; 34 | } 35 | 36 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 37 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 38 | text-shadow: none; 39 | background: #b3d4fc; 40 | } 41 | 42 | @media print { 43 | code[class*="language-"], 44 | pre[class*="language-"] { 45 | text-shadow: none; 46 | } 47 | } 48 | 49 | /* Code blocks */ 50 | pre[class*="language-"] { 51 | padding: 1em; 52 | margin: .5em 0; 53 | overflow: auto; 54 | } 55 | 56 | :not(pre) > code[class*="language-"], 57 | pre[class*="language-"] { 58 | background: #f5f2f0; 59 | } 60 | 61 | /* Inline code */ 62 | :not(pre) > code[class*="language-"] { 63 | padding: .1em; 64 | border-radius: .3em; 65 | white-space: normal; 66 | } 67 | 68 | .token.comment, 69 | .token.prolog, 70 | .token.doctype, 71 | .token.cdata { 72 | color: slategray; 73 | } 74 | 75 | .token.punctuation { 76 | color: #999; 77 | } 78 | 79 | .namespace { 80 | opacity: .7; 81 | } 82 | 83 | .token.property, 84 | .token.tag, 85 | .token.boolean, 86 | .token.number, 87 | .token.constant, 88 | .token.symbol, 89 | .token.deleted { 90 | color: #905; 91 | } 92 | 93 | .token.selector, 94 | .token.attr-name, 95 | .token.string, 96 | .token.char, 97 | .token.builtin, 98 | .token.inserted { 99 | color: #690; 100 | } 101 | 102 | .token.operator, 103 | .token.entity, 104 | .token.url, 105 | .language-css .token.string, 106 | .style .token.string { 107 | color: #a67f59; 108 | background: hsla(0, 0%, 100%, .5); 109 | } 110 | 111 | .token.atrule, 112 | .token.attr-value, 113 | .token.keyword { 114 | color: #07a; 115 | } 116 | 117 | .token.function { 118 | color: #DD4A68; 119 | } 120 | 121 | .token.regex, 122 | .token.important, 123 | .token.variable { 124 | color: #e90; 125 | } 126 | 127 | .token.important, 128 | .token.bold { 129 | font-weight: bold; 130 | } 131 | .token.italic { 132 | font-style: italic; 133 | } 134 | 135 | .token.entity { 136 | cursor: help; 137 | } 138 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-search/search-engine.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Global search objects 6 | var engine = null; 7 | var initialized = false; 8 | 9 | // Set a new search engine 10 | function setEngine(Engine, config) { 11 | initialized = false; 12 | engine = new Engine(config); 13 | 14 | init(config); 15 | } 16 | 17 | // Initialize search engine with config 18 | function init(config) { 19 | if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).'); 20 | 21 | return engine.init(config) 22 | .then(function() { 23 | initialized = true; 24 | gitbook.events.trigger('search.ready'); 25 | }); 26 | } 27 | 28 | // Launch search for query q 29 | function query(q, offset, length) { 30 | if (!initialized) throw new Error('Search has not been initialized'); 31 | return engine.search(q, offset, length); 32 | } 33 | 34 | // Get stats about search 35 | function getEngine() { 36 | return engine? engine.name : null; 37 | } 38 | 39 | function isInitialized() { 40 | return initialized; 41 | } 42 | 43 | // Initialize gitbook.search 44 | gitbook.search = { 45 | setEngine: setEngine, 46 | getEngine: getEngine, 47 | query: query, 48 | isInitialized: isInitialized 49 | }; 50 | }); -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-search/search.css: -------------------------------------------------------------------------------- 1 | /* 2 | This CSS only styled the search results section, not the search input 3 | It defines the basic interraction to hide content when displaying results, etc 4 | */ 5 | #book-search-results .search-results { 6 | display: none; 7 | } 8 | #book-search-results .search-results ul.search-results-list { 9 | list-style-type: none; 10 | padding-left: 0; 11 | } 12 | #book-search-results .search-results ul.search-results-list li { 13 | margin-bottom: 1.5rem; 14 | padding-bottom: 0.5rem; 15 | /* Highlight results */ 16 | } 17 | #book-search-results .search-results ul.search-results-list li p em { 18 | background-color: rgba(255, 220, 0, 0.4); 19 | font-style: normal; 20 | } 21 | #book-search-results .search-results .no-results { 22 | display: none; 23 | } 24 | #book-search-results.open .search-results { 25 | display: block; 26 | } 27 | #book-search-results.open .search-noresults { 28 | display: none; 29 | } 30 | #book-search-results.no-results .search-results .has-results { 31 | display: none; 32 | } 33 | #book-search-results.no-results .search-results .no-results { 34 | display: block; 35 | } 36 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-sharing/buttons.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jquery'], function(gitbook, $) { 2 | var SITES = { 3 | 'facebook': { 4 | 'label': 'Facebook', 5 | 'icon': 'fa fa-facebook', 6 | 'onClick': function(e) { 7 | e.preventDefault(); 8 | window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); 9 | } 10 | }, 11 | 'twitter': { 12 | 'label': 'Twitter', 13 | 'icon': 'fa fa-twitter', 14 | 'onClick': function(e) { 15 | e.preventDefault(); 16 | window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); 17 | } 18 | }, 19 | 'google': { 20 | 'label': 'Google+', 21 | 'icon': 'fa fa-google-plus', 22 | 'onClick': function(e) { 23 | e.preventDefault(); 24 | window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); 25 | } 26 | }, 27 | 'weibo': { 28 | 'label': 'Weibo', 29 | 'icon': 'fa fa-weibo', 30 | 'onClick': function(e) { 31 | e.preventDefault(); 32 | window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); 33 | } 34 | }, 35 | 'instapaper': { 36 | 'label': 'Instapaper', 37 | 'icon': 'fa fa-instapaper', 38 | 'onClick': function(e) { 39 | e.preventDefault(); 40 | window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); 41 | } 42 | }, 43 | 'vk': { 44 | 'label': 'VK', 45 | 'icon': 'fa fa-vk', 46 | 'onClick': function(e) { 47 | e.preventDefault(); 48 | window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); 49 | } 50 | } 51 | }; 52 | 53 | 54 | 55 | gitbook.events.bind('start', function(e, config) { 56 | var opts = config.sharing; 57 | 58 | // Create dropdown menu 59 | var menu = $.map(opts.all, function(id) { 60 | var site = SITES[id]; 61 | 62 | return { 63 | text: site.label, 64 | onClick: site.onClick 65 | }; 66 | }); 67 | 68 | // Create main button with dropdown 69 | if (menu.length > 0) { 70 | gitbook.toolbar.createButton({ 71 | icon: 'fa fa-share-alt', 72 | label: 'Share', 73 | position: 'right', 74 | dropdown: [menu] 75 | }); 76 | } 77 | 78 | // Direct actions to share 79 | $.each(SITES, function(sideId, site) { 80 | if (!opts[sideId]) return; 81 | 82 | gitbook.toolbar.createButton({ 83 | icon: site.icon, 84 | label: site.text, 85 | position: 'right', 86 | onClick: site.onClick 87 | }); 88 | }); 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/gitbook-plugin-splitter/splitter.css: -------------------------------------------------------------------------------- 1 | .divider-content-summary { 2 | position: absolute; 3 | top: 0; 4 | right: 0; 5 | height: 100%; 6 | width: 5px; 7 | display: table; 8 | cursor: col-resize; 9 | color: #ccc; 10 | -webkit-transition: color 350ms ease; 11 | -moz-transition: color 350ms ease; 12 | -o-transition: color 350ms ease; 13 | transition: color 350ms ease 14 | } 15 | .divider-content-summary:hover { 16 | color: #444; 17 | } 18 | .divider-content-summary__icon { 19 | display: table-cell; 20 | vertical-align: middle; 21 | text-align: center; 22 | } 23 | -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png -------------------------------------------------------------------------------- /docs/docs/docs/gitbook/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/gitbook/images/favicon.ico -------------------------------------------------------------------------------- /docs/docs/docs/images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/consumer-groups.png -------------------------------------------------------------------------------- /docs/docs/docs/images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/kafka_log.png -------------------------------------------------------------------------------- /docs/docs/docs/images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/kafka_multidc.png -------------------------------------------------------------------------------- /docs/docs/docs/images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /docs/docs/docs/images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/log_anatomy.png -------------------------------------------------------------------------------- /docs/docs/docs/images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /docs/docs/docs/images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/log_compaction.png -------------------------------------------------------------------------------- /docs/docs/docs/images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/mirror-maker.png -------------------------------------------------------------------------------- /docs/docs/docs/images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/producer_consumer.png -------------------------------------------------------------------------------- /docs/docs/docs/images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/docs/images/tracking_high_level.png -------------------------------------------------------------------------------- /docs/docs/docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | http://kafkadoc.beanmr.com/./ weekly 0.5 4 | http://kafkadoc.beanmr.com/000_glossary/01_glossary.html weekly 0.5 5 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction_cn.html weekly 0.5 6 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction.html weekly 0.5 7 | http://kafkadoc.beanmr.com/010_getting_started/05_uses_cn.html weekly 0.5 8 | http://kafkadoc.beanmr.com/010_getting_started/05_uses.html weekly 0.5 9 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart_cn.html weekly 0.5 10 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart.html weekly 0.5 11 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem_cn.html weekly 0.5 12 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem.html weekly 0.5 13 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade_cn.html weekly 0.5 14 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade.html weekly 0.5 15 | http://kafkadoc.beanmr.com/020_api/01_api_cn.html weekly 0.5 16 | http://kafkadoc.beanmr.com/020_api/01_api.html weekly 0.5 17 | http://kafkadoc.beanmr.com/030_configuration/01_configuration_cn.html weekly 0.5 18 | http://kafkadoc.beanmr.com/030_configuration/01_configuration.html weekly 0.5 19 | http://kafkadoc.beanmr.com/040_design/01_design_cn.html weekly 0.5 20 | http://kafkadoc.beanmr.com/040_design/01_design.html weekly 0.5 21 | http://kafkadoc.beanmr.com/050_implementation/01_implementation.html weekly 0.5 22 | http://kafkadoc.beanmr.com/060_operations/01_ops.html weekly 0.5 23 | http://kafkadoc.beanmr.com/070_security/01_security.html weekly 0.5 24 | http://kafkadoc.beanmr.com/080_connect/01_connect.html weekly 0.5 25 | http://kafkadoc.beanmr.com/GLOSSARY.html weekly 0.5 26 | -------------------------------------------------------------------------------- /docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/fonts/fontawesome/FontAwesome.otf -------------------------------------------------------------------------------- /docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-anchors/plugin.css: -------------------------------------------------------------------------------- 1 | 2 | a.plugin-anchor { 3 | color: inherit !important; 4 | display: none; 5 | margin-left: -30px; 6 | padding-left: 40px; 7 | cursor: pointer; 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 0; 12 | } 13 | 14 | a.plugin-anchor i { 15 | margin-left: -30px; 16 | font-size: 15px !important; 17 | } 18 | 19 | h1, h2, h3, h4, h5, h6 { 20 | position: relative; 21 | } 22 | 23 | h1:hover a.plugin-anchor, h2:hover a.plugin-anchor, h3:hover a.plugin-anchor, 24 | h4:hover a.plugin-anchor, h5:hover a.plugin-anchor, h6:hover a.plugin-anchor { 25 | display: inline-block; 26 | } 27 | 28 | .book .book-body .page-wrapper .page-inner section.normal { 29 | overflow: visible; 30 | } 31 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-baidu_gio/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | gitbook.events.bind("start", function(e, config) { 3 | var baidu_gio = config.baidu_gio || {}; 4 | var _hmt = _hmt || []; 5 | (function() { 6 | var hm = document.createElement("script"); 7 | hm.src = '//hm.baidu.com/hm.js?' + baidu_gio['token']; 8 | var s = document.getElementsByTagName("script")[0]; 9 | s.parentNode.insertBefore(hm, s); 10 | })(); 11 | 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css: -------------------------------------------------------------------------------- 1 | .book .book-summary .chapter > .articles { 2 | overflow: hidden; 3 | max-height: 0px; 4 | } 5 | 6 | .book .book-summary .chapter.expanded > .articles { 7 | max-height: 9999px; 8 | } 9 | 10 | .book .book-summary .exc-trigger { 11 | position: absolute; 12 | left: 12px; 13 | top: 12px; 14 | } 15 | 16 | .book .book-summary ul.summary li a, 17 | .book .book-summary ul.summary li span { 18 | padding-left: 30px; 19 | } 20 | 21 | .book .book-summary .exc-trigger:before { 22 | content: "\f105"; 23 | } 24 | 25 | .book .book-summary .expanded > a .exc-trigger:before, 26 | .book .book-summary .expanded > span .exc-trigger:before { 27 | content: "\f107"; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jQuery'], function(gitbook, $) { 2 | var TOGGLE_CLASSNAME = 'expanded', 3 | CHAPTER = '.chapter', 4 | ARTICLES = '.articles', 5 | TRIGGER_TEMPLATE = '', 6 | LS_NAMESPACE = 'expChapters'; 7 | var init = function () { 8 | // adding the trigger element to each ARTICLES parent and binding the event 9 | $(ARTICLES) 10 | .parent(CHAPTER) 11 | .children('a') 12 | .append( 13 | $(TRIGGER_TEMPLATE) 14 | .on('click', function(e) { 15 | e.preventDefault(); 16 | e.stopPropagation(); 17 | toggle($(e.target).closest(CHAPTER)); 18 | }) 19 | ); 20 | expand(lsItem()); 21 | //expand current selected chapter with it's parents 22 | var activeChapter = $(CHAPTER + '.active'); 23 | expand(activeChapter); 24 | expand(activeChapter.parents(CHAPTER)); 25 | 26 | 27 | } 28 | var toggle = function ($chapter) { 29 | if ($chapter.hasClass('expanded')) { 30 | collapse($chapter); 31 | } else { 32 | expand($chapter); 33 | } 34 | } 35 | var collapse = function ($chapter) { 36 | if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { 37 | $chapter.removeClass(TOGGLE_CLASSNAME); 38 | lsItem($chapter); 39 | } 40 | } 41 | var expand = function ($chapter) { 42 | if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { 43 | $chapter.addClass(TOGGLE_CLASSNAME); 44 | lsItem($chapter); 45 | } 46 | } 47 | var lsItem = function () { 48 | var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} 49 | if (arguments.length) { 50 | var $chapters = arguments[0]; 51 | $chapters.each(function (index, element) { 52 | var level = $(this).data('level'); 53 | var value = $(this).hasClass(TOGGLE_CLASSNAME); 54 | map[level] = value; 55 | }) 56 | localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); 57 | } else { 58 | return $(CHAPTER).map(function(index, element){ 59 | if (map[$(this).data('level')]) { 60 | return this; 61 | } 62 | }) 63 | } 64 | } 65 | gitbook.events.bind('page.change', function() { 66 | init() 67 | }); 68 | }); 69 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-ga/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | // Load analytics.js 3 | gitbook.events.bind("start", function(e, config) { 4 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 5 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 6 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 7 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 8 | 9 | var cfg = config.ga; 10 | ga('create', cfg.token, cfg.configuration); 11 | }); 12 | 13 | // Notify pageview 14 | gitbook.events.bind("page.change", function() { 15 | ga('send', 'pageview', window.location.pathname+window.location.search); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-github/plugin.js: -------------------------------------------------------------------------------- 1 | require([ 'gitbook' ], function (gitbook) { 2 | gitbook.events.bind('start', function (e, config) { 3 | var githubURL = config.github.url; 4 | 5 | gitbook.toolbar.createButton({ 6 | icon: 'fa fa-github', 7 | label: 'GitHub', 8 | position: 'right', 9 | onClick: function() { 10 | window.open(githubURL) 11 | } 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-lunr/search-lunr.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Define global search engine 6 | function LunrSearchEngine() { 7 | this.index = null; 8 | this.store = {}; 9 | this.name = 'LunrSearchEngine'; 10 | } 11 | 12 | // Initialize lunr by fetching the search index 13 | LunrSearchEngine.prototype.init = function() { 14 | var that = this; 15 | var d = $.Deferred(); 16 | 17 | $.getJSON(gitbook.state.basePath+'/search_index.json') 18 | .then(function(data) { 19 | // eslint-disable-next-line no-undef 20 | that.index = lunr.Index.load(data.index); 21 | that.store = data.store; 22 | d.resolve(); 23 | }); 24 | 25 | return d.promise(); 26 | }; 27 | 28 | // Search for a term and return results 29 | LunrSearchEngine.prototype.search = function(q, offset, length) { 30 | var that = this; 31 | var results = []; 32 | 33 | if (this.index) { 34 | results = $.map(this.index.search(q), function(result) { 35 | var doc = that.store[result.ref]; 36 | 37 | return { 38 | title: doc.title, 39 | url: doc.url, 40 | body: doc.summary || doc.body 41 | }; 42 | }); 43 | } 44 | 45 | return $.Deferred().resolve({ 46 | query: q, 47 | results: results.slice(0, length), 48 | count: results.length 49 | }).promise(); 50 | }; 51 | 52 | // Set gitbook research 53 | gitbook.events.bind('start', function(e, config) { 54 | var engine = gitbook.search.getEngine(); 55 | if (!engine) { 56 | gitbook.search.setEngine(LunrSearchEngine, config); 57 | } 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-prism/prism-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Dark theme for JavaScript, CSS and HTML 3 | * Based on the slides of the talk “/Reg(exp){2}lained/” 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: white; 10 | background: none; 11 | text-shadow: 0 -.1em .2em black; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | @media print { 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | text-shadow: none; 34 | } 35 | } 36 | 37 | pre[class*="language-"], 38 | :not(pre) > code[class*="language-"] { 39 | background: hsl(30, 20%, 25%); 40 | } 41 | 42 | /* Code blocks */ 43 | pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: .3em solid hsl(30, 20%, 40%); 48 | border-radius: .5em; 49 | box-shadow: 1px 1px .5em black inset; 50 | } 51 | 52 | /* Inline code */ 53 | :not(pre) > code[class*="language-"] { 54 | padding: .15em .2em .05em; 55 | border-radius: .3em; 56 | border: .13em solid hsl(30, 20%, 40%); 57 | box-shadow: 1px 1px .3em -.1em black inset; 58 | white-space: normal; 59 | } 60 | 61 | .token.comment, 62 | .token.prolog, 63 | .token.doctype, 64 | .token.cdata { 65 | color: hsl(30, 20%, 50%); 66 | } 67 | 68 | .token.punctuation { 69 | opacity: .7; 70 | } 71 | 72 | .namespace { 73 | opacity: .7; 74 | } 75 | 76 | .token.property, 77 | .token.tag, 78 | .token.boolean, 79 | .token.number, 80 | .token.constant, 81 | .token.symbol { 82 | color: hsl(350, 40%, 70%); 83 | } 84 | 85 | .token.selector, 86 | .token.attr-name, 87 | .token.string, 88 | .token.char, 89 | .token.builtin, 90 | .token.inserted { 91 | color: hsl(75, 70%, 60%); 92 | } 93 | 94 | .token.operator, 95 | .token.entity, 96 | .token.url, 97 | .language-css .token.string, 98 | .style .token.string, 99 | .token.variable { 100 | color: hsl(40, 90%, 60%); 101 | } 102 | 103 | .token.atrule, 104 | .token.attr-value, 105 | .token.keyword { 106 | color: hsl(350, 40%, 70%); 107 | } 108 | 109 | .token.regex, 110 | .token.important { 111 | color: #e90; 112 | } 113 | 114 | .token.important, 115 | .token.bold { 116 | font-weight: bold; 117 | } 118 | .token.italic { 119 | font-style: italic; 120 | } 121 | 122 | .token.entity { 123 | cursor: help; 124 | } 125 | 126 | .token.deleted { 127 | color: red; 128 | } 129 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-prism/prism-funky.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Funky theme 3 | * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 10 | text-align: left; 11 | white-space: pre; 12 | word-spacing: normal; 13 | word-break: normal; 14 | word-wrap: normal; 15 | line-height: 1.5; 16 | 17 | -moz-tab-size: 4; 18 | -o-tab-size: 4; 19 | tab-size: 4; 20 | 21 | -webkit-hyphens: none; 22 | -moz-hyphens: none; 23 | -ms-hyphens: none; 24 | hyphens: none; 25 | } 26 | 27 | /* Code blocks */ 28 | pre[class*="language-"] { 29 | padding: .4em .8em; 30 | margin: .5em 0; 31 | overflow: auto; 32 | background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); 33 | background-size: 1em 1em; 34 | } 35 | 36 | code[class*="language-"] { 37 | background: black; 38 | color: white; 39 | box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .2em; 45 | border-radius: .3em; 46 | box-shadow: none; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #aaa; 55 | } 56 | 57 | .token.punctuation { 58 | color: #999; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.boolean, 68 | .token.number, 69 | .token.constant, 70 | .token.symbol { 71 | color: #0cf; 72 | } 73 | 74 | .token.selector, 75 | .token.attr-name, 76 | .token.string, 77 | .token.char, 78 | .token.builtin { 79 | color: yellow; 80 | } 81 | 82 | .token.operator, 83 | .token.entity, 84 | .token.url, 85 | .language-css .token.string, 86 | .toke.variable, 87 | .token.inserted { 88 | color: yellowgreen; 89 | } 90 | 91 | .token.atrule, 92 | .token.attr-value, 93 | .token.keyword { 94 | color: deeppink; 95 | } 96 | 97 | .token.regex, 98 | .token.important { 99 | color: orange; 100 | } 101 | 102 | .token.important, 103 | .token.bold { 104 | font-weight: bold; 105 | } 106 | .token.italic { 107 | font-style: italic; 108 | } 109 | 110 | .token.entity { 111 | cursor: help; 112 | } 113 | 114 | .token.deleted { 115 | color: red; 116 | } 117 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-prism/prism-okaidia.css: -------------------------------------------------------------------------------- 1 | /** 2 | * okaidia theme for JavaScript, CSS and HTML 3 | * Loosely based on Monokai textmate theme by http://www.monokai.nl/ 4 | * @author ocodia 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #f8f8f2; 10 | background: none; 11 | text-shadow: 0 1px rgba(0, 0, 0, 0.3); 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | border-radius: 0.3em; 36 | } 37 | 38 | :not(pre) > code[class*="language-"], 39 | pre[class*="language-"] { 40 | background: #272822; 41 | } 42 | 43 | /* Inline code */ 44 | :not(pre) > code[class*="language-"] { 45 | padding: .1em; 46 | border-radius: .3em; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: slategray; 55 | } 56 | 57 | .token.punctuation { 58 | color: #f8f8f2; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.constant, 68 | .token.symbol, 69 | .token.deleted { 70 | color: #f92672; 71 | } 72 | 73 | .token.boolean, 74 | .token.number { 75 | color: #ae81ff; 76 | } 77 | 78 | .token.selector, 79 | .token.attr-name, 80 | .token.string, 81 | .token.char, 82 | .token.builtin, 83 | .token.inserted { 84 | color: #a6e22e; 85 | } 86 | 87 | .token.operator, 88 | .token.entity, 89 | .token.url, 90 | .language-css .token.string, 91 | .style .token.string, 92 | .token.variable { 93 | color: #f8f8f2; 94 | } 95 | 96 | .token.atrule, 97 | .token.attr-value, 98 | .token.function { 99 | color: #e6db74; 100 | } 101 | 102 | .token.keyword { 103 | color: #66d9ef; 104 | } 105 | 106 | .token.regex, 107 | .token.important { 108 | color: #fd971f; 109 | } 110 | 111 | .token.important, 112 | .token.bold { 113 | font-weight: bold; 114 | } 115 | .token.italic { 116 | font-style: italic; 117 | } 118 | 119 | .token.entity { 120 | cursor: help; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-prism/prism-solarizedlight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Solarized Color Schemes originally by Ethan Schoonover 3 | http://ethanschoonover.com/solarized 4 | 5 | Ported for PrismJS by Hector Matos 6 | Website: https://krakendev.io 7 | Twitter Handle: https://twitter.com/allonsykraken) 8 | */ 9 | 10 | /* 11 | SOLARIZED HEX 12 | --------- ------- 13 | base03 #002b36 14 | base02 #073642 15 | base01 #586e75 16 | base00 #657b83 17 | base0 #839496 18 | base1 #93a1a1 19 | base2 #eee8d5 20 | base3 #fdf6e3 21 | yellow #b58900 22 | orange #cb4b16 23 | red #dc322f 24 | magenta #d33682 25 | violet #6c71c4 26 | blue #268bd2 27 | cyan #2aa198 28 | green #859900 29 | */ 30 | 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | color: #657b83; /* base00 */ 34 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 35 | text-align: left; 36 | white-space: pre; 37 | word-spacing: normal; 38 | word-break: normal; 39 | word-wrap: normal; 40 | 41 | line-height: 1.5; 42 | 43 | -moz-tab-size: 4; 44 | -o-tab-size: 4; 45 | tab-size: 4; 46 | 47 | -webkit-hyphens: none; 48 | -moz-hyphens: none; 49 | -ms-hyphens: none; 50 | hyphens: none; 51 | } 52 | 53 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 54 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 55 | background: #073642; /* base02 */ 56 | } 57 | 58 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 59 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 60 | background: #073642; /* base02 */ 61 | } 62 | 63 | /* Code blocks */ 64 | pre[class*="language-"] { 65 | padding: 1em; 66 | margin: .5em 0; 67 | overflow: auto; 68 | border-radius: 0.3em; 69 | } 70 | 71 | :not(pre) > code[class*="language-"], 72 | pre[class*="language-"] { 73 | background-color: #fdf6e3; /* base3 */ 74 | } 75 | 76 | /* Inline code */ 77 | :not(pre) > code[class*="language-"] { 78 | padding: .1em; 79 | border-radius: .3em; 80 | } 81 | 82 | .token.comment, 83 | .token.prolog, 84 | .token.doctype, 85 | .token.cdata { 86 | color: #93a1a1; /* base1 */ 87 | } 88 | 89 | .token.punctuation { 90 | color: #586e75; /* base01 */ 91 | } 92 | 93 | .namespace { 94 | opacity: .7; 95 | } 96 | 97 | .token.property, 98 | .token.tag, 99 | .token.boolean, 100 | .token.number, 101 | .token.constant, 102 | .token.symbol, 103 | .token.deleted { 104 | color: #268bd2; /* blue */ 105 | } 106 | 107 | .token.selector, 108 | .token.attr-name, 109 | .token.string, 110 | .token.char, 111 | .token.builtin, 112 | .token.url, 113 | .token.inserted { 114 | color: #2aa198; /* cyan */ 115 | } 116 | 117 | .token.entity { 118 | color: #657b83; /* base00 */ 119 | background: #eee8d5; /* base2 */ 120 | } 121 | 122 | .token.atrule, 123 | .token.attr-value, 124 | .token.keyword { 125 | color: #859900; /* green */ 126 | } 127 | 128 | .token.function { 129 | color: #b58900; /* yellow */ 130 | } 131 | 132 | .token.regex, 133 | .token.important, 134 | .token.variable { 135 | color: #cb4b16; /* orange */ 136 | } 137 | 138 | .token.important, 139 | .token.bold { 140 | font-weight: bold; 141 | } 142 | .token.italic { 143 | font-style: italic; 144 | } 145 | 146 | .token.entity { 147 | cursor: help; 148 | } -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-prism/prism-tomorrow.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML 3 | * Based on https://github.com/chriskempson/tomorrow-theme 4 | * @author Rose Pritchard 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #ccc; 10 | background: none; 11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 12 | text-align: left; 13 | white-space: pre; 14 | word-spacing: normal; 15 | word-break: normal; 16 | word-wrap: normal; 17 | line-height: 1.5; 18 | 19 | -moz-tab-size: 4; 20 | -o-tab-size: 4; 21 | tab-size: 4; 22 | 23 | -webkit-hyphens: none; 24 | -moz-hyphens: none; 25 | -ms-hyphens: none; 26 | hyphens: none; 27 | 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | } 36 | 37 | :not(pre) > code[class*="language-"], 38 | pre[class*="language-"] { 39 | background: #2d2d2d; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .1em; 45 | border-radius: .3em; 46 | white-space: normal; 47 | } 48 | 49 | .token.comment, 50 | .token.block-comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #999; 55 | } 56 | 57 | .token.punctuation { 58 | color: #ccc; 59 | } 60 | 61 | .token.tag, 62 | .token.attr-name, 63 | .token.namespace, 64 | .token.deleted { 65 | color: #e2777a; 66 | } 67 | 68 | .token.function-name { 69 | color: #6196cc; 70 | } 71 | 72 | .token.boolean, 73 | .token.number, 74 | .token.function { 75 | color: #f08d49; 76 | } 77 | 78 | .token.property, 79 | .token.class-name, 80 | .token.constant, 81 | .token.symbol { 82 | color: #f8c555; 83 | } 84 | 85 | .token.selector, 86 | .token.important, 87 | .token.atrule, 88 | .token.keyword, 89 | .token.builtin { 90 | color: #cc99cd; 91 | } 92 | 93 | .token.string, 94 | .token.char, 95 | .token.attr-value, 96 | .token.regex, 97 | .token.variable { 98 | color: #7ec699; 99 | } 100 | 101 | .token.operator, 102 | .token.entity, 103 | .token.url { 104 | color: #67cdcc; 105 | } 106 | 107 | .token.important, 108 | .token.bold { 109 | font-weight: bold; 110 | } 111 | .token.italic { 112 | font-style: italic; 113 | } 114 | 115 | .token.entity { 116 | cursor: help; 117 | } 118 | 119 | .token.inserted { 120 | color: green; 121 | } 122 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-prism/prism.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js default theme for JavaScript, CSS and HTML 3 | * Based on dabblet (http://dabblet.com) 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: black; 10 | background: none; 11 | text-shadow: 0 1px white; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 31 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 32 | text-shadow: none; 33 | background: #b3d4fc; 34 | } 35 | 36 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 37 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 38 | text-shadow: none; 39 | background: #b3d4fc; 40 | } 41 | 42 | @media print { 43 | code[class*="language-"], 44 | pre[class*="language-"] { 45 | text-shadow: none; 46 | } 47 | } 48 | 49 | /* Code blocks */ 50 | pre[class*="language-"] { 51 | padding: 1em; 52 | margin: .5em 0; 53 | overflow: auto; 54 | } 55 | 56 | :not(pre) > code[class*="language-"], 57 | pre[class*="language-"] { 58 | background: #f5f2f0; 59 | } 60 | 61 | /* Inline code */ 62 | :not(pre) > code[class*="language-"] { 63 | padding: .1em; 64 | border-radius: .3em; 65 | white-space: normal; 66 | } 67 | 68 | .token.comment, 69 | .token.prolog, 70 | .token.doctype, 71 | .token.cdata { 72 | color: slategray; 73 | } 74 | 75 | .token.punctuation { 76 | color: #999; 77 | } 78 | 79 | .namespace { 80 | opacity: .7; 81 | } 82 | 83 | .token.property, 84 | .token.tag, 85 | .token.boolean, 86 | .token.number, 87 | .token.constant, 88 | .token.symbol, 89 | .token.deleted { 90 | color: #905; 91 | } 92 | 93 | .token.selector, 94 | .token.attr-name, 95 | .token.string, 96 | .token.char, 97 | .token.builtin, 98 | .token.inserted { 99 | color: #690; 100 | } 101 | 102 | .token.operator, 103 | .token.entity, 104 | .token.url, 105 | .language-css .token.string, 106 | .style .token.string { 107 | color: #a67f59; 108 | background: hsla(0, 0%, 100%, .5); 109 | } 110 | 111 | .token.atrule, 112 | .token.attr-value, 113 | .token.keyword { 114 | color: #07a; 115 | } 116 | 117 | .token.function { 118 | color: #DD4A68; 119 | } 120 | 121 | .token.regex, 122 | .token.important, 123 | .token.variable { 124 | color: #e90; 125 | } 126 | 127 | .token.important, 128 | .token.bold { 129 | font-weight: bold; 130 | } 131 | .token.italic { 132 | font-style: italic; 133 | } 134 | 135 | .token.entity { 136 | cursor: help; 137 | } 138 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-search/search-engine.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Global search objects 6 | var engine = null; 7 | var initialized = false; 8 | 9 | // Set a new search engine 10 | function setEngine(Engine, config) { 11 | initialized = false; 12 | engine = new Engine(config); 13 | 14 | init(config); 15 | } 16 | 17 | // Initialize search engine with config 18 | function init(config) { 19 | if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).'); 20 | 21 | return engine.init(config) 22 | .then(function() { 23 | initialized = true; 24 | gitbook.events.trigger('search.ready'); 25 | }); 26 | } 27 | 28 | // Launch search for query q 29 | function query(q, offset, length) { 30 | if (!initialized) throw new Error('Search has not been initialized'); 31 | return engine.search(q, offset, length); 32 | } 33 | 34 | // Get stats about search 35 | function getEngine() { 36 | return engine? engine.name : null; 37 | } 38 | 39 | function isInitialized() { 40 | return initialized; 41 | } 42 | 43 | // Initialize gitbook.search 44 | gitbook.search = { 45 | setEngine: setEngine, 46 | getEngine: getEngine, 47 | query: query, 48 | isInitialized: isInitialized 49 | }; 50 | }); -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-search/search.css: -------------------------------------------------------------------------------- 1 | /* 2 | This CSS only styled the search results section, not the search input 3 | It defines the basic interraction to hide content when displaying results, etc 4 | */ 5 | #book-search-results .search-results { 6 | display: none; 7 | } 8 | #book-search-results .search-results ul.search-results-list { 9 | list-style-type: none; 10 | padding-left: 0; 11 | } 12 | #book-search-results .search-results ul.search-results-list li { 13 | margin-bottom: 1.5rem; 14 | padding-bottom: 0.5rem; 15 | /* Highlight results */ 16 | } 17 | #book-search-results .search-results ul.search-results-list li p em { 18 | background-color: rgba(255, 220, 0, 0.4); 19 | font-style: normal; 20 | } 21 | #book-search-results .search-results .no-results { 22 | display: none; 23 | } 24 | #book-search-results.open .search-results { 25 | display: block; 26 | } 27 | #book-search-results.open .search-noresults { 28 | display: none; 29 | } 30 | #book-search-results.no-results .search-results .has-results { 31 | display: none; 32 | } 33 | #book-search-results.no-results .search-results .no-results { 34 | display: block; 35 | } 36 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-sharing/buttons.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jquery'], function(gitbook, $) { 2 | var SITES = { 3 | 'facebook': { 4 | 'label': 'Facebook', 5 | 'icon': 'fa fa-facebook', 6 | 'onClick': function(e) { 7 | e.preventDefault(); 8 | window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); 9 | } 10 | }, 11 | 'twitter': { 12 | 'label': 'Twitter', 13 | 'icon': 'fa fa-twitter', 14 | 'onClick': function(e) { 15 | e.preventDefault(); 16 | window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); 17 | } 18 | }, 19 | 'google': { 20 | 'label': 'Google+', 21 | 'icon': 'fa fa-google-plus', 22 | 'onClick': function(e) { 23 | e.preventDefault(); 24 | window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); 25 | } 26 | }, 27 | 'weibo': { 28 | 'label': 'Weibo', 29 | 'icon': 'fa fa-weibo', 30 | 'onClick': function(e) { 31 | e.preventDefault(); 32 | window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); 33 | } 34 | }, 35 | 'instapaper': { 36 | 'label': 'Instapaper', 37 | 'icon': 'fa fa-instapaper', 38 | 'onClick': function(e) { 39 | e.preventDefault(); 40 | window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); 41 | } 42 | }, 43 | 'vk': { 44 | 'label': 'VK', 45 | 'icon': 'fa fa-vk', 46 | 'onClick': function(e) { 47 | e.preventDefault(); 48 | window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); 49 | } 50 | } 51 | }; 52 | 53 | 54 | 55 | gitbook.events.bind('start', function(e, config) { 56 | var opts = config.sharing; 57 | 58 | // Create dropdown menu 59 | var menu = $.map(opts.all, function(id) { 60 | var site = SITES[id]; 61 | 62 | return { 63 | text: site.label, 64 | onClick: site.onClick 65 | }; 66 | }); 67 | 68 | // Create main button with dropdown 69 | if (menu.length > 0) { 70 | gitbook.toolbar.createButton({ 71 | icon: 'fa fa-share-alt', 72 | label: 'Share', 73 | position: 'right', 74 | dropdown: [menu] 75 | }); 76 | } 77 | 78 | // Direct actions to share 79 | $.each(SITES, function(sideId, site) { 80 | if (!opts[sideId]) return; 81 | 82 | gitbook.toolbar.createButton({ 83 | icon: site.icon, 84 | label: site.text, 85 | position: 'right', 86 | onClick: site.onClick 87 | }); 88 | }); 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /docs/docs/gitbook/gitbook-plugin-splitter/splitter.css: -------------------------------------------------------------------------------- 1 | .divider-content-summary { 2 | position: absolute; 3 | top: 0; 4 | right: 0; 5 | height: 100%; 6 | width: 5px; 7 | display: table; 8 | cursor: col-resize; 9 | color: #ccc; 10 | -webkit-transition: color 350ms ease; 11 | -moz-transition: color 350ms ease; 12 | -o-transition: color 350ms ease; 13 | transition: color 350ms ease 14 | } 15 | .divider-content-summary:hover { 16 | color: #444; 17 | } 18 | .divider-content-summary__icon { 19 | display: table-cell; 20 | vertical-align: middle; 21 | text-align: center; 22 | } 23 | -------------------------------------------------------------------------------- /docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/images/apple-touch-icon-precomposed-152.png -------------------------------------------------------------------------------- /docs/docs/gitbook/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/gitbook/images/favicon.ico -------------------------------------------------------------------------------- /docs/docs/images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/consumer-groups.png -------------------------------------------------------------------------------- /docs/docs/images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/kafka_log.png -------------------------------------------------------------------------------- /docs/docs/images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/kafka_multidc.png -------------------------------------------------------------------------------- /docs/docs/images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /docs/docs/images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/log_anatomy.png -------------------------------------------------------------------------------- /docs/docs/images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /docs/docs/images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/log_compaction.png -------------------------------------------------------------------------------- /docs/docs/images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/mirror-maker.png -------------------------------------------------------------------------------- /docs/docs/images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/producer_consumer.png -------------------------------------------------------------------------------- /docs/docs/images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/docs/images/tracking_high_level.png -------------------------------------------------------------------------------- /docs/docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | http://kafkadoc.beanmr.com/./ weekly 0.5 4 | http://kafkadoc.beanmr.com/000_glossary/01_glossary.html weekly 0.5 5 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction_cn.html weekly 0.5 6 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction.html weekly 0.5 7 | http://kafkadoc.beanmr.com/010_getting_started/05_uses_cn.html weekly 0.5 8 | http://kafkadoc.beanmr.com/010_getting_started/05_uses.html weekly 0.5 9 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart_cn.html weekly 0.5 10 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart.html weekly 0.5 11 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem_cn.html weekly 0.5 12 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem.html weekly 0.5 13 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade_cn.html weekly 0.5 14 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade.html weekly 0.5 15 | http://kafkadoc.beanmr.com/020_api/01_api_cn.html weekly 0.5 16 | http://kafkadoc.beanmr.com/020_api/01_api.html weekly 0.5 17 | http://kafkadoc.beanmr.com/030_configuration/01_configuration_cn.html weekly 0.5 18 | http://kafkadoc.beanmr.com/030_configuration/01_configuration.html weekly 0.5 19 | http://kafkadoc.beanmr.com/040_design/01_design_cn.html weekly 0.5 20 | http://kafkadoc.beanmr.com/040_design/01_design.html weekly 0.5 21 | http://kafkadoc.beanmr.com/050_implementation/01_implementation.html weekly 0.5 22 | http://kafkadoc.beanmr.com/060_operations/01_ops.html weekly 0.5 23 | http://kafkadoc.beanmr.com/070_security/01_security.html weekly 0.5 24 | http://kafkadoc.beanmr.com/080_connect/01_connect.html weekly 0.5 25 | http://kafkadoc.beanmr.com/GLOSSARY.html weekly 0.5 26 | -------------------------------------------------------------------------------- /docs/gitbook/fonts/fontawesome/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/fonts/fontawesome/FontAwesome.otf -------------------------------------------------------------------------------- /docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-anchors/plugin.css: -------------------------------------------------------------------------------- 1 | 2 | a.plugin-anchor { 3 | color: inherit !important; 4 | display: none; 5 | margin-left: -30px; 6 | padding-left: 40px; 7 | cursor: pointer; 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | bottom: 0; 12 | } 13 | 14 | a.plugin-anchor i { 15 | margin-left: -30px; 16 | font-size: 15px !important; 17 | } 18 | 19 | h1, h2, h3, h4, h5, h6 { 20 | position: relative; 21 | } 22 | 23 | h1:hover a.plugin-anchor, h2:hover a.plugin-anchor, h3:hover a.plugin-anchor, 24 | h4:hover a.plugin-anchor, h5:hover a.plugin-anchor, h6:hover a.plugin-anchor { 25 | display: inline-block; 26 | } 27 | 28 | .book .book-body .page-wrapper .page-inner section.normal { 29 | overflow: visible; 30 | } 31 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-baidu_gio/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | gitbook.events.bind("start", function(e, config) { 3 | var baidu_gio = config.baidu_gio || {}; 4 | var _hmt = _hmt || []; 5 | (function() { 6 | var hm = document.createElement("script"); 7 | hm.src = '//hm.baidu.com/hm.js?' + baidu_gio['token']; 8 | var s = document.getElementsByTagName("script")[0]; 9 | s.parentNode.insertBefore(hm, s); 10 | })(); 11 | 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css: -------------------------------------------------------------------------------- 1 | .book .book-summary .chapter > .articles { 2 | overflow: hidden; 3 | max-height: 0px; 4 | } 5 | 6 | .book .book-summary .chapter.expanded > .articles { 7 | max-height: 9999px; 8 | } 9 | 10 | .book .book-summary .exc-trigger { 11 | position: absolute; 12 | left: 12px; 13 | top: 12px; 14 | } 15 | 16 | .book .book-summary ul.summary li a, 17 | .book .book-summary ul.summary li span { 18 | padding-left: 30px; 19 | } 20 | 21 | .book .book-summary .exc-trigger:before { 22 | content: "\f105"; 23 | } 24 | 25 | .book .book-summary .expanded > a .exc-trigger:before, 26 | .book .book-summary .expanded > span .exc-trigger:before { 27 | content: "\f107"; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jQuery'], function(gitbook, $) { 2 | var TOGGLE_CLASSNAME = 'expanded', 3 | CHAPTER = '.chapter', 4 | ARTICLES = '.articles', 5 | TRIGGER_TEMPLATE = '', 6 | LS_NAMESPACE = 'expChapters'; 7 | var init = function () { 8 | // adding the trigger element to each ARTICLES parent and binding the event 9 | $(ARTICLES) 10 | .parent(CHAPTER) 11 | .children('a') 12 | .append( 13 | $(TRIGGER_TEMPLATE) 14 | .on('click', function(e) { 15 | e.preventDefault(); 16 | e.stopPropagation(); 17 | toggle($(e.target).closest(CHAPTER)); 18 | }) 19 | ); 20 | expand(lsItem()); 21 | //expand current selected chapter with it's parents 22 | var activeChapter = $(CHAPTER + '.active'); 23 | expand(activeChapter); 24 | expand(activeChapter.parents(CHAPTER)); 25 | 26 | 27 | } 28 | var toggle = function ($chapter) { 29 | if ($chapter.hasClass('expanded')) { 30 | collapse($chapter); 31 | } else { 32 | expand($chapter); 33 | } 34 | } 35 | var collapse = function ($chapter) { 36 | if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { 37 | $chapter.removeClass(TOGGLE_CLASSNAME); 38 | lsItem($chapter); 39 | } 40 | } 41 | var expand = function ($chapter) { 42 | if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { 43 | $chapter.addClass(TOGGLE_CLASSNAME); 44 | lsItem($chapter); 45 | } 46 | } 47 | var lsItem = function () { 48 | var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} 49 | if (arguments.length) { 50 | var $chapters = arguments[0]; 51 | $chapters.each(function (index, element) { 52 | var level = $(this).data('level'); 53 | var value = $(this).hasClass(TOGGLE_CLASSNAME); 54 | map[level] = value; 55 | }) 56 | localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); 57 | } else { 58 | return $(CHAPTER).map(function(index, element){ 59 | if (map[$(this).data('level')]) { 60 | return this; 61 | } 62 | }) 63 | } 64 | } 65 | gitbook.events.bind('page.change', function() { 66 | init() 67 | }); 68 | }); 69 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-ga/plugin.js: -------------------------------------------------------------------------------- 1 | require(["gitbook"], function(gitbook) { 2 | // Load analytics.js 3 | gitbook.events.bind("start", function(e, config) { 4 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 5 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 6 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 7 | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 8 | 9 | var cfg = config.ga; 10 | ga('create', cfg.token, cfg.configuration); 11 | }); 12 | 13 | // Notify pageview 14 | gitbook.events.bind("page.change", function() { 15 | ga('send', 'pageview', window.location.pathname+window.location.search); 16 | }); 17 | }); 18 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-github/plugin.js: -------------------------------------------------------------------------------- 1 | require([ 'gitbook' ], function (gitbook) { 2 | gitbook.events.bind('start', function (e, config) { 3 | var githubURL = config.github.url; 4 | 5 | gitbook.toolbar.createButton({ 6 | icon: 'fa fa-github', 7 | label: 'GitHub', 8 | position: 'right', 9 | onClick: function() { 10 | window.open(githubURL) 11 | } 12 | }); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-lunr/search-lunr.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Define global search engine 6 | function LunrSearchEngine() { 7 | this.index = null; 8 | this.store = {}; 9 | this.name = 'LunrSearchEngine'; 10 | } 11 | 12 | // Initialize lunr by fetching the search index 13 | LunrSearchEngine.prototype.init = function() { 14 | var that = this; 15 | var d = $.Deferred(); 16 | 17 | $.getJSON(gitbook.state.basePath+'/search_index.json') 18 | .then(function(data) { 19 | // eslint-disable-next-line no-undef 20 | that.index = lunr.Index.load(data.index); 21 | that.store = data.store; 22 | d.resolve(); 23 | }); 24 | 25 | return d.promise(); 26 | }; 27 | 28 | // Search for a term and return results 29 | LunrSearchEngine.prototype.search = function(q, offset, length) { 30 | var that = this; 31 | var results = []; 32 | 33 | if (this.index) { 34 | results = $.map(this.index.search(q), function(result) { 35 | var doc = that.store[result.ref]; 36 | 37 | return { 38 | title: doc.title, 39 | url: doc.url, 40 | body: doc.summary || doc.body 41 | }; 42 | }); 43 | } 44 | 45 | return $.Deferred().resolve({ 46 | query: q, 47 | results: results.slice(0, length), 48 | count: results.length 49 | }).promise(); 50 | }; 51 | 52 | // Set gitbook research 53 | gitbook.events.bind('start', function(e, config) { 54 | var engine = gitbook.search.getEngine(); 55 | if (!engine) { 56 | gitbook.search.setEngine(LunrSearchEngine, config); 57 | } 58 | }); 59 | }); 60 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-prism/prism-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Dark theme for JavaScript, CSS and HTML 3 | * Based on the slides of the talk “/Reg(exp){2}lained/” 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: white; 10 | background: none; 11 | text-shadow: 0 -.1em .2em black; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | @media print { 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | text-shadow: none; 34 | } 35 | } 36 | 37 | pre[class*="language-"], 38 | :not(pre) > code[class*="language-"] { 39 | background: hsl(30, 20%, 25%); 40 | } 41 | 42 | /* Code blocks */ 43 | pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: .3em solid hsl(30, 20%, 40%); 48 | border-radius: .5em; 49 | box-shadow: 1px 1px .5em black inset; 50 | } 51 | 52 | /* Inline code */ 53 | :not(pre) > code[class*="language-"] { 54 | padding: .15em .2em .05em; 55 | border-radius: .3em; 56 | border: .13em solid hsl(30, 20%, 40%); 57 | box-shadow: 1px 1px .3em -.1em black inset; 58 | white-space: normal; 59 | } 60 | 61 | .token.comment, 62 | .token.prolog, 63 | .token.doctype, 64 | .token.cdata { 65 | color: hsl(30, 20%, 50%); 66 | } 67 | 68 | .token.punctuation { 69 | opacity: .7; 70 | } 71 | 72 | .namespace { 73 | opacity: .7; 74 | } 75 | 76 | .token.property, 77 | .token.tag, 78 | .token.boolean, 79 | .token.number, 80 | .token.constant, 81 | .token.symbol { 82 | color: hsl(350, 40%, 70%); 83 | } 84 | 85 | .token.selector, 86 | .token.attr-name, 87 | .token.string, 88 | .token.char, 89 | .token.builtin, 90 | .token.inserted { 91 | color: hsl(75, 70%, 60%); 92 | } 93 | 94 | .token.operator, 95 | .token.entity, 96 | .token.url, 97 | .language-css .token.string, 98 | .style .token.string, 99 | .token.variable { 100 | color: hsl(40, 90%, 60%); 101 | } 102 | 103 | .token.atrule, 104 | .token.attr-value, 105 | .token.keyword { 106 | color: hsl(350, 40%, 70%); 107 | } 108 | 109 | .token.regex, 110 | .token.important { 111 | color: #e90; 112 | } 113 | 114 | .token.important, 115 | .token.bold { 116 | font-weight: bold; 117 | } 118 | .token.italic { 119 | font-style: italic; 120 | } 121 | 122 | .token.entity { 123 | cursor: help; 124 | } 125 | 126 | .token.deleted { 127 | color: red; 128 | } 129 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-prism/prism-funky.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js Funky theme 3 | * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 10 | text-align: left; 11 | white-space: pre; 12 | word-spacing: normal; 13 | word-break: normal; 14 | word-wrap: normal; 15 | line-height: 1.5; 16 | 17 | -moz-tab-size: 4; 18 | -o-tab-size: 4; 19 | tab-size: 4; 20 | 21 | -webkit-hyphens: none; 22 | -moz-hyphens: none; 23 | -ms-hyphens: none; 24 | hyphens: none; 25 | } 26 | 27 | /* Code blocks */ 28 | pre[class*="language-"] { 29 | padding: .4em .8em; 30 | margin: .5em 0; 31 | overflow: auto; 32 | background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); 33 | background-size: 1em 1em; 34 | } 35 | 36 | code[class*="language-"] { 37 | background: black; 38 | color: white; 39 | box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .2em; 45 | border-radius: .3em; 46 | box-shadow: none; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #aaa; 55 | } 56 | 57 | .token.punctuation { 58 | color: #999; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.boolean, 68 | .token.number, 69 | .token.constant, 70 | .token.symbol { 71 | color: #0cf; 72 | } 73 | 74 | .token.selector, 75 | .token.attr-name, 76 | .token.string, 77 | .token.char, 78 | .token.builtin { 79 | color: yellow; 80 | } 81 | 82 | .token.operator, 83 | .token.entity, 84 | .token.url, 85 | .language-css .token.string, 86 | .toke.variable, 87 | .token.inserted { 88 | color: yellowgreen; 89 | } 90 | 91 | .token.atrule, 92 | .token.attr-value, 93 | .token.keyword { 94 | color: deeppink; 95 | } 96 | 97 | .token.regex, 98 | .token.important { 99 | color: orange; 100 | } 101 | 102 | .token.important, 103 | .token.bold { 104 | font-weight: bold; 105 | } 106 | .token.italic { 107 | font-style: italic; 108 | } 109 | 110 | .token.entity { 111 | cursor: help; 112 | } 113 | 114 | .token.deleted { 115 | color: red; 116 | } 117 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-prism/prism-okaidia.css: -------------------------------------------------------------------------------- 1 | /** 2 | * okaidia theme for JavaScript, CSS and HTML 3 | * Loosely based on Monokai textmate theme by http://www.monokai.nl/ 4 | * @author ocodia 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #f8f8f2; 10 | background: none; 11 | text-shadow: 0 1px rgba(0, 0, 0, 0.3); 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | border-radius: 0.3em; 36 | } 37 | 38 | :not(pre) > code[class*="language-"], 39 | pre[class*="language-"] { 40 | background: #272822; 41 | } 42 | 43 | /* Inline code */ 44 | :not(pre) > code[class*="language-"] { 45 | padding: .1em; 46 | border-radius: .3em; 47 | white-space: normal; 48 | } 49 | 50 | .token.comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: slategray; 55 | } 56 | 57 | .token.punctuation { 58 | color: #f8f8f2; 59 | } 60 | 61 | .namespace { 62 | opacity: .7; 63 | } 64 | 65 | .token.property, 66 | .token.tag, 67 | .token.constant, 68 | .token.symbol, 69 | .token.deleted { 70 | color: #f92672; 71 | } 72 | 73 | .token.boolean, 74 | .token.number { 75 | color: #ae81ff; 76 | } 77 | 78 | .token.selector, 79 | .token.attr-name, 80 | .token.string, 81 | .token.char, 82 | .token.builtin, 83 | .token.inserted { 84 | color: #a6e22e; 85 | } 86 | 87 | .token.operator, 88 | .token.entity, 89 | .token.url, 90 | .language-css .token.string, 91 | .style .token.string, 92 | .token.variable { 93 | color: #f8f8f2; 94 | } 95 | 96 | .token.atrule, 97 | .token.attr-value, 98 | .token.function, 99 | .token.class-name { 100 | color: #e6db74; 101 | } 102 | 103 | .token.keyword { 104 | color: #66d9ef; 105 | } 106 | 107 | .token.regex, 108 | .token.important { 109 | color: #fd971f; 110 | } 111 | 112 | .token.important, 113 | .token.bold { 114 | font-weight: bold; 115 | } 116 | .token.italic { 117 | font-style: italic; 118 | } 119 | 120 | .token.entity { 121 | cursor: help; 122 | } 123 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-prism/prism-solarizedlight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Solarized Color Schemes originally by Ethan Schoonover 3 | http://ethanschoonover.com/solarized 4 | 5 | Ported for PrismJS by Hector Matos 6 | Website: https://krakendev.io 7 | Twitter Handle: https://twitter.com/allonsykraken) 8 | */ 9 | 10 | /* 11 | SOLARIZED HEX 12 | --------- ------- 13 | base03 #002b36 14 | base02 #073642 15 | base01 #586e75 16 | base00 #657b83 17 | base0 #839496 18 | base1 #93a1a1 19 | base2 #eee8d5 20 | base3 #fdf6e3 21 | yellow #b58900 22 | orange #cb4b16 23 | red #dc322f 24 | magenta #d33682 25 | violet #6c71c4 26 | blue #268bd2 27 | cyan #2aa198 28 | green #859900 29 | */ 30 | 31 | code[class*="language-"], 32 | pre[class*="language-"] { 33 | color: #657b83; /* base00 */ 34 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 35 | text-align: left; 36 | white-space: pre; 37 | word-spacing: normal; 38 | word-break: normal; 39 | word-wrap: normal; 40 | 41 | line-height: 1.5; 42 | 43 | -moz-tab-size: 4; 44 | -o-tab-size: 4; 45 | tab-size: 4; 46 | 47 | -webkit-hyphens: none; 48 | -moz-hyphens: none; 49 | -ms-hyphens: none; 50 | hyphens: none; 51 | } 52 | 53 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 54 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 55 | background: #073642; /* base02 */ 56 | } 57 | 58 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 59 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 60 | background: #073642; /* base02 */ 61 | } 62 | 63 | /* Code blocks */ 64 | pre[class*="language-"] { 65 | padding: 1em; 66 | margin: .5em 0; 67 | overflow: auto; 68 | border-radius: 0.3em; 69 | } 70 | 71 | :not(pre) > code[class*="language-"], 72 | pre[class*="language-"] { 73 | background-color: #fdf6e3; /* base3 */ 74 | } 75 | 76 | /* Inline code */ 77 | :not(pre) > code[class*="language-"] { 78 | padding: .1em; 79 | border-radius: .3em; 80 | } 81 | 82 | .token.comment, 83 | .token.prolog, 84 | .token.doctype, 85 | .token.cdata { 86 | color: #93a1a1; /* base1 */ 87 | } 88 | 89 | .token.punctuation { 90 | color: #586e75; /* base01 */ 91 | } 92 | 93 | .namespace { 94 | opacity: .7; 95 | } 96 | 97 | .token.property, 98 | .token.tag, 99 | .token.boolean, 100 | .token.number, 101 | .token.constant, 102 | .token.symbol, 103 | .token.deleted { 104 | color: #268bd2; /* blue */ 105 | } 106 | 107 | .token.selector, 108 | .token.attr-name, 109 | .token.string, 110 | .token.char, 111 | .token.builtin, 112 | .token.url, 113 | .token.inserted { 114 | color: #2aa198; /* cyan */ 115 | } 116 | 117 | .token.entity { 118 | color: #657b83; /* base00 */ 119 | background: #eee8d5; /* base2 */ 120 | } 121 | 122 | .token.atrule, 123 | .token.attr-value, 124 | .token.keyword { 125 | color: #859900; /* green */ 126 | } 127 | 128 | .token.function, 129 | .token.class-name { 130 | color: #b58900; /* yellow */ 131 | } 132 | 133 | .token.regex, 134 | .token.important, 135 | .token.variable { 136 | color: #cb4b16; /* orange */ 137 | } 138 | 139 | .token.important, 140 | .token.bold { 141 | font-weight: bold; 142 | } 143 | .token.italic { 144 | font-style: italic; 145 | } 146 | 147 | .token.entity { 148 | cursor: help; 149 | } 150 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-prism/prism-tomorrow.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML 3 | * Based on https://github.com/chriskempson/tomorrow-theme 4 | * @author Rose Pritchard 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: #ccc; 10 | background: none; 11 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 12 | text-align: left; 13 | white-space: pre; 14 | word-spacing: normal; 15 | word-break: normal; 16 | word-wrap: normal; 17 | line-height: 1.5; 18 | 19 | -moz-tab-size: 4; 20 | -o-tab-size: 4; 21 | tab-size: 4; 22 | 23 | -webkit-hyphens: none; 24 | -moz-hyphens: none; 25 | -ms-hyphens: none; 26 | hyphens: none; 27 | 28 | } 29 | 30 | /* Code blocks */ 31 | pre[class*="language-"] { 32 | padding: 1em; 33 | margin: .5em 0; 34 | overflow: auto; 35 | } 36 | 37 | :not(pre) > code[class*="language-"], 38 | pre[class*="language-"] { 39 | background: #2d2d2d; 40 | } 41 | 42 | /* Inline code */ 43 | :not(pre) > code[class*="language-"] { 44 | padding: .1em; 45 | border-radius: .3em; 46 | white-space: normal; 47 | } 48 | 49 | .token.comment, 50 | .token.block-comment, 51 | .token.prolog, 52 | .token.doctype, 53 | .token.cdata { 54 | color: #999; 55 | } 56 | 57 | .token.punctuation { 58 | color: #ccc; 59 | } 60 | 61 | .token.tag, 62 | .token.attr-name, 63 | .token.namespace, 64 | .token.deleted { 65 | color: #e2777a; 66 | } 67 | 68 | .token.function-name { 69 | color: #6196cc; 70 | } 71 | 72 | .token.boolean, 73 | .token.number, 74 | .token.function { 75 | color: #f08d49; 76 | } 77 | 78 | .token.property, 79 | .token.class-name, 80 | .token.constant, 81 | .token.symbol { 82 | color: #f8c555; 83 | } 84 | 85 | .token.selector, 86 | .token.important, 87 | .token.atrule, 88 | .token.keyword, 89 | .token.builtin { 90 | color: #cc99cd; 91 | } 92 | 93 | .token.string, 94 | .token.char, 95 | .token.attr-value, 96 | .token.regex, 97 | .token.variable { 98 | color: #7ec699; 99 | } 100 | 101 | .token.operator, 102 | .token.entity, 103 | .token.url { 104 | color: #67cdcc; 105 | } 106 | 107 | .token.important, 108 | .token.bold { 109 | font-weight: bold; 110 | } 111 | .token.italic { 112 | font-style: italic; 113 | } 114 | 115 | .token.entity { 116 | cursor: help; 117 | } 118 | 119 | .token.inserted { 120 | color: green; 121 | } 122 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-prism/prism.css: -------------------------------------------------------------------------------- 1 | /** 2 | * prism.js default theme for JavaScript, CSS and HTML 3 | * Based on dabblet (http://dabblet.com) 4 | * @author Lea Verou 5 | */ 6 | 7 | code[class*="language-"], 8 | pre[class*="language-"] { 9 | color: black; 10 | background: none; 11 | text-shadow: 0 1px white; 12 | font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; 13 | text-align: left; 14 | white-space: pre; 15 | word-spacing: normal; 16 | word-break: normal; 17 | word-wrap: normal; 18 | line-height: 1.5; 19 | 20 | -moz-tab-size: 4; 21 | -o-tab-size: 4; 22 | tab-size: 4; 23 | 24 | -webkit-hyphens: none; 25 | -moz-hyphens: none; 26 | -ms-hyphens: none; 27 | hyphens: none; 28 | } 29 | 30 | pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 31 | code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 32 | text-shadow: none; 33 | background: #b3d4fc; 34 | } 35 | 36 | pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 37 | code[class*="language-"]::selection, code[class*="language-"] ::selection { 38 | text-shadow: none; 39 | background: #b3d4fc; 40 | } 41 | 42 | @media print { 43 | code[class*="language-"], 44 | pre[class*="language-"] { 45 | text-shadow: none; 46 | } 47 | } 48 | 49 | /* Code blocks */ 50 | pre[class*="language-"] { 51 | padding: 1em; 52 | margin: .5em 0; 53 | overflow: auto; 54 | } 55 | 56 | :not(pre) > code[class*="language-"], 57 | pre[class*="language-"] { 58 | background: #f5f2f0; 59 | } 60 | 61 | /* Inline code */ 62 | :not(pre) > code[class*="language-"] { 63 | padding: .1em; 64 | border-radius: .3em; 65 | white-space: normal; 66 | } 67 | 68 | .token.comment, 69 | .token.prolog, 70 | .token.doctype, 71 | .token.cdata { 72 | color: slategray; 73 | } 74 | 75 | .token.punctuation { 76 | color: #999; 77 | } 78 | 79 | .namespace { 80 | opacity: .7; 81 | } 82 | 83 | .token.property, 84 | .token.tag, 85 | .token.boolean, 86 | .token.number, 87 | .token.constant, 88 | .token.symbol, 89 | .token.deleted { 90 | color: #905; 91 | } 92 | 93 | .token.selector, 94 | .token.attr-name, 95 | .token.string, 96 | .token.char, 97 | .token.builtin, 98 | .token.inserted { 99 | color: #690; 100 | } 101 | 102 | .token.operator, 103 | .token.entity, 104 | .token.url, 105 | .language-css .token.string, 106 | .style .token.string { 107 | color: #9a6e3a; 108 | background: hsla(0, 0%, 100%, .5); 109 | } 110 | 111 | .token.atrule, 112 | .token.attr-value, 113 | .token.keyword { 114 | color: #07a; 115 | } 116 | 117 | .token.function, 118 | .token.class-name { 119 | color: #DD4A68; 120 | } 121 | 122 | .token.regex, 123 | .token.important, 124 | .token.variable { 125 | color: #e90; 126 | } 127 | 128 | .token.important, 129 | .token.bold { 130 | font-weight: bold; 131 | } 132 | .token.italic { 133 | font-style: italic; 134 | } 135 | 136 | .token.entity { 137 | cursor: help; 138 | } 139 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-search/search-engine.js: -------------------------------------------------------------------------------- 1 | require([ 2 | 'gitbook', 3 | 'jquery' 4 | ], function(gitbook, $) { 5 | // Global search objects 6 | var engine = null; 7 | var initialized = false; 8 | 9 | // Set a new search engine 10 | function setEngine(Engine, config) { 11 | initialized = false; 12 | engine = new Engine(config); 13 | 14 | init(config); 15 | } 16 | 17 | // Initialize search engine with config 18 | function init(config) { 19 | if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).'); 20 | 21 | return engine.init(config) 22 | .then(function() { 23 | initialized = true; 24 | gitbook.events.trigger('search.ready'); 25 | }); 26 | } 27 | 28 | // Launch search for query q 29 | function query(q, offset, length) { 30 | if (!initialized) throw new Error('Search has not been initialized'); 31 | return engine.search(q, offset, length); 32 | } 33 | 34 | // Get stats about search 35 | function getEngine() { 36 | return engine? engine.name : null; 37 | } 38 | 39 | function isInitialized() { 40 | return initialized; 41 | } 42 | 43 | // Initialize gitbook.search 44 | gitbook.search = { 45 | setEngine: setEngine, 46 | getEngine: getEngine, 47 | query: query, 48 | isInitialized: isInitialized 49 | }; 50 | }); -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-search/search.css: -------------------------------------------------------------------------------- 1 | /* 2 | This CSS only styled the search results section, not the search input 3 | It defines the basic interraction to hide content when displaying results, etc 4 | */ 5 | #book-search-results .search-results { 6 | display: none; 7 | } 8 | #book-search-results .search-results ul.search-results-list { 9 | list-style-type: none; 10 | padding-left: 0; 11 | } 12 | #book-search-results .search-results ul.search-results-list li { 13 | margin-bottom: 1.5rem; 14 | padding-bottom: 0.5rem; 15 | /* Highlight results */ 16 | } 17 | #book-search-results .search-results ul.search-results-list li p em { 18 | background-color: rgba(255, 220, 0, 0.4); 19 | font-style: normal; 20 | } 21 | #book-search-results .search-results .no-results { 22 | display: none; 23 | } 24 | #book-search-results.open .search-results { 25 | display: block; 26 | } 27 | #book-search-results.open .search-noresults { 28 | display: none; 29 | } 30 | #book-search-results.no-results .search-results .has-results { 31 | display: none; 32 | } 33 | #book-search-results.no-results .search-results .no-results { 34 | display: block; 35 | } 36 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-sharing/buttons.js: -------------------------------------------------------------------------------- 1 | require(['gitbook', 'jquery'], function(gitbook, $) { 2 | var SITES = { 3 | 'facebook': { 4 | 'label': 'Facebook', 5 | 'icon': 'fa fa-facebook', 6 | 'onClick': function(e) { 7 | e.preventDefault(); 8 | window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); 9 | } 10 | }, 11 | 'twitter': { 12 | 'label': 'Twitter', 13 | 'icon': 'fa fa-twitter', 14 | 'onClick': function(e) { 15 | e.preventDefault(); 16 | window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); 17 | } 18 | }, 19 | 'google': { 20 | 'label': 'Google+', 21 | 'icon': 'fa fa-google-plus', 22 | 'onClick': function(e) { 23 | e.preventDefault(); 24 | window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); 25 | } 26 | }, 27 | 'weibo': { 28 | 'label': 'Weibo', 29 | 'icon': 'fa fa-weibo', 30 | 'onClick': function(e) { 31 | e.preventDefault(); 32 | window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); 33 | } 34 | }, 35 | 'instapaper': { 36 | 'label': 'Instapaper', 37 | 'icon': 'fa fa-instapaper', 38 | 'onClick': function(e) { 39 | e.preventDefault(); 40 | window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); 41 | } 42 | }, 43 | 'vk': { 44 | 'label': 'VK', 45 | 'icon': 'fa fa-vk', 46 | 'onClick': function(e) { 47 | e.preventDefault(); 48 | window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); 49 | } 50 | } 51 | }; 52 | 53 | 54 | 55 | gitbook.events.bind('start', function(e, config) { 56 | var opts = config.sharing; 57 | 58 | // Create dropdown menu 59 | var menu = $.map(opts.all, function(id) { 60 | var site = SITES[id]; 61 | 62 | return { 63 | text: site.label, 64 | onClick: site.onClick 65 | }; 66 | }); 67 | 68 | // Create main button with dropdown 69 | if (menu.length > 0) { 70 | gitbook.toolbar.createButton({ 71 | icon: 'fa fa-share-alt', 72 | label: 'Share', 73 | position: 'right', 74 | dropdown: [menu] 75 | }); 76 | } 77 | 78 | // Direct actions to share 79 | $.each(SITES, function(sideId, site) { 80 | if (!opts[sideId]) return; 81 | 82 | gitbook.toolbar.createButton({ 83 | icon: site.icon, 84 | label: site.text, 85 | position: 'right', 86 | onClick: site.onClick 87 | }); 88 | }); 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /docs/gitbook/gitbook-plugin-splitter/splitter.css: -------------------------------------------------------------------------------- 1 | .divider-content-summary { 2 | position: absolute; 3 | top: 0; 4 | right: 0; 5 | height: 100%; 6 | width: 5px; 7 | display: table; 8 | cursor: col-resize; 9 | color: #ccc; 10 | -webkit-transition: color 350ms ease; 11 | -moz-transition: color 350ms ease; 12 | -o-transition: color 350ms ease; 13 | transition: color 350ms ease 14 | } 15 | .divider-content-summary:hover { 16 | color: #444; 17 | } 18 | .divider-content-summary__icon { 19 | display: table-cell; 20 | vertical-align: middle; 21 | text-align: center; 22 | } 23 | -------------------------------------------------------------------------------- /docs/gitbook/images/apple-touch-icon-precomposed-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/images/apple-touch-icon-precomposed-152.png -------------------------------------------------------------------------------- /docs/gitbook/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/gitbook/images/favicon.ico -------------------------------------------------------------------------------- /docs/images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/consumer-groups.png -------------------------------------------------------------------------------- /docs/images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/kafka_log.png -------------------------------------------------------------------------------- /docs/images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/kafka_multidc.png -------------------------------------------------------------------------------- /docs/images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /docs/images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/log_anatomy.png -------------------------------------------------------------------------------- /docs/images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /docs/images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/log_compaction.png -------------------------------------------------------------------------------- /docs/images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/mirror-maker.png -------------------------------------------------------------------------------- /docs/images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/producer_consumer.png -------------------------------------------------------------------------------- /docs/images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/docs/images/tracking_high_level.png -------------------------------------------------------------------------------- /docs/sitemap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | http://kafkadoc.beanmr.com/./ weekly 0.5 4 | http://kafkadoc.beanmr.com/000_glossary/01_glossary.html weekly 0.5 5 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction_cn.html weekly 0.5 6 | http://kafkadoc.beanmr.com/010_getting_started/01_introduction.html weekly 0.5 7 | http://kafkadoc.beanmr.com/010_getting_started/05_uses_cn.html weekly 0.5 8 | http://kafkadoc.beanmr.com/010_getting_started/05_uses.html weekly 0.5 9 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart_cn.html weekly 0.5 10 | http://kafkadoc.beanmr.com/010_getting_started/10_quickstart.html weekly 0.5 11 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem_cn.html weekly 0.5 12 | http://kafkadoc.beanmr.com/010_getting_started/15_ecosystem.html weekly 0.5 13 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade_cn.html weekly 0.5 14 | http://kafkadoc.beanmr.com/010_getting_started/20_upgrade.html weekly 0.5 15 | http://kafkadoc.beanmr.com/020_api/01_api_cn.html weekly 0.5 16 | http://kafkadoc.beanmr.com/020_api/01_api.html weekly 0.5 17 | http://kafkadoc.beanmr.com/030_configuration/01_configuration_cn.html weekly 0.5 18 | http://kafkadoc.beanmr.com/030_configuration/01_configuration.html weekly 0.5 19 | http://kafkadoc.beanmr.com/040_design/01_design_cn.html weekly 0.5 20 | http://kafkadoc.beanmr.com/040_design/01_design.html weekly 0.5 21 | http://kafkadoc.beanmr.com/050_implementation/01_implementation.html weekly 0.5 22 | http://kafkadoc.beanmr.com/060_operations/01_ops.html weekly 0.5 23 | http://kafkadoc.beanmr.com/070_security/01_security.html weekly 0.5 24 | http://kafkadoc.beanmr.com/080_connect/01_connect.html weekly 0.5 25 | http://kafkadoc.beanmr.com/GLOSSARY.html weekly 0.5 26 | -------------------------------------------------------------------------------- /images/consumer-groups.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/consumer-groups.png -------------------------------------------------------------------------------- /images/kafka_log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/kafka_log.png -------------------------------------------------------------------------------- /images/kafka_multidc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/kafka_multidc.png -------------------------------------------------------------------------------- /images/kafka_multidc_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/kafka_multidc_complex.png -------------------------------------------------------------------------------- /images/log_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/log_anatomy.png -------------------------------------------------------------------------------- /images/log_cleaner_anatomy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/log_cleaner_anatomy.png -------------------------------------------------------------------------------- /images/log_compaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/log_compaction.png -------------------------------------------------------------------------------- /images/mirror-maker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/mirror-maker.png -------------------------------------------------------------------------------- /images/producer_consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/producer_consumer.png -------------------------------------------------------------------------------- /images/tracking_high_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/BeanMr/apache-kafka-documentation-cn/8d855de4801e730a20ab77fbbbe65a10709cf9c0/images/tracking_high_level.png --------------------------------------------------------------------------------