> For the complete documentation index, see [llms.txt](https://craxclive.gitbook.io/crystal-lang-docs-zh_cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://craxclive.gitbook.io/crystal-lang-docs-zh_cn/master.md).

# Crystal 编程语言

目录：

* [Introduction](/crystal-lang-docs-zh_cn/master.md)
* TODO [Using the compiler](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/using_the_compiler/README.md)
* TODO [The shards command](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/the_shards_command/README.md)
* [概要及示例 Overview and Examples](/crystal-lang-docs-zh_cn/overview.md)
  * [Hello World!](/crystal-lang-docs-zh_cn/overview/hello_world.md)
  * [HTTP 服务器](/crystal-lang-docs-zh_cn/overview/http_server.md)
  * TODO [Command Line Application](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/overview/cli.md)
* [语法和语义](/crystal-lang-docs-zh_cn/syntax_and_semantics.md)
  * [注释](/crystal-lang-docs-zh_cn/syntax_and_semantics/comments.md)
  * [字面量 Literals](/crystal-lang-docs-zh_cn/syntax_and_semantics/literals-1.md)
    * [空值 Nil](/crystal-lang-docs-zh_cn/syntax_and_semantics/literals/nil.md)
    * [布尔值 Bool](/crystal-lang-docs-zh_cn/syntax_and_semantics/literals/bool.md)
    * [整数 Integers](/crystal-lang-docs-zh_cn/syntax_and_semantics/literals/integers.md)
    * TODO [浮点数 Floats](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/floats.md)
    * TODO [字符型 Char](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/char.md)
    * TODO [字符串 String](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/string.md)
    * TODO [符号 Symbol](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/symbol.md)
    * TODO [数组 Array](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/array.md)
    * TODO [哈希 Hash](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/hash.md)
    * TODO [范围 Range](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/range.md)
    * TODO [正则表达式 Regex](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/regex.md)
    * TODO [元组 Tuple](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/tuple.md)
    * TODO [命名元组 NamedTuple](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/named_tuple.md)
    * TODO [指针 Proc](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/proc.md)
    * TODO [Shell 命令 Command](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/literals/command.md)
  * TODO [赋值 Assignment](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/assignment.md)
  * TODO [局部变量 Local variables](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/local_variables.md)
  * TODO [控制表达式 Control expressions](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/control_expressions.md)
    * TODO [Truthy and falsey values](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/truthy_and_falsey_values.md)
    * TODO [if](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/if.md)
      * TODO [As a suffix](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/as_a_suffix.md)
      * TODO [As an expression](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/as_an_expression.md)
      * TODO [Ternary if](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/ternary_if.md)
      * TODO [if var](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/if_var.md)
      * TODO [if var.is\_a?(...)](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/if_varis_a.md)
      * TODO [if var.responds\_to?(...)](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/if_varresponds_to.md)
      * TODO [if var.nil?](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/if_var_nil.md)
      * TODO [if !](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/not.md)
    * TODO [unless](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/unless.md)
    * TODO [case](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/case.md)
    * TODO [while](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/while.md)
      * TODO [break](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/break.md)
      * TODO [next](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/next.md)
    * TODO [until](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/until.md)
    * TODO [&&](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/and.md)
    * TODO [||](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/or.md)
  * TODO [Requiring files](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/requiring_files.md)
  * TODO [Types and methods](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/types_and_methods.md)
    * TODO [Everything is an object](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/everything_is_an_object.md)
    * TODO [The Program](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/the_program.md)
    * TODO [Classes and methods](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/classes_and_methods.md)
      * TODO [new, initialize and allocate](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/new,_initialize_and_allocate.md)
      * TODO [Methods and instance variables](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/methods_and_instance_variables.md)
      * TODO [Type inference](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/type_inference.md)
      * TODO [Union types](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/union_types.md)
      * TODO [Overloading](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/overloading.md)
      * TODO [Default values and named arguments](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/default_and_named_arguments.md)
      * TODO [Splats and tuples](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/splats_and_tuples.md)
      * TODO [Type restrictions](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/type_restrictions.md)
      * TODO [Return types](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/return_types.md)
      * TODO [Method arguments](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/default_values_named_arguments_splats_tuples_and_overloading.md)
      * TODO [Operators](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/operators.md)
      * TODO [Visibility](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/visibility.md)
      * TODO [Inheritance](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/inheritance.md)
        * TODO [Virtual and abstract types](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/virtual_and_abstract_types.md)
      * TODO [Class methods](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/class_methods.md)
      * TODO [Class variables](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/class_variables.md)
      * TODO [finalize](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/finalize.md)
    * TODO [Modules](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/modules.md)
    * TODO [Generics](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/generics.md)
    * TODO [Structs](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/structs.md)
    * TODO [Constants](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/constants.md)
    * TODO [Enums](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/enum.md)
    * TODO [Blocks and Procs](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/blocks_and_procs.md)
      * TODO [Capturing blocks](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/capturing_blocks.md)
      * TODO [Proc literal](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/proc_literal.md)
      * TODO [Block forwarding](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/block_forwarding.md)
      * TODO [Closures](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/closures.md)
    * TODO [alias](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/alias.md)
  * TODO [Exception handling](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/exception_handling.md)
  * TODO [Type grammar](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/type_grammar.md)
  * TODO [Type reflection](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/type_reflection.md)
    * TODO [is\_a?](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/is_a.md)
    * TODO [nil?](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/nil_question.md)
    * TODO [responds\_to?](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/responds_to.md)
    * TODO [as](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/as.md)
    * TODO [as?](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/as_question.md)
    * TODO [typeof](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/typeof.md)
  * TODO [Macros](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/macros.md)
    * TODO [Macro methods](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/macros/macro_methods.md)
    * TODO [Hooks](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/macros/hooks.md)
    * TODO [Fresh variables](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/macros/fresh_variables.md)
  * TODO [Annotations](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/annotations.md)
    * TODO [Built-in annotations](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/annotations/built_in_annotations.md)
  * TODO [Low-level primitives](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/low_level_primitives.md)
    * TODO [pointerof](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/pointerof.md)
    * TODO [sizeof](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/sizeof.md)
    * TODO [instance\_sizeof](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/instance_sizeof.md)
    * TODO [offsetof](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/offsetof.md)
    * TODO [Uninitialized variable declaration](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/declare_var.md)
  * TODO [Compile-time flags](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/compile_time_flags.md)
    * TODO [Cross-compilation](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/cross-compilation.md)
  * TODO [C bindings](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/README.md)
    * TODO [lib](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/lib.md)
    * TODO [fun](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/fun.md)
      * TODO [out](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/out.md)
      * TODO [to\_unsafe](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/to_unsafe.md)
    * TODO [struct](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/struct.md)
    * TODO [union](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/union.md)
    * TODO [enum](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/enum.md)
    * TODO [Variables](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/variables.md)
    * TODO [Constants](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/constants.md)
    * TODO [type](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/type.md)
    * TODO [alias](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/alias.md)
    * TODO [Callbacks](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/c_bindings/callbacks.md)
  * TODO [Unsafe code](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/syntax_and_semantics/unsafe.md)
* TODO [Conventions](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/conventions/README.md)
  * TODO [Coding style](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/conventions/coding_style.md)
  * TODO [Documenting code](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/conventions/documenting_code.md)
* TODO [Database](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/database/README.md)
  * TODO [Connection](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/database/connection.md)
  * TODO [Connection pool](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/database/connection_pool.md)
  * TODO [Transactions](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/database/transactions.md)
* TODO [Guides](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/README.md)
  * TODO [Performance](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/performance.md)
  * TODO [Concurrency](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/concurrency.md)
  * TODO [Testing](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/testing.md)
  * TODO [Writing Shards](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/writing_shards.md)
    * TODO [Hosting on GitHub](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/hosting/github.md)
    * TODO [Hosting on GitLab](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/hosting/gitlab.md)
  * TODO [Continuous Integration](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/continuous_integration.md)
    * TODO [Using TravisCI](https://github.com/CraxGrix/crystal-book-zh_CN/tree/595f4e446d4b976a57eb705658f61e331c2e904e/guides/ci/travis.md)
