Home / Function/ process() — tailwindcss Function Reference

process() — tailwindcss Function Reference

Architecture documentation for the process() function in haml.rs from the tailwindcss codebase.

Entity Profile

Dependency Diagram

graph TD
  b09c5f6b_e2b1_8676_9c0e_80d8fd9bf8dd["process()"]
  ca2cb7f3_129e_2351_7658_5668e9773b08["haml.rs"]
  b09c5f6b_e2b1_8676_9c0e_80d8fd9bf8dd -->|defined in| ca2cb7f3_129e_2351_7658_5668e9773b08
  d38b2186_9ab8_93bb_3bcd_6cc274fefebf["skip_indented_block()"]
  b09c5f6b_e2b1_8676_9c0e_80d8fd9bf8dd -->|calls| d38b2186_9ab8_93bb_3bcd_6cc274fefebf
  style b09c5f6b_e2b1_8676_9c0e_80d8fd9bf8dd fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

crates/oxide/src/extractor/pre_processors/haml.rs lines 13–236

    fn process(&self, content: &[u8]) -> Vec<u8> {
        let len = content.len();
        let mut result = content.to_vec();
        let mut cursor = cursor::Cursor::new(content);
        let mut bracket_stack = BracketStack::default();

        // Haml Comments: -#
        // https://haml.info/docs/yardoc/file.REFERENCE.html#ruby-evaluation
        //
        // > The hyphen followed immediately by the pound sign signifies a silent comment. Any text
        // > following this isn’t rendered in the resulting document at all.
        //
        // ```haml
        // %p foo
        // -# This is a comment
        // %p bar
        // ```
        //
        // > You can also nest text beneath a silent comment. None of this text will be rendered.
        //
        // ```haml
        // %p foo
        // -#
        //   This won't be displayed
        //     Nor will this
        //                    Nor will this.
        // %p bar
        // ```
        //
        // Ruby Evaluation
        // https://haml.info/docs/yardoc/file.REFERENCE.html#ruby-evaluation
        //
        // When any of the following characters are the first non-whitespace character on the line,
        // then the line is treated as Ruby code:
        //
        // - Inserting Ruby: =
        //   https://haml.info/docs/yardoc/file.REFERENCE.html#inserting_ruby
        //
        //   ```haml
        //   %p
        //     = ['hi', 'there', 'reader!'].join " "
        //     = "yo"
        //   ```
        //
        // - Running Ruby: -
        //   https://haml.info/docs/yardoc/file.REFERENCE.html#running-ruby--
        //
        //   ```haml
        //   - foo = "hello"
        //   - foo << " there"
        //   - foo << " you!"
        //   %p= foo
        //   ```
        //
        // - Whitespace Preservation: ~
        //   https://haml.info/docs/yardoc/file.REFERENCE.html#tilde
        //
        //   > ~ works just like =, except that it runs Haml::Helpers.preserve on its input.
        //
        //   ```haml
        //   ~ "Foo\n<pre>Bar\nBaz</pre>"
        //   ```
        //
        // Important note:
        //
        // > A line of Ruby code can be stretched over multiple lines as long as each line but the
        // > last ends with a comma.
        //
        // ```haml
        // - links = {:home => "/",
        //   :docs => "/docs",
        //   :about => "/about"}
        // ```
        //
        // Ruby Blocks:
        // https://haml.info/docs/yardoc/file.REFERENCE.html#ruby-blocks
        //
        // > Ruby blocks, like XHTML tags, don’t need to be explicitly closed in Haml. Rather,
        // > they’re automatically closed, based on indentation. A block begins whenever the
        // > indentation is increased after a Ruby evaluation command. It ends when the indentation
        // > decreases (as long as it’s not an else clause or something similar).

Domain

Subdomains

Frequently Asked Questions

What does process() do?
process() is a function in the tailwindcss codebase, defined in crates/oxide/src/extractor/pre_processors/haml.rs.
Where is process() defined?
process() is defined in crates/oxide/src/extractor/pre_processors/haml.rs at line 13.
What does process() call?
process() calls 1 function(s): skip_indented_block.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free