markdown.rs — tailwindcss Source File
Architecture documentation for markdown.rs, a rust file in the tailwindcss codebase. 3 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR da76d816_5e8f_2461_5d6f_e22ab33fa549["markdown.rs"] c6d6e69d_306a_e6df_694f_46156cc789cf["super::Markdown"] da76d816_5e8f_2461_5d6f_e22ab33fa549 --> c6d6e69d_306a_e6df_694f_46156cc789cf e4e20bdf_ad1e_e4a0_5cba_d0f5a5db787e["crate::cursor"] da76d816_5e8f_2461_5d6f_e22ab33fa549 --> e4e20bdf_ad1e_e4a0_5cba_d0f5a5db787e a55fec3d_3fee_4b46_48f2_43f3844c61e4["crate::extractor::pre_processors::pre_processor::PreProcessor"] da76d816_5e8f_2461_5d6f_e22ab33fa549 --> a55fec3d_3fee_4b46_48f2_43f3844c61e4 style da76d816_5e8f_2461_5d6f_e22ab33fa549 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
use crate::cursor;
use crate::extractor::pre_processors::pre_processor::PreProcessor;
#[derive(Debug, Default)]
pub struct Markdown;
impl PreProcessor for Markdown {
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 in_directive = false;
while cursor.pos < len {
match (in_directive, cursor.curr) {
(false, b'{') => {
result[cursor.pos] = b' ';
in_directive = true;
}
(true, b'}') => {
result[cursor.pos] = b' ';
in_directive = false;
}
(true, b'.') => {
result[cursor.pos] = b' ';
}
_ => {}
}
cursor.advance();
}
result
}
}
#[cfg(test)]
mod tests {
use super::Markdown;
use crate::extractor::pre_processors::pre_processor::PreProcessor;
#[test]
fn test_markdown_pre_processor() {
for (input, expected) in [
// Convert dots to spaces inside markdown inline directives
(
":span[Some Text]{.text-gray-500}",
":span[Some Text] text-gray-500 ",
),
(
":span[Some Text]{.text-gray-500.bg-red-500}",
":span[Some Text] text-gray-500 bg-red-500 ",
),
(
":span[Some Text]{#myId .my-class key=val key2='val 2'}",
":span[Some Text] #myId my-class key=val key2='val 2' ",
),
] {
Markdown::test(input, expected);
}
}
}
Domain
Subdomains
Functions
Dependencies
- crate::cursor
- crate::extractor::pre_processors::pre_processor::PreProcessor
- super::Markdown
Source
Frequently Asked Questions
What does markdown.rs do?
markdown.rs is a source file in the tailwindcss codebase, written in rust. It belongs to the OxideEngine domain, PreProcessors subdomain.
What functions are defined in markdown.rs?
markdown.rs defines 2 function(s): process, test_markdown_pre_processor.
What does markdown.rs depend on?
markdown.rs imports 3 module(s): crate::cursor, crate::extractor::pre_processors::pre_processor::PreProcessor, super::Markdown.
Where is markdown.rs in the architecture?
markdown.rs is located at crates/oxide/src/extractor/pre_processors/markdown.rs (domain: OxideEngine, subdomain: PreProcessors, directory: crates/oxide/src/extractor/pre_processors).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free