{"result":{"depiction_url":null,"edges":{"in_module":{"objects":[{"created":"2026-10-25T20:28:15Z","object_id":{"id":1720,"is_a":["text","documentation","reference","module"],"name":"doc_module_mod_export","title":"mod_export","uri":"https:\/\/zotonic.com\/id\/1720"},"seq":1}],"predicate":{"id":333,"is_a":["meta","predicate"],"name":"in_module","title":{"_type":"trans","tr":{"en":"In module"}},"uri":"https:\/\/zotonic.com\/id\/in_module"}},"subject":{"objects":[{"created":"2026-10-25T20:28:15Z","object_id":{"id":2555,"is_a":["categorization","keyword","keyword_information_type"],"name":"zotonic_topic_reference","title":"Reference","uri":"https:\/\/zotonic.com\/id\/2555"},"seq":1},{"created":"2026-10-25T20:28:15Z","object_id":{"id":2563,"is_a":["categorization","keyword","keyword_audience"],"name":"zotonic_topic_frontend_developer","title":"Frontend developer","uri":"https:\/\/zotonic.com\/id\/2563"},"seq":2},{"created":"2026-10-25T20:28:15Z","object_id":{"id":2601,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_export_and_syndication","title":"Export and syndication","uri":"https:\/\/zotonic.com\/id\/2601"},"seq":3},{"created":"2026-10-25T20:28:15Z","object_id":{"id":2621,"is_a":["categorization","keyword","keyword_architecture"],"name":"zotonic_topic_template_filter","title":"Template filter","uri":"https:\/\/zotonic.com\/id\/2621"},"seq":4},{"created":"2026-10-25T20:28:15Z","object_id":{"id":2648,"is_a":["categorization","keyword","keyword_task"],"name":"zotonic_topic_serialize","title":"Serialize","uri":"https:\/\/zotonic.com\/id\/2648"},"seq":5},{"created":"2026-10-25T20:28:15Z","object_id":{"id":2659,"is_a":["categorization","keyword","keyword_data_type"],"name":"zotonic_topic_text","title":"Text","uri":"https:\/\/zotonic.com\/id\/2659"},"seq":6}],"predicate":{"id":308,"is_a":["meta","predicate"],"name":"subject","title":{"_type":"trans","tr":{"en":"Keyword"}},"uri":"http:\/\/purl.org\/dc\/elements\/1.1\/subject"}}},"id":3119,"is_a":["text","documentation","reference","template_filter"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/3119"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"doc_template_filter_filter_escape_ical_text","page_url":{"en":"https:\/\/zotonic.com\/docs\/3119\/escape_ical_text","x-default":"https:\/\/zotonic.com\/docs\/3119\/escape_ical_text"},"preview_url":null,"resource":{"version":28,"pivot_location_lat":null,"title":"escape_ical_text","is_authoritative":true,"body":"<p>Escape a value for an iCalendar TEXT property, such as SUMMARY, DESCRIPTION or\nLOCATION. Backslashes, commas and semicolons are escaped with a backslash.\nCRLF and carriage-return line endings are normalized to newlines, then escaped\nas the iCalendar newline sequence. Colons and double quotes remain unchanged.\nAn undefined value produces an empty binary. Translation records use the request\nlanguage and normal translation fallback. Values are converted with\n<code>z_convert:to_binary\/2<\/code> before escaping.<\/p>\n<p>For example, in an iCalendar template:<\/p>\n<pre class=\"notranslate\"><code class=\"notranslate language-django\">SUMMARY:{{ id.title|unescape|escape_ical_text }}\n<\/code><\/pre>\n<p>Use <code>unescape<\/code> first for resource text containing HTML entities. Strip HTML tags\nbefore escaping rich text. This filter escapes a property value; it does not\nadd a property name or fold content lines. The iCalendar encoder folds complete\nlines at 75 octets and writes CRLF line endings.<\/p>\n<p>This is TEXT-value escaping, not HTML escaping or URI\/parameter encoding.<\/p>","slug":"escape_ical_text","is_protected":false,"visible_for":0,"tz":"UTC","language":["en"],"doc_source_hash":"0a39a1f0ee19b87d8676279f666e0596707ce15b99a73904c38af1e5837363ef","is_featured":false,"content_group_id":{"id":2551,"is_a":["meta","content_group"],"name":"content_group_imported_docs","title":"Imported documentation","uri":"https:\/\/zotonic.com\/id\/content_group_imported_docs"},"category_id":{"id":325,"is_a":["meta","category"],"name":"template_filter","title":"Filters","uri":"https:\/\/test.zotonic.com\/id\/325"},"doc_source_path":"apps\/zotonic_mod_export\/src\/filters\/filter_escape_ical_text.erl","publication_start":"2026-10-25T20:28:15Z","github_url":"https:\/\/github.com\/zotonic\/zotonic\/blob\/master\/apps\/zotonic_mod_export\/src\/filters\/filter_escape_ical_text.erl","pivot_location_lng":null,"doc_source_kind":"filter","name":"doc_template_filter_filter_escape_ical_text","is_unfindable":false,"is_published":true,"pivot_geocode":null,"created":"2026-10-25T20:28:15Z","uri":null,"doc_status":"current","is_dependent":false,"erlang_app":"zotonic_mod_export","publication_end":"9999-06-01T00:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"doc_source_commit":"cd3f14df65adca114211fb2f2a57dd4edd1d62bb\n","erlang_module":"filter_escape_ical_text","creator_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"modified":"2026-10-26T14:37:35Z","title_slug":"escape_ical_text"},"uri":"https:\/\/zotonic.com\/id\/3119","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/3119"}},"status":"ok"}