Design doc for ingesting WordPress sites into MPS shops. Covers two input modes (REST API + WXR XML), 4-phase HTML conversion pipeline, content/media/comment mapping, CLI interface, competitive analysis, and future enhancements. Includes rendered dot diagrams for the architecture overview and HTML conversion detail flow.
305 lines
21 KiB
XML
305 lines
21 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 2.43.0 (0)
|
|
-->
|
|
<!-- Title: html_conversion Pages: 1 -->
|
|
<svg width="2657pt" height="211pt"
|
|
viewBox="0.00 0.00 2657.00 211.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 207)">
|
|
<title>html_conversion</title>
|
|
<polygon fill="white" stroke="transparent" points="-4,4 -4,-207 2653,-207 2653,4 -4,4"/>
|
|
<g id="clust1" class="cluster">
|
|
<title>cluster_phase1</title>
|
|
<polygon fill="none" stroke="#5871ad" stroke-dasharray="5,2" points="207,-57 207,-144 938,-144 938,-57 207,-57"/>
|
|
<text text-anchor="middle" x="572.5" y="-128.8" font-family="Times,serif" font-size="14.00">Phase 1: Pre-process (BeautifulSoup)</text>
|
|
</g>
|
|
<g id="clust2" class="cluster">
|
|
<title>cluster_phase2</title>
|
|
<polygon fill="none" stroke="#58ad71" stroke-dasharray="5,2" points="958,-57 958,-144 1706,-144 1706,-57 958,-57"/>
|
|
<text text-anchor="middle" x="1332" y="-128.8" font-family="Times,serif" font-size="14.00">Phase 2: Image Migration</text>
|
|
</g>
|
|
<g id="clust3" class="cluster">
|
|
<title>cluster_phase3</title>
|
|
<polygon fill="none" stroke="#ad8f58" stroke-dasharray="5,2" points="1726,-8 1726,-195 2021,-195 2021,-8 1726,-8"/>
|
|
<text text-anchor="middle" x="1873.5" y="-179.8" font-family="Times,serif" font-size="14.00">Phase 3: markdownify</text>
|
|
</g>
|
|
<g id="clust4" class="cluster">
|
|
<title>cluster_phase4</title>
|
|
<polygon fill="none" stroke="#666666" stroke-dasharray="5,2" points="2041,-57 2041,-144 2478,-144 2478,-57 2041,-57"/>
|
|
<text text-anchor="middle" x="2259.5" y="-128.8" font-family="Times,serif" font-size="14.00">Phase 4: Post-process</text>
|
|
</g>
|
|
<!-- raw_html -->
|
|
<g id="node1" class="node">
|
|
<title>raw_html</title>
|
|
<polygon fill="#fce4ec" stroke="black" points="173,-123 0,-123 0,-55 179,-55 179,-117 173,-123"/>
|
|
<polyline fill="none" stroke="black" points="173,-123 173,-117 "/>
|
|
<polyline fill="none" stroke="black" points="179,-117 173,-117 "/>
|
|
<text text-anchor="middle" x="89.5" y="-111.8" font-family="monospace" font-size="9.00">Raw WordPress HTML</text>
|
|
<text text-anchor="middle" x="89.5" y="-91.8" font-family="monospace" font-size="9.00"><!-- wp:paragraph --></text>
|
|
<text text-anchor="middle" x="89.5" y="-81.8" font-family="monospace" font-size="9.00"><p class="has-large-font-size"></text>
|
|
<text text-anchor="middle" x="89.5" y="-71.8" font-family="monospace" font-size="9.00">[gallery ids="1,2,3"]</text>
|
|
<text text-anchor="middle" x="89.5" y="-61.8" font-family="monospace" font-size="9.00"><img srcset="..." /></text>
|
|
</g>
|
|
<!-- strip_gutenberg -->
|
|
<g id="node2" class="node">
|
|
<title>strip_gutenberg</title>
|
|
<path fill="#e8eaf6" stroke="black" d="M319,-108C319,-108 227,-108 227,-108 221,-108 215,-102 215,-96 215,-96 215,-82 215,-82 215,-76 221,-70 227,-70 227,-70 319,-70 319,-70 325,-70 331,-76 331,-82 331,-82 331,-96 331,-96 331,-102 325,-108 319,-108"/>
|
|
<text text-anchor="middle" x="273" y="-96.8" font-family="monospace" font-size="9.00">Strip Gutenberg</text>
|
|
<text text-anchor="middle" x="273" y="-86.8" font-family="monospace" font-size="9.00">comments</text>
|
|
<text text-anchor="middle" x="273" y="-76.8" font-family="monospace" font-size="9.00"><!-- /?wp:\S+.*?--></text>
|
|
</g>
|
|
<!-- raw_html->strip_gutenberg -->
|
|
<g id="edge1" class="edge">
|
|
<title>raw_html->strip_gutenberg</title>
|
|
<path fill="none" stroke="black" d="M179.12,-89C187.76,-89 196.42,-89 204.8,-89"/>
|
|
<polygon fill="black" stroke="black" points="204.85,-92.5 214.85,-89 204.85,-85.5 204.85,-92.5"/>
|
|
</g>
|
|
<!-- strip_shortcodes -->
|
|
<g id="node3" class="node">
|
|
<title>strip_shortcodes</title>
|
|
<path fill="#e8eaf6" stroke="black" d="M466,-113C466,-113 379,-113 379,-113 373,-113 367,-107 367,-101 367,-101 367,-77 367,-77 367,-71 373,-65 379,-65 379,-65 466,-65 466,-65 472,-65 478,-71 478,-77 478,-77 478,-101 478,-101 478,-107 472,-113 466,-113"/>
|
|
<text text-anchor="middle" x="422.5" y="-101.8" font-family="monospace" font-size="9.00">Strip shortcodes</text>
|
|
<text text-anchor="middle" x="422.5" y="-91.8" font-family="monospace" font-size="9.00">[vc_*] [et_pb_*]</text>
|
|
<text text-anchor="middle" x="422.5" y="-81.8" font-family="monospace" font-size="9.00">[fusion_*]</text>
|
|
<text text-anchor="middle" x="422.5" y="-71.8" font-family="monospace" font-size="9.00">keep inner content</text>
|
|
</g>
|
|
<!-- strip_gutenberg->strip_shortcodes -->
|
|
<g id="edge2" class="edge">
|
|
<title>strip_gutenberg->strip_shortcodes</title>
|
|
<path fill="none" stroke="black" d="M331.03,-89C339.33,-89 347.92,-89 356.37,-89"/>
|
|
<polygon fill="black" stroke="black" points="356.56,-92.5 366.56,-89 356.56,-85.5 356.56,-92.5"/>
|
|
</g>
|
|
<!-- convert_embeds -->
|
|
<g id="node4" class="node">
|
|
<title>convert_embeds</title>
|
|
<path fill="#e8eaf6" stroke="black" d="M613,-108C613,-108 526,-108 526,-108 520,-108 514,-102 514,-96 514,-96 514,-82 514,-82 514,-76 520,-70 526,-70 526,-70 613,-70 613,-70 619,-70 625,-76 625,-82 625,-82 625,-96 625,-96 625,-102 619,-108 613,-108"/>
|
|
<text text-anchor="middle" x="569.5" y="-96.8" font-family="monospace" font-size="9.00">Convert embeds</text>
|
|
<text text-anchor="middle" x="569.5" y="-86.8" font-family="monospace" font-size="9.00">[embed]URL[/embed]</text>
|
|
<text text-anchor="middle" x="569.5" y="-76.8" font-family="monospace" font-size="9.00">→ bare URL</text>
|
|
</g>
|
|
<!-- strip_shortcodes->convert_embeds -->
|
|
<g id="edge3" class="edge">
|
|
<title>strip_shortcodes->convert_embeds</title>
|
|
<path fill="none" stroke="black" d="M478.32,-89C486.53,-89 495.06,-89 503.46,-89"/>
|
|
<polygon fill="black" stroke="black" points="503.6,-92.5 513.6,-89 503.6,-85.5 503.6,-92.5"/>
|
|
</g>
|
|
<!-- convert_captions -->
|
|
<g id="node5" class="node">
|
|
<title>convert_captions</title>
|
|
<path fill="#e8eaf6" stroke="black" d="M771,-107C771,-107 673,-107 673,-107 667,-107 661,-101 661,-95 661,-95 661,-83 661,-83 661,-77 667,-71 673,-71 673,-71 771,-71 771,-71 777,-71 783,-77 783,-83 783,-83 783,-95 783,-95 783,-101 777,-107 771,-107"/>
|
|
<text text-anchor="middle" x="722" y="-91.8" font-family="monospace" font-size="9.00">Convert captions</text>
|
|
<text text-anchor="middle" x="722" y="-81.8" font-family="monospace" font-size="9.00">[caption] → <figure></text>
|
|
</g>
|
|
<!-- convert_embeds->convert_captions -->
|
|
<g id="edge4" class="edge">
|
|
<title>convert_embeds->convert_captions</title>
|
|
<path fill="none" stroke="black" d="M625.26,-89C633.6,-89 642.3,-89 650.9,-89"/>
|
|
<polygon fill="black" stroke="black" points="650.94,-92.5 660.94,-89 650.94,-85.5 650.94,-92.5"/>
|
|
</g>
|
|
<!-- strip_srcset -->
|
|
<g id="node6" class="node">
|
|
<title>strip_srcset</title>
|
|
<path fill="#e8eaf6" stroke="black" d="M918,-108C918,-108 831,-108 831,-108 825,-108 819,-102 819,-96 819,-96 819,-82 819,-82 819,-76 825,-70 831,-70 831,-70 918,-70 918,-70 924,-70 930,-76 930,-82 930,-82 930,-96 930,-96 930,-102 924,-108 918,-108"/>
|
|
<text text-anchor="middle" x="874.5" y="-96.8" font-family="monospace" font-size="9.00">Strip srcset/sizes</text>
|
|
<text text-anchor="middle" x="874.5" y="-86.8" font-family="monospace" font-size="9.00">Strip WP classes</text>
|
|
<text text-anchor="middle" x="874.5" y="-76.8" font-family="monospace" font-size="9.00">Unwrap empty divs</text>
|
|
</g>
|
|
<!-- convert_captions->strip_srcset -->
|
|
<g id="edge5" class="edge">
|
|
<title>convert_captions->strip_srcset</title>
|
|
<path fill="none" stroke="black" d="M783.35,-89C791.72,-89 800.35,-89 808.79,-89"/>
|
|
<polygon fill="black" stroke="black" points="808.98,-92.5 818.98,-89 808.98,-85.5 808.98,-92.5"/>
|
|
</g>
|
|
<!-- find_imgs -->
|
|
<g id="node7" class="node">
|
|
<title>find_imgs</title>
|
|
<path fill="#e8f5e9" stroke="black" d="M1076,-108C1076,-108 978,-108 978,-108 972,-108 966,-102 966,-96 966,-96 966,-82 966,-82 966,-76 972,-70 978,-70 978,-70 1076,-70 1076,-70 1082,-70 1088,-76 1088,-82 1088,-82 1088,-96 1088,-96 1088,-102 1082,-108 1076,-108"/>
|
|
<text text-anchor="middle" x="1027" y="-96.8" font-family="monospace" font-size="9.00">Find all <img> src</text>
|
|
<text text-anchor="middle" x="1027" y="-86.8" font-family="monospace" font-size="9.00">and background-image</text>
|
|
<text text-anchor="middle" x="1027" y="-76.8" font-family="monospace" font-size="9.00">URLs</text>
|
|
</g>
|
|
<!-- strip_srcset->find_imgs -->
|
|
<g id="edge6" class="edge">
|
|
<title>strip_srcset->find_imgs</title>
|
|
<path fill="none" stroke="black" d="M930.26,-89C938.6,-89 947.3,-89 955.9,-89"/>
|
|
<polygon fill="black" stroke="black" points="955.94,-92.5 965.94,-89 955.94,-85.5 955.94,-92.5"/>
|
|
</g>
|
|
<!-- strip_suffix -->
|
|
<g id="node8" class="node">
|
|
<title>strip_suffix</title>
|
|
<path fill="#e8f5e9" stroke="black" d="M1234,-113C1234,-113 1136,-113 1136,-113 1130,-113 1124,-107 1124,-101 1124,-101 1124,-77 1124,-77 1124,-71 1130,-65 1136,-65 1136,-65 1234,-65 1234,-65 1240,-65 1246,-71 1246,-77 1246,-77 1246,-101 1246,-101 1246,-107 1240,-113 1234,-113"/>
|
|
<text text-anchor="middle" x="1185" y="-101.8" font-family="monospace" font-size="9.00">Strip WP size suffix</text>
|
|
<text text-anchor="middle" x="1185" y="-91.8" font-family="monospace" font-size="9.00">-300x200 → original</text>
|
|
<text text-anchor="middle" x="1185" y="-81.8" font-family="monospace" font-size="9.00">photo-1024x768.jpg</text>
|
|
<text text-anchor="middle" x="1185" y="-71.8" font-family="monospace" font-size="9.00">→ photo.jpg</text>
|
|
</g>
|
|
<!-- find_imgs->strip_suffix -->
|
|
<g id="edge7" class="edge">
|
|
<title>find_imgs->strip_suffix</title>
|
|
<path fill="none" stroke="black" d="M1088.31,-89C1096.6,-89 1105.17,-89 1113.63,-89"/>
|
|
<polygon fill="black" stroke="black" points="1113.85,-92.5 1123.85,-89 1113.85,-85.5 1113.85,-92.5"/>
|
|
</g>
|
|
<!-- download -->
|
|
<g id="node9" class="node">
|
|
<title>download</title>
|
|
<path fill="#e8f5e9" stroke="black" d="M1376,-113C1376,-113 1294,-113 1294,-113 1288,-113 1282,-107 1282,-101 1282,-101 1282,-77 1282,-77 1282,-71 1288,-65 1294,-65 1294,-65 1376,-65 1376,-65 1382,-65 1388,-71 1388,-77 1388,-77 1388,-101 1388,-101 1388,-107 1382,-113 1376,-113"/>
|
|
<text text-anchor="middle" x="1335" y="-101.8" font-family="monospace" font-size="9.00">Download original</text>
|
|
<text text-anchor="middle" x="1335" y="-91.8" font-family="monospace" font-size="9.00">from WP server</text>
|
|
<text text-anchor="middle" x="1335" y="-81.8" font-family="monospace" font-size="9.00">requests.get()</text>
|
|
<text text-anchor="middle" x="1335" y="-71.8" font-family="monospace" font-size="9.00">timeout=30s</text>
|
|
</g>
|
|
<!-- strip_suffix->download -->
|
|
<g id="edge8" class="edge">
|
|
<title>strip_suffix->download</title>
|
|
<path fill="none" stroke="black" d="M1246.2,-89C1254.62,-89 1263.29,-89 1271.74,-89"/>
|
|
<polygon fill="black" stroke="black" points="1271.92,-92.5 1281.92,-89 1271.92,-85.5 1271.92,-92.5"/>
|
|
</g>
|
|
<!-- upload_s3 -->
|
|
<g id="node10" class="node">
|
|
<title>upload_s3</title>
|
|
<path fill="#e8f5e9" stroke="black" d="M1549,-113C1549,-113 1436,-113 1436,-113 1430,-113 1424,-107 1424,-101 1424,-101 1424,-77 1424,-77 1424,-71 1430,-65 1436,-65 1436,-65 1549,-65 1549,-65 1555,-65 1561,-71 1561,-77 1561,-77 1561,-101 1561,-101 1561,-107 1555,-113 1549,-113"/>
|
|
<text text-anchor="middle" x="1492.5" y="-101.8" font-family="monospace" font-size="9.00">Upload to S3</text>
|
|
<text text-anchor="middle" x="1492.5" y="-91.8" font-family="monospace" font-size="9.00">{shop_id}/{product_id}/</text>
|
|
<text text-anchor="middle" x="1492.5" y="-81.8" font-family="monospace" font-size="9.00">inline/{filename}</text>
|
|
<text text-anchor="middle" x="1492.5" y="-71.8" font-family="monospace" font-size="9.00">ACL=public-read</text>
|
|
</g>
|
|
<!-- download->upload_s3 -->
|
|
<g id="edge9" class="edge">
|
|
<title>download->upload_s3</title>
|
|
<path fill="none" stroke="black" d="M1388.21,-89C1396.46,-89 1405.13,-89 1413.81,-89"/>
|
|
<polygon fill="black" stroke="black" points="1413.96,-92.5 1423.96,-89 1413.96,-85.5 1413.96,-92.5"/>
|
|
</g>
|
|
<!-- rewrite -->
|
|
<g id="node11" class="node">
|
|
<title>rewrite</title>
|
|
<path fill="#e8f5e9" stroke="black" d="M1686,-108C1686,-108 1609,-108 1609,-108 1603,-108 1597,-102 1597,-96 1597,-96 1597,-82 1597,-82 1597,-76 1603,-70 1609,-70 1609,-70 1686,-70 1686,-70 1692,-70 1698,-76 1698,-82 1698,-82 1698,-96 1698,-96 1698,-102 1692,-108 1686,-108"/>
|
|
<text text-anchor="middle" x="1647.5" y="-96.8" font-family="monospace" font-size="9.00">Rewrite src URLs</text>
|
|
<text text-anchor="middle" x="1647.5" y="-86.8" font-family="monospace" font-size="9.00">old WP URL</text>
|
|
<text text-anchor="middle" x="1647.5" y="-76.8" font-family="monospace" font-size="9.00">→ CDN URL</text>
|
|
</g>
|
|
<!-- upload_s3->rewrite -->
|
|
<g id="edge10" class="edge">
|
|
<title>upload_s3->rewrite</title>
|
|
<path fill="none" stroke="black" d="M1561.05,-89C1569.59,-89 1578.28,-89 1586.68,-89"/>
|
|
<polygon fill="black" stroke="black" points="1586.77,-92.5 1596.77,-89 1586.77,-85.5 1586.77,-92.5"/>
|
|
</g>
|
|
<!-- converter -->
|
|
<g id="node12" class="node">
|
|
<title>converter</title>
|
|
<path fill="#fff8e1" stroke="black" d="M1833,-108C1833,-108 1746,-108 1746,-108 1740,-108 1734,-102 1734,-96 1734,-96 1734,-82 1734,-82 1734,-76 1740,-70 1746,-70 1746,-70 1833,-70 1833,-70 1839,-70 1845,-76 1845,-82 1845,-82 1845,-96 1845,-96 1845,-102 1839,-108 1833,-108"/>
|
|
<text text-anchor="middle" x="1789.5" y="-96.8" font-family="monospace" font-size="9.00">WPConverter</text>
|
|
<text text-anchor="middle" x="1789.5" y="-86.8" font-family="monospace" font-size="9.00">(MarkdownConverter</text>
|
|
<text text-anchor="middle" x="1789.5" y="-76.8" font-family="monospace" font-size="9.00">subclass)</text>
|
|
</g>
|
|
<!-- rewrite->converter -->
|
|
<g id="edge11" class="edge">
|
|
<title>rewrite->converter</title>
|
|
<path fill="none" stroke="black" d="M1698.25,-89C1706.41,-89 1714.97,-89 1723.43,-89"/>
|
|
<polygon fill="black" stroke="black" points="1723.67,-92.5 1733.67,-89 1723.67,-85.5 1723.67,-92.5"/>
|
|
</g>
|
|
<!-- figures -->
|
|
<g id="node13" class="node">
|
|
<title>figures</title>
|
|
<path fill="#fff8e1" stroke="black" d="M2001,-52C2001,-52 1893,-52 1893,-52 1887,-52 1881,-46 1881,-40 1881,-40 1881,-28 1881,-28 1881,-22 1887,-16 1893,-16 1893,-16 2001,-16 2001,-16 2007,-16 2013,-22 2013,-28 2013,-28 2013,-40 2013,-40 2013,-46 2007,-52 2001,-52"/>
|
|
<text text-anchor="middle" x="1947" y="-36.8" font-family="monospace" font-size="9.00"><figure> → </text>
|
|
<text text-anchor="middle" x="1947" y="-26.8" font-family="monospace" font-size="9.00"><figcaption> → caption</text>
|
|
</g>
|
|
<!-- converter->figures -->
|
|
<g id="edge12" class="edge">
|
|
<title>converter->figures</title>
|
|
<path fill="none" stroke="black" d="M1844.45,-69.92C1857.65,-65.25 1871.86,-60.22 1885.35,-55.45"/>
|
|
<polygon fill="black" stroke="black" points="1886.76,-58.67 1895.02,-52.03 1884.43,-52.07 1886.76,-58.67"/>
|
|
</g>
|
|
<!-- code -->
|
|
<g id="node14" class="node">
|
|
<title>code</title>
|
|
<path fill="#fff8e1" stroke="black" d="M1993,-108C1993,-108 1901,-108 1901,-108 1895,-108 1889,-102 1889,-96 1889,-96 1889,-82 1889,-82 1889,-76 1895,-70 1901,-70 1901,-70 1993,-70 1993,-70 1999,-70 2005,-76 2005,-82 2005,-82 2005,-96 2005,-96 2005,-102 1999,-108 1993,-108"/>
|
|
<text text-anchor="middle" x="1947" y="-96.8" font-family="monospace" font-size="9.00"><pre><code</text>
|
|
<text text-anchor="middle" x="1947" y="-86.8" font-family="monospace" font-size="9.00">class="language-*"></text>
|
|
<text text-anchor="middle" x="1947" y="-76.8" font-family="monospace" font-size="9.00">→ fenced code block</text>
|
|
</g>
|
|
<!-- converter->code -->
|
|
<g id="edge13" class="edge">
|
|
<title>converter->code</title>
|
|
<path fill="none" stroke="black" d="M1845.32,-89C1856.1,-89 1867.53,-89 1878.66,-89"/>
|
|
<polygon fill="black" stroke="black" points="1878.78,-92.5 1888.78,-89 1878.78,-85.5 1878.78,-92.5"/>
|
|
</g>
|
|
<!-- headings -->
|
|
<g id="node15" class="node">
|
|
<title>headings</title>
|
|
<path fill="#fff8e1" stroke="black" d="M1988,-164C1988,-164 1906,-164 1906,-164 1900,-164 1894,-158 1894,-152 1894,-152 1894,-138 1894,-138 1894,-132 1900,-126 1906,-126 1906,-126 1988,-126 1988,-126 1994,-126 2000,-132 2000,-138 2000,-138 2000,-152 2000,-152 2000,-158 1994,-164 1988,-164"/>
|
|
<text text-anchor="middle" x="1947" y="-152.8" font-family="monospace" font-size="9.00">ATX headings (#)</text>
|
|
<text text-anchor="middle" x="1947" y="-142.8" font-family="monospace" font-size="9.00">body_width=0</text>
|
|
<text text-anchor="middle" x="1947" y="-132.8" font-family="monospace" font-size="9.00">unicode_snob=True</text>
|
|
</g>
|
|
<!-- converter->headings -->
|
|
<g id="edge14" class="edge">
|
|
<title>converter->headings</title>
|
|
<path fill="none" stroke="black" d="M1843.58,-108.12C1856.68,-112.83 1870.82,-117.92 1884.29,-122.77"/>
|
|
<polygon fill="black" stroke="black" points="1883.36,-126.16 1893.95,-126.26 1885.73,-119.57 1883.36,-126.16"/>
|
|
</g>
|
|
<!-- collapse -->
|
|
<g id="node16" class="node">
|
|
<title>collapse</title>
|
|
<path fill="#f5f5f5" stroke="black" d="M2159,-107C2159,-107 2061,-107 2061,-107 2055,-107 2049,-101 2049,-95 2049,-95 2049,-83 2049,-83 2049,-77 2055,-71 2061,-71 2061,-71 2159,-71 2159,-71 2165,-71 2171,-77 2171,-83 2171,-83 2171,-95 2171,-95 2171,-101 2165,-107 2159,-107"/>
|
|
<text text-anchor="middle" x="2110" y="-91.8" font-family="monospace" font-size="9.00">Collapse blank lines</text>
|
|
<text text-anchor="middle" x="2110" y="-81.8" font-family="monospace" font-size="9.00">3+ newlines → 2</text>
|
|
</g>
|
|
<!-- figures->collapse -->
|
|
<!-- code->collapse -->
|
|
<!-- headings->collapse -->
|
|
<g id="edge17" class="edge">
|
|
<title>headings->collapse</title>
|
|
<path fill="none" stroke="black" d="M2000.27,-126.82C2015.33,-121.58 2031.89,-115.82 2047.45,-110.41"/>
|
|
<polygon fill="black" stroke="black" points="2048.7,-113.68 2056.99,-107.09 2046.4,-107.07 2048.7,-113.68"/>
|
|
</g>
|
|
<!-- metadata -->
|
|
<g id="node17" class="node">
|
|
<title>metadata</title>
|
|
<path fill="#f5f5f5" stroke="black" d="M2311,-113C2311,-113 2219,-113 2219,-113 2213,-113 2207,-107 2207,-101 2207,-101 2207,-77 2207,-77 2207,-71 2213,-65 2219,-65 2219,-65 2311,-65 2311,-65 2317,-65 2323,-71 2323,-77 2323,-77 2323,-101 2323,-101 2323,-107 2317,-113 2311,-113"/>
|
|
<text text-anchor="middle" x="2265" y="-101.8" font-family="monospace" font-size="9.00">Prepend metadata</text>
|
|
<text text-anchor="middle" x="2265" y="-91.8" font-family="monospace" font-size="9.00">**Categories:** ...</text>
|
|
<text text-anchor="middle" x="2265" y="-81.8" font-family="monospace" font-size="9.00">**Tags:** ...</text>
|
|
<text text-anchor="middle" x="2265" y="-71.8" font-family="monospace" font-size="9.00">**Author:** ...</text>
|
|
</g>
|
|
<!-- collapse->metadata -->
|
|
<g id="edge18" class="edge">
|
|
<title>collapse->metadata</title>
|
|
<path fill="none" stroke="black" d="M2171.03,-89C2179.36,-89 2187.97,-89 2196.43,-89"/>
|
|
<polygon fill="black" stroke="black" points="2196.64,-92.5 2206.64,-89 2196.64,-85.5 2196.64,-92.5"/>
|
|
</g>
|
|
<!-- flag -->
|
|
<g id="node18" class="node">
|
|
<title>flag</title>
|
|
<path fill="#f5f5f5" stroke="black" d="M2458,-108C2458,-108 2371,-108 2371,-108 2365,-108 2359,-102 2359,-96 2359,-96 2359,-82 2359,-82 2359,-76 2365,-70 2371,-70 2371,-70 2458,-70 2458,-70 2464,-70 2470,-76 2470,-82 2470,-82 2470,-96 2470,-96 2470,-102 2464,-108 2458,-108"/>
|
|
<text text-anchor="middle" x="2414.5" y="-96.8" font-family="monospace" font-size="9.00">Flag posts with</text>
|
|
<text text-anchor="middle" x="2414.5" y="-86.8" font-family="monospace" font-size="9.00">unconverted <html></text>
|
|
<text text-anchor="middle" x="2414.5" y="-76.8" font-family="monospace" font-size="9.00">for manual review</text>
|
|
</g>
|
|
<!-- metadata->flag -->
|
|
<g id="edge19" class="edge">
|
|
<title>metadata->flag</title>
|
|
<path fill="none" stroke="black" d="M2323.03,-89C2331.33,-89 2339.92,-89 2348.37,-89"/>
|
|
<polygon fill="black" stroke="black" points="2348.56,-92.5 2358.56,-89 2348.56,-85.5 2348.56,-92.5"/>
|
|
</g>
|
|
<!-- output -->
|
|
<g id="node19" class="node">
|
|
<title>output</title>
|
|
<polygon fill="#e8f5e9" stroke="black" points="2643,-128 2506,-128 2506,-50 2649,-50 2649,-122 2643,-128"/>
|
|
<polyline fill="none" stroke="black" points="2643,-128 2643,-122 "/>
|
|
<polyline fill="none" stroke="black" points="2649,-122 2643,-122 "/>
|
|
<text text-anchor="middle" x="2577.5" y="-116.8" font-family="monospace" font-size="9.00">MPS Content</text>
|
|
<text text-anchor="middle" x="2577.5" y="-96.8" font-family="monospace" font-size="9.00">Product.description</text>
|
|
<text text-anchor="middle" x="2577.5" y="-86.8" font-family="monospace" font-size="9.00">(raw markdown)</text>
|
|
<text text-anchor="middle" x="2577.5" y="-66.8" font-family="monospace" font-size="9.00">Product.description_html</text>
|
|
<text text-anchor="middle" x="2577.5" y="-56.8" font-family="monospace" font-size="9.00">(rendered HTML)</text>
|
|
</g>
|
|
<!-- flag->output -->
|
|
<g id="edge20" class="edge">
|
|
<title>flag->output</title>
|
|
<path fill="none" stroke="black" d="M2470.01,-89C2478.27,-89 2486.94,-89 2495.62,-89"/>
|
|
<polygon fill="black" stroke="black" points="2495.78,-92.5 2505.78,-89 2495.78,-85.5 2495.78,-92.5"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|