SYMBOL INDEX (277 symbols across 29 files) FILE: crates/bench/benches/parse.rs function dom_smoothie_parse (line 6) | fn dom_smoothie_parse(contents: &str, cfg: &Config) -> Result Criterion { FILE: crates/cli/src/main.rs type OutputFormat (line 37) | enum OutputFormat { type Cli (line 49) | struct Cli { type Metadata (line 95) | struct Metadata { method from (line 108) | fn from(value: &Article) -> Self { function read_input (line 125) | fn read_input(input: &Option) -> Result<(String, Option Result<(), Box> { FILE: crates/js/src/lib.rs type ParsePolicy (line 17) | pub enum ParsePolicy { function from (line 37) | fn from(val: ParsePolicy) -> Self { type Readability (line 49) | pub struct Readability(dom_smoothie::Readability); method new (line 73) | pub fn new( method parse (line 110) | pub fn parse(&mut self) -> Result { method parse_with_policy (line 127) | pub fn parse_with_policy(&mut self, policy: ParsePolicy) -> Result String { method parse_json_ld (line 149) | pub fn parse_json_ld(&mut self) -> JsValue { method get_article_metadata (line 177) | pub fn get_article_metadata(&mut self, json_ld: JsValue) -> JsValue { method is_probably_readable (line 190) | pub fn is_probably_readable(&mut self) -> bool { function parse (line 208) | pub fn parse(content: &str) -> Result { FILE: crates/js/src/utils.rs function set_panic_hook (line 2) | pub fn set_panic_hook() { FILE: crates/js/tests/web.rs function test_parse (line 12) | fn test_parse() { function test_parse_constructor (line 19) | fn test_parse_constructor() { FILE: crates/lua/src/lib.rs type Readability (line 5) | pub struct Readability(dom_smoothie::Readability); method add_fields (line 8) | fn add_fields>(_fields: &mut F) {} method add_methods (line 10) | fn add_methods>(methods: &mut M) { function dom_smoothie_module (line 46) | fn dom_smoothie_module(lua: &'_ Lua) -> LuaResult { FILE: src/ac_automat.rs function ac_automaton (line 13) | fn ac_automaton(patterns: &[&str]) -> AhoCorasick { FILE: src/config.rs type CandidateSelectMode (line 14) | pub enum CandidateSelectMode { type TextMode (line 22) | pub enum TextMode { type Config (line 33) | pub struct Config { method default (line 65) | fn default() -> Self { type ParsePolicy (line 85) | pub enum ParsePolicy { function from (line 105) | fn from(val: ParsePolicy) -> Self { FILE: src/grab.rs method grab_article (line 24) | pub(crate) fn grab_article(&self, metadata: &Metadata) -> Option( method handle_candidates (line 79) | fn handle_candidates<'a>( function is_unlikely_candidate (line 158) | fn is_unlikely_candidate(node: &NodeRef) -> bool { function div_into_p (line 181) | fn div_into_p(node: &NodeRef) { function wrap_phrasing_content (line 190) | fn wrap_phrasing_content<'a>(node: &NodeRef<'a>) -> Option> { function has_child_block_element (line 222) | fn has_child_block_element(node: &NodeRef) -> bool { function score_elements (line 229) | fn score_elements<'a>( function assign_article_node (line 308) | fn assign_article_node(tc: &NodeRef, article_content: &NodeRef) { function find_common_candidate (line 367) | fn find_common_candidate<'a>( function find_common_candidate_alt (line 423) | fn find_common_candidate_alt<'a>( function get_node_ancestors_set (line 472) | fn get_node_ancestors_set(node: &NodeRef) -> HashSet { function adjust_top_candidate_by_parent (line 485) | fn adjust_top_candidate_by_parent( function collect_elements_to_score (line 528) | fn collect_elements_to_score<'a>( function match_unlikely (line 615) | fn match_unlikely(haystack: &str) -> bool { function match_unlikely (line 628) | fn match_unlikely(haystack: &str) -> bool { function test_removing_probably_invisible_nodes (line 645) | fn test_removing_probably_invisible_nodes() { function test_remove_dialog (line 674) | fn test_remove_dialog() { function test_unlikely_roles (line 696) | fn test_unlikely_roles() { function test_remove_empty (line 718) | fn test_remove_empty() { function test_remove_title_duplicates (line 749) | fn test_remove_title_duplicates() { function test_remove_unlikely_candidates (line 768) | fn test_remove_unlikely_candidates() { function test_skip_ok_maybe_candidates (line 785) | fn test_skip_ok_maybe_candidates() { FILE: src/grab_flags.rs function test_grab_flags (line 22) | fn test_grab_flags() { FILE: src/helpers.rs function text_similarity (line 13) | pub(crate) fn text_similarity(text_a: &str, text_b: &str) -> f64 { function is_phrasing_content (line 39) | pub(crate) fn is_phrasing_content(node: &NodeRef) -> bool { function is_whitespace (line 61) | pub(crate) fn is_whitespace(node: &NodeRef) -> bool { function has_ancestor (line 69) | pub(crate) fn has_ancestor(node: &NodeRef, max_depth: Option, ... function text_density (line 77) | pub(crate) fn text_density(node: &NodeRef, selector: &str, char_count: O... function normalize_spaces (line 97) | pub(crate) fn normalize_spaces(text: &str) -> String { function link_density_fn (line 111) | pub(crate) fn link_density_fn(node: &NodeRef, char_count: Option) ->... function single_child_element (line 145) | pub(crate) fn single_child_element<'a>(node: &NodeRef<'a>, tag: &str) ->... function is_element_without_content (line 163) | pub(crate) fn is_element_without_content(node: &NodeRef) -> bool { function get_dir_attr (line 179) | pub(crate) fn get_dir_attr(node: &NodeRef) -> Option { function node_name_in (line 193) | pub(crate) fn node_name_in(node: &NodeRef, names: &phf::Set<&str>) -> bo... function is_probably_visible (line 198) | pub(crate) fn is_probably_visible(node: &NodeRef) -> bool { function get_node_matching_string (line 208) | pub(crate) fn get_node_matching_string(node: &NodeRef) -> StrTendril { function next_child_or_sibling (line 226) | pub(crate) fn next_child_or_sibling<'a>( type BytePatternCheck (line 252) | pub(crate) struct BytePatternCheck<'a> { function new (line 259) | pub(crate) fn new(haystack: &'a str) -> Self { function pre_check (line 268) | fn pre_check(&self, pat: &str) -> bool { function contains_any (line 278) | pub(crate) fn contains_any(&self, pats: &[&str]) -> bool { type CharCounterCache (line 285) | pub(crate) struct CharCounterCache { method char_count (line 290) | pub(crate) fn char_count(&mut self, node: &NodeRef) -> usize { constant FLOAT_TOLERANCE (line 303) | const FLOAT_TOLERANCE: f64 = 0.00001; function test_text_similarity (line 306) | fn test_text_similarity() { function test_text_similarity_contains (line 314) | fn test_text_similarity_contains() { function test_text_similarity_similar (line 322) | fn test_text_similarity_similar() { function test_normalize_spaces (line 330) | fn test_normalize_spaces() { function test_ascii_pattern_check (line 339) | fn test_ascii_pattern_check() { FILE: src/lib.rs type ReadabilityError (line 27) | pub enum ReadabilityError { FILE: src/matching.rs function is_invisible_style (line 11) | pub(crate) fn is_invisible_style(node: &NodeRef) -> bool { function style_has_kv (line 20) | fn style_has_kv(style: &str, key: &str, val: &str) -> bool { function strip_cdata (line 40) | pub(crate) fn strip_cdata(content: &StrTendril) -> &str { function is_schema_org_url (line 47) | pub(crate) fn is_schema_org_url(url: &str) -> bool { function is_video_url (line 53) | pub(crate) fn is_video_url(haystack: &str) -> bool { function is_sentence (line 66) | pub(crate) fn is_sentence(text: &str) -> bool { function contains_one_of_words (line 70) | pub(crate) fn contains_one_of_words(haystack: &str, words: &[&str]) -> b... function is_img_attr_to_srcset (line 77) | pub(crate) fn is_img_attr_to_srcset(s: &str) -> bool { function is_img_attr_to_src (line 95) | pub(crate) fn is_img_attr_to_src(s: &str) -> bool { function truncate_title_last (line 102) | pub(crate) fn truncate_title_last(title: &str) -> Option<&str> { function truncate_title_first (line 117) | pub(crate) fn truncate_title_first(title: &str) -> Option<&str> { function is_meta_name (line 131) | pub(crate) fn is_meta_name(name: &str) -> bool { function meta_property_name (line 138) | pub(crate) fn meta_property_name(property: &str) -> Option<&str> { function is_loading_word (line 155) | pub(crate) fn is_loading_word(text: &str) -> bool { function contains_share_elements (line 160) | pub(crate) fn contains_share_elements(value: &str) -> bool { function split_base64_url (line 166) | pub(crate) fn split_base64_url(src: &str) -> Option<(&str, &str)> { function test_meta_property_name (line 186) | fn test_meta_property_name() { function test_is_meta_name (line 195) | fn test_is_meta_name() { function test_truncate_title_first (line 204) | fn test_truncate_title_first() { function test_truncate_title_last (line 212) | fn test_truncate_title_last() { function test_is_img_attr_to_src (line 224) | fn test_is_img_attr_to_src() { function test_contains_one_of_words (line 232) | fn test_contains_one_of_words() { function test_strip_cdata (line 252) | fn test_strip_cdata() { function test_is_schema_org_url (line 275) | fn test_is_schema_org_url() { function test_is_video_url (line 292) | fn test_is_video_url() { function test_split_base64_url (line 316) | fn test_split_base64_url() { FILE: src/prep_article.rs function clean (line 14) | fn clean(root_sel: &Selection) { function clean_styles (line 35) | fn clean_styles(n: &NodeRef) { function should_clean_conditionally (line 51) | fn should_clean_conditionally(node: &NodeRef, flags: &FlagSet... function clean_conditionally (line 186) | fn clean_conditionally(sel: &Selection, tags: &str, flags: &FlagSet (usize, usize) { function mark_data_tables (line 229) | fn mark_data_tables(base_sel: &Selection) { function fix_lazy_images (line 274) | fn fix_lazy_images(sel: &Selection) { function clean_headers (line 345) | fn clean_headers(sel: &Selection, flags: &FlagSet) { function prep_article (line 353) | pub(crate) fn prep_article(article_node: &NodeRef, flags: &FlagSet bool { method unescape_html_entities (line 100) | fn unescape_html_entities(&mut self) { type Readability (line 113) | pub struct Readability { method from (line 123) | fn from(html: T) -> Self { method new (line 148) | pub fn new>( method with_document (line 171) | pub fn with_document( method prepare (line 203) | fn prepare(&mut self) { method get_article_title (line 233) | pub fn get_article_title(&self) -> StrTendril { method replace_fonts (line 309) | fn replace_fonts(&mut self) { method replace_brs (line 315) | fn replace_brs(&mut self) { method remove_empty_imgs (line 370) | fn remove_empty_imgs(&mut self) { method unwrap_noscript_images (line 389) | fn unwrap_noscript_images(&self) { method parse_impl (line 432) | fn parse_impl(&mut self, policy: Option) -> Result Result { method parse_with_policy (line 548) | pub fn parse_with_policy(&mut self, policy: ParsePolicy) -> Result Option { method get_article_metadata (line 740) | pub fn get_article_metadata(&self, json_ld: Option) -> Metad... method assign_extra_article_metadata (line 816) | fn assign_extra_article_metadata( method byline_adjustment (line 834) | fn byline_adjustment(&self) -> Option { method remove_comments (line 855) | fn remove_comments(&self) { method get_html_lang (line 868) | fn get_html_lang(&self) -> Option { method post_process_content (line 873) | fn post_process_content(&self, root_sel: &Selection) { method clean_classes (line 889) | fn clean_classes(&self, sel: &Selection) { method verify_doc (line 925) | fn verify_doc(&self) -> Result<(), ReadabilityError> { method is_probably_readable (line 950) | pub fn is_probably_readable(&self) -> bool { method parse_base_url (line 961) | fn parse_base_url(&self) -> Option { method fix_relative_uris (line 975) | fn fix_relative_uris(&self, root_sel: &Selection) { function get_map_any_value (line 1024) | fn get_map_any_value(map: &HashMap, keys: &[&str]) -> Op... function next_significant_node (line 1028) | fn next_significant_node(node: Option) -> Option { function fix_links (line 1040) | fn fix_links(root_sel: &Selection) { function simplify_nested_elements (line 1069) | fn simplify_nested_elements(root_sel: &Selection) { function simplify_nested_divs (line 1081) | fn simplify_nested_divs(root_sel: &Selection) { function extract_excerpt (line 1107) | fn extract_excerpt(sel: &Selection) -> Option { function normalize_meta_key (line 1116) | fn normalize_meta_key(raw_key: &str) -> String { function get_json_ld_string_value (line 1124) | fn get_json_ld_string_value(value: &gjson::Value, path: &str) -> Option<... function extract_favicon (line 1135) | fn extract_favicon(root_node: &Document, base_url: Option) -> Op... function decode_html_entities (line 1192) | fn decode_html_entities(s: &mut String) { function decode_opt_html_entities (line 1199) | fn decode_opt_html_entities(opt: &mut Option) { function is_valid_byline (line 1205) | fn is_valid_byline(node: &NodeRef) -> bool { function test_simplify_nested_divs (line 1225) | fn test_simplify_nested_divs() { function test_replace_font_tags (line 1247) | fn test_replace_font_tags() { function test_remove_unwanted_urls (line 1267) | fn test_remove_unwanted_urls() { function test_get_title (line 1282) | fn test_get_title() { function test_normalize_spaces (line 1293) | fn test_normalize_spaces() { function test_parse_json_ld (line 1301) | fn test_parse_json_ld() { function test_disable_sparse_json_ld (line 1314) | fn test_disable_sparse_json_ld() { function test_max_elements (line 1339) | fn test_max_elements() { function test_get_article_metadata_without_json_ld (line 1363) | fn test_get_article_metadata_without_json_ld() { function test_base_uri (line 1386) | fn test_base_uri() { function test_get_title_with_separator_only (line 1402) | fn test_get_title_with_separator_only() { function test_bad_document_url (line 1414) | fn test_bad_document_url() { function test_parse_base_url_with_doc_and_base (line 1428) | fn test_parse_base_url_with_doc_and_base() { function test_fix_relative_uris_srcset_without_descriptor (line 1445) | fn test_fix_relative_uris_srcset_without_descriptor() { function test_metadata_is_empty (line 1472) | fn test_metadata_is_empty() { function test_consume_byline (line 1489) | fn test_consume_byline() { function test_skipping_byline (line 1509) | fn test_skipping_byline() { FILE: src/readable.rs function is_probably_readable (line 19) | pub fn is_probably_readable( FILE: src/score.rs function get_node_score (line 7) | pub(crate) fn get_node_score(node: &NodeRef) -> f32 { function has_node_score (line 13) | pub(crate) fn has_node_score(node: &NodeRef) -> bool { function set_node_score (line 17) | pub(crate) fn set_node_score(node: &NodeRef, score: f32) { function init_node_score (line 21) | pub(crate) fn init_node_score(node: &NodeRef, weigh_classes: bool) -> f32 { function determine_node_score (line 27) | pub(crate) fn determine_node_score(node: &NodeRef, weigh_classes: bool) ... function get_class_weight (line 43) | pub(crate) fn get_class_weight(node: &NodeRef, weigh_classes: bool) -> f... function determine_attr_weight (line 66) | fn determine_attr_weight(attr: &str) -> f32 { function determine_attr_weight (line 81) | fn determine_attr_weight(attr: &str) -> f32 { function score_text_content (line 94) | pub(crate) fn score_text_content(node: &NodeRef) -> usize { FILE: src/serde_helpers.rs function serialize_str_tendril (line 4) | pub fn serialize_str_tendril(value: &StrTendril, serializer: S) -> Re... function deserialize_str_tendril (line 11) | pub fn deserialize_str_tendril<'de, D>(deserializer: D) -> Result &str { function is_absolute_url (line 22) | pub(crate) fn is_absolute_url(s: &str, strict: bool) -> bool { function to_absolute_url (line 42) | pub(crate) fn to_absolute_url(raw_url: &str, base_uri: &str) -> String { function url_join (line 51) | pub(crate) fn url_join(base: &str, relative: &str) -> String { function test_valid_urls (line 123) | fn test_valid_urls() { function test_invalid_urls (line 133) | fn test_invalid_urls() { function test_url_join (line 148) | fn test_url_join() { FILE: tests/alt.rs function test_alt_formatted_last_fail (line 9) | fn test_alt_formatted_last_fail() { function table_test_alt_formatted_text (line 15) | fn table_test_alt_formatted_text() { function table_test_alt_markdown (line 25) | fn table_test_alt_markdown() { FILE: tests/bad.rs function test_skip_body_ancestor (line 8) | fn test_skip_body_ancestor() { function test_skip_body_ancestor_fragment (line 37) | fn test_skip_body_ancestor_fragment() { function test_fragments (line 57) | fn test_fragments() { function test_frameset_fail (line 81) | fn test_frameset_fail() { FILE: tests/candidate_modes.rs function test_candidates (line 8) | fn test_candidates() { FILE: tests/common.rs type ExpectedMetadata (line 47) | struct ExpectedMetadata { type TestData (line 59) | pub struct TestData { method new (line 67) | pub fn new

(test_path: P, source_contents: String, expected_contents... method from_path (line 84) | pub fn from_path

( function test_alt_text (line 102) | pub(crate) fn test_alt_text(data: TestData, text_mode: TextMode) { function test_readability (line 118) | pub(crate) fn test_readability(data: TestData) { function test_metadata (line 155) | pub fn test_metadata(data: TestData, host: Option<&str>) { function test_favicon (line 188) | pub fn test_favicon

(test_path: P, host: Option<&str>, expected: Optio... FILE: tests/favicon.rs function test_favicon_aclu (line 6) | fn test_favicon_aclu() { function test_favicon_aktualne (line 15) | fn test_favicon_aktualne() { function test_favicon_breitbart (line 24) | fn test_favicon_breitbart() { function test_favicon_engadget (line 34) | fn test_favicon_engadget() { function test_favicon_folha (line 43) | fn test_favicon_folha() { function test_favicon_gitlab_blog (line 52) | fn test_favicon_gitlab_blog() { function test_favicon_gitlab_nytimes_2 (line 61) | fn test_favicon_gitlab_nytimes_2() { function test_favicon_schema_org_context (line 70) | fn test_favicon_schema_org_context() { function test_favicon_topicseed_1 (line 79) | fn test_favicon_topicseed_1() { function test_favicon_yahoo_1 (line 88) | fn test_favicon_yahoo_1() { FILE: tests/metadata.rs function test_metadata_last_fail (line 9) | fn test_metadata_last_fail() { function table_test_metadata (line 20) | fn table_test_metadata() { FILE: tests/parse_policy.rs function hash_text (line 10) | fn hash_text(text: &T) -> u64 { function test_parse_with_policy (line 18) | pub(crate) fn test_parse_with_policy() -> Result<(), Box> { function test_parse_with_policy_fail (line 44) | pub(crate) fn test_parse_with_policy_fail() -> Result<(), Box> { FILE: tests/readability.rs function table_test_readability (line 9) | fn table_test_readability() { function test_serde (line 21) | fn test_serde() { FILE: tests/readability_ok.rs function test_001 (line 7) | fn test_001() { function test_002 (line 12) | fn test_002() { function test_003 (line 17) | fn test_003() { function test_004 (line 25) | fn test_004() { function test_005 (line 33) | fn test_005() { function test_aclu (line 41) | fn test_aclu() { function test_aktualne (line 46) | fn test_aktualne() { function test_archive_of_our_own (line 51) | fn test_archive_of_our_own() { function test_ars_1 (line 59) | fn test_ars_1() { function test_base_url (line 64) | fn test_base_url() { function test_base_url_base_element_relative (line 69) | fn test_base_url_base_element_relative() { function test_breitbart (line 77) | fn test_breitbart() { function test_clean_links (line 82) | fn test_clean_links() { function test_cnn (line 87) | fn test_cnn() { function test_ehow_1 (line 92) | fn test_ehow_1() { function test_js_link_replacement (line 97) | fn test_js_link_replacement() { function test_keep_tabular_data (line 105) | fn test_keep_tabular_data() { function test_medicalnewstoday (line 113) | fn test_medicalnewstoday() { function test_medium_3 (line 121) | fn test_medium_3() { function test_qq (line 126) | fn test_qq() { function test_replace_brs (line 131) | fn test_replace_brs() { function test_social_buttons (line 136) | fn test_social_buttons() { function test_tmz_1 (line 141) | fn test_tmz_1() { function test_wikia (line 146) | fn test_wikia() { function test_wikipedia (line 151) | fn test_wikipedia() { function test_gmw (line 156) | fn test_gmw() { function test_videos_1 (line 161) | fn test_videos_1() { function test_v8_blog (line 166) | fn test_v8_blog() { function test_lwn_1 (line 171) | fn test_lwn_1() { function test_ietf_1 (line 176) | fn test_ietf_1() { function test_toc_missing (line 181) | fn test_toc_missing() { function test_table_style_attributes (line 186) | fn test_table_style_attributes() { function test_dev418 (line 194) | fn test_dev418() { function test_citylab_1 (line 199) | fn test_citylab_1() { function test_lemonde_1 (line 204) | fn test_lemonde_1() { function test_hukumusume (line 212) | fn test_hukumusume() { function test_engadget (line 217) | fn test_engadget() { function test_la_nacion (line 223) | fn test_la_nacion() { function test_wikipedia_3 (line 229) | fn test_wikipedia_3() { function test_wikipedia_2 (line 235) | fn test_wikipedia_2() { function arstechnica (line 241) | fn arstechnica() { FILE: tests/wasm.rs function test_readability_wikipedia_2 (line 11) | fn test_readability_wikipedia_2() { function test_metadata_wikipedia_2 (line 21) | fn test_metadata_wikipedia_2() {