txt: ## paragraph.md
  class RakuAST::Doc::Paragraph
  
  Contains the information about a RakuDoc paragraph
  
  ```raku
  class RakuAST::Doc::Paragraph { }
  ```
  
  The `RakuAST::Doc::Paragraph` class contains the information about a logical paragraph in a `RakuDoc` block.
  
  Support for [`RakuAST`](/type/RakuAST) functionality is available in language version `6.e+` and was added in Rakudo compiler release 2023.02. In earlier language versions it is only available when specifying:
  
  ```raku
  use experimental :rakuast;
  ```
  
  ## [Object introspection](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#Object_introspection "direct link")
  
  `RakuAST::Doc::Paragraph` objects are typically created when parsing Raku Programming Language code that has `RakuDoc` markers in it. So most developers will only need to know how to introspect the objects created.
  
  ### [method atoms](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#method_atoms "direct link")
  
  ```raku
  .put for $paragraphs.atoms;
  # Text before ␤B<and>␤ after markup␤
  
  ```
  
  Returns the atoms of the paragraph. These are generally a mix of strings and [`RakuAST::Doc::Markup`](/type/RakuAST/Doc/Markup) objects.
  
  ### [method Str](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#method_Str "direct link")
  
  ```raku
  put $paragraph;  # Text before B<and> after markup␤␤
  
  ```
  
  Returns the string for the paragraph, with any markup stringified.
  
  ### [method raku](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#method_raku "direct link")
  
  ```raku
  # method .gist falls back to .raku
  say $block;  # RakuAST::Doc::Paragraph.new(...
  
  ```
  
  Returns the string that is needed for the creation of the paragraph using [`RakuAST`](/type/RakuAST) calls.
  
  # [Object creation](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#Object_creation "direct link")
  
  One seldom creates `RakuAST::Doc::Paragraph` objects directly. This documentation is intended for those few people who'd like to devise their own way of programmatically building a `RakuAST::Doc::Paragraph` object.
  
  ## [method new](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#method_new "direct link")
  
  ```raku
  method new(*@atoms)
  ```
  
  The `new` method must be called to create a new `RakuAST::Doc::Paragraph` object. It takes any number of positional arguments as the atoms of the logical paragraph, where an atom is either a string or a [`RakuAST::Doc::Markup`](/type/RakuAST/Doc/Markup) object.
  
  Typically a `RakuAST::Doc::Paragraph` object is only created if a logical paragraph has at least one markup object.
  
  ```raku
  my $paragraph = RakuAST::Doc::Paragraph.new(
    "Text before ",
    RakuAST::Doc::Markup.new(:letter<B>, :atoms("and")),
    " after markup\n"
  );
  
  ```
  
  # [Object modification](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#Object_modification "direct link")
  
  ## [method add-atom](#class_RakuAST::Doc::Paragraph "go to top of document")[§](#method_add-atom "direct link")
  
  ```raku
  $paragraph.add-atom("baz\n");
  
  ```
  
  Add an atom: should be a string, or a [`RakuAST::Doc::Markup`](/type/RakuAST/Doc/Markup) object.
  