It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://hackmd.io/%40uk222/H1aZBmaUt

  1. <!DOCTYPE html>
  2. <html lang="dev">
  3.  
  4. <head>
  5.    <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
  8. <meta name="apple-mobile-web-app-capable" content="yes">
  9. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  10. <meta name="mobile-web-app-capable" content="yes">
  11.  
  12. <meta name="description" content="Best way to write and share your knowledge in markdown.">
  13. <meta name="keywords" content="Collaborative, Markdown, Notes">
  14. <!-- Open Graph data -->
  15. <meta property="og:title" content="HackMD - Collaborative Markdown Knowledge Base">
  16. <meta property="og:type" content="website">
  17. <meta property="og:url" content="https://hackmd.io">
  18. <meta property="og:description" content="Best way to write and share your knowledge in markdown.">
  19. <meta property="og:site_name" content="HackMD">
  20. <meta property="og:image" content="https://hackmd.io/images/media/HackMD-og.jpg">
  21.  
  22.    <meta property="fb:app_id" content="1436904003272070">
  23.  
  24. <!-- Twitter data -->
  25. <meta name="twitter:site" content="@hackmdio" />
  26. <meta name="twitter:card" content="summary_large_image" />
  27. <meta name="twitter:title" content="HackMD - Collaborative Markdown Knowledge Base" />
  28. <meta name="twitter:description" content="Best way to write and share your knowledge in markdown." />
  29. <meta name="twitter:image:src" content="https://hackmd.io/images/media/HackMD-og.jpg" />
  30. <title>HackMD - Collaborative Markdown Knowledge Base</title>
  31.  
  32. <meta name="csrf-token" content="xxVq6175-mMwkrZCMcoFRx7zZXEZuAt1PgnM">
  33. <link rel="icon" type="image/png" href="https://hackmd.io/favicon.png">
  34. <link rel="apple-touch-icon" href="https://hackmd.io/apple-touch-icon.png">
  35.  
  36. <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  37.  window.domain = 'hackmd.io'
  38.  window.urlpath = ''
  39.  window.debug = false
  40.  window.version = '1.3.0'
  41.  window.brand = 'HackMD'
  42.  
  43.  
  44.  
  45.  window.GOOGLE_API_KEY = 'AIzaSyCjSrqWHhmWJnoI7JlD88XDSaBgiKbaenA'
  46.  window.GOOGLE_CLIENT_ID = '911617723593-drikdibvvn63slfd6kbqigo8ql1no55s.apps.googleusercontent.com'
  47.  window.DROPBOX_APP_KEY = 'rdoizrlnkuha23r'
  48.  
  49.  window.PLANTUML_SERVER = 'https://ptuml.hackmd.io'
  50.  
  51.  window.ASSET_URL = 'https://assets.hackmd.io'
  52.  
  53.  window.USER_CAN_CREATE_TEAM = true
  54.  window.USER_CAN_DELETE_ACCOUNT = true
  55.  window.USER_DELETE_ACCOUNT_VIA_EMAIL = true
  56.  window.PAYMENT_ENABLED = true
  57.  window.PAYMENT_PROMOTION_BANNER_ENABLED = false
  58.  window.GITHUB_SYNC_ENABLED = true
  59.  window.GITLAB_SYNC_ENABLED = false
  60.  window.GITLAB_SYNC_BASE_URL = ''
  61.  window.VCS_SYNC_MODE = 'github'
  62.  window.VCS_PROVIDER_NAME = 'GitHub'
  63.  window.FREE_TEAM_NUM = 20
  64.  window.FREE_TEAM_MEMBER_NUM = 3
  65.  window.FREE_PUBLIC_TEAM_NUM = 10
  66.  
  67.  window.EE_SITE_ENABLE = false
  68.  window.EE_SITE_NAME = 'false'
  69.  window.EE_SITE_LINK = 'false'
  70.  window.EESITE_INFO = false
  71.  window.ENTERPRISE_DISCOVERY_ENABLE = false
  72.  window.ENTERPRISE_DISCOVERY_TEAM = true
  73.  window.ENTERPRISE_DISCOVERY_NOTE = true
  74.  window.ENTERPRISE_DISCOVERY_VIEW_PERMISSION = 'guest'
  75.  
  76.  window.ALLOW_ANONYMOUS = true
  77.  window.ALLOW_ANONYMOUS_EDIT = false
  78.  window.ALLOW_DOWNLOAD_PDF = false
  79.  window.PUBLIC_OVERVIEW = false
  80.  window.INTERNAL_PUBLIC_OVERVIEW = false
  81.  window.FULL_TEXT_SEARCH_ENABLE = false
  82.  window.ALGOLIA_SEARCH_ENABLE = true
  83.  window.MARKETING_EMAIL_ENABLE = true
  84.  
  85.  
  86.  
  87.    window.WALLET_CONNECT_PROJECT_ID = '91d6fa182b725b5895a17a170a5878c1'
  88.  
  89.  window.API_MANAGEMENT_UI_ENABLE = true
  90.  window.FEEDBACK_UI_ENABLE = true
  91.  window.PUBLISH_ENABLE = true
  92.  
  93.  
  94.  
  95.  
  96.  window.SHOW_HOT_NOTES = false
  97.  
  98.  
  99.  
  100.  window.HOT_NOTES_TIME_TYPE = 'week'
  101.  
  102.  
  103.  
  104.  window.SHOW_OVERVIEW = false
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  window.TRASH_NOTE_DELETE_AFTER_FREE = 3
  130.  window.TRASH_NOTE_DELETE_AFTER_PAID = 30
  131.  
  132.  
  133.    window.ENABLED_PREVIEW_FEATURE = {}
  134.  
  135.  
  136.  
  137.  
  138.  
  139.    window.IMGUR_FALLBACK_CDN = 'https://imgur-backup.hackmd.io'
  140.  
  141.  
  142.  
  143.    window.CLOUD_META_UI = true
  144.  
  145.  
  146.    window.CLOUD_META_API = true
  147.  
  148.  
  149.    window.CLOUD_META_MIGRATION = false
  150.  
  151.  
  152.    window.YAML_METADATA_ENABLED = false
  153.  
  154.  
  155.  
  156.    window.NOTE_CAPACITY_LIMIT = 50
  157.  
  158.  
  159.  
  160.    window.DOCUMENT_MAX_LENGTH = 100000
  161.  
  162.  
  163.  
  164.    window.SOCIAL_NETWORK_FEATURES_ENABLED = true
  165.  
  166.  
  167.  
  168.    window.PUBLISHMENT_MODERATION_ENABLED = true
  169.  
  170.  
  171.  
  172.  
  173.  window.SUGGEST_EDIT_ENABLED = true
  174.  
  175.  
  176.  
  177.    window.REALTIME_CLIENT_WITH_CREDENTIALS = false
  178.  
  179.  
  180.  
  181. </script>
  182.  
  183.  
  184.  
  185. <!-- Google Tag Manager -->
  186. <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  187. new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  188. j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  189. 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  190. })(window,document,'script','dataLayer','GTM-KLW9Z3');</script>
  191. <!-- End Google Tag Manager -->
  192.  
  193.  
  194. <link href="https://assets.hackmd.io/build/font-vendor.85aea95458609ff85035.css" rel="stylesheet"><link href="https://assets.hackmd.io/build/common-vendor.8badda337754ab1de336.css" rel="stylesheet"><link href="https://assets.hackmd.io/build/cover-vendor.2e9590c435e0258b55cb.css" rel="stylesheet"><link href="https://assets.hackmd.io/build/cover.6482fe666af08536127c.css" rel="stylesheet">
  195. <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
  196. <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
  197. <!--[if lt IE 9]>
  198. <script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script>
  199. <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js" integrity="sha256-g6iAfvZp+nDQ2TdTR/VVKJf3bGro4ub5fvWSWVRi2NE=" crossorigin="anonymous"></script>
  200. <script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-shim.min.js" integrity="sha256-8E4Is26QH0bD52WoQpcB+R/tcWQtpzlCojrybUd7Mxo=" crossorigin="anonymous"></script>
  201. <![endif]-->
  202.  
  203.  
  204.  
  205.  
  206.  
  207. <script defer data-domain="hackmd.io" src="https://plausible.io/js/script.js"></script>
  208. <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  209.  window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments); }
  210.  const keyboardWhiteList = ['a', 'span', 'button']
  211.  
  212.  function getTaggedEventAttributes (e) {
  213.    const eventAttrs = { name: null, props: {} }
  214.    if (!e || !e.classList) return eventAttrs
  215.    const psEvent = /plausible-event-(.+)(=|--)(.+)/
  216.    for (const className of [...e.classList]) {
  217.      const [, key, , val] = className.match(psEvent) || []
  218.      if (!key || !val) continue
  219.      const value = val.replace(/\+/g, ' ')
  220.      switch (key.toLowerCase()) {
  221.        case 'name':
  222.          eventAttrs.name = value
  223.          break
  224.        default:
  225.          eventAttrs.props[key] = value
  226.          break
  227.      }
  228.    }
  229.    return eventAttrs
  230.  }
  231.  
  232.  function isLocal () {
  233.    return /^localhost$|^127(\.[0-9]+){0,2}\.[0-9]+$|^\[::1?\]$/.test(location.hostname) || location.protocol === 'file:'
  234.  }
  235.  
  236.  function isAutomation () {
  237.    return Boolean(window._phantom || window.__nightmare || window.navigator.webdriver || window.Cypress)
  238.  }
  239.  
  240.  function shouldIgnore () {
  241.    return isLocal() ||
  242.      isAutomation() ||
  243.      window.localStorage.getItem('plausible_ignore') === 'true'
  244.  }
  245.  
  246.  function handler (e) {
  247.    if (!window.plausible) return
  248.    if (!e.target || !('className' in e.target)) return
  249.    const ele = e.target
  250.  
  251.    const eventAttrs = getTaggedEventAttributes(ele)
  252.    if (!eventAttrs.name) return
  253.    if (ele?.href) eventAttrs.props.url = ele.href
  254.  
  255.    if (shouldIgnore()) {
  256.      if (window.debug) {
  257.        console.warn(
  258.          `Ignoring Event: "${eventAttrs.name}"`,
  259.          { props: eventAttrs.props },
  260.        )
  261.      }
  262.      return
  263.    }
  264.    window.plausible(eventAttrs.name, { props: eventAttrs.props })
  265.  }
  266.  
  267.  function keydownHandler (e) {
  268.    if (e.key !== 'Enter') return
  269.    if (e.target.nodeName.toLowerCase() === 'input') {
  270.      switch (e.target.type.toLowerCase()) {
  271.        case 'submit':
  272.        case 'button':
  273.        case 'reset':
  274.        case 'checkbox':
  275.        case 'radio':
  276.        case 'file':
  277.        case 'image':
  278.        case 'color':
  279.          break
  280.        default:
  281.          return
  282.      }
  283.    } else if (!keyboardWhiteList.includes(e.target.nodeName.toLowerCase())) {
  284.      return
  285.    }
  286.    handler(e)
  287.  }
  288.  
  289.  document.addEventListener('mousedown', handler)
  290.  document.addEventListener('keydown', keydownHandler)
  291. </script>
  292.  
  293.  
  294. </head>
  295.  
  296. <body>
  297.    
  298.  
  299. <header class="sticky z-50 flex items-center justify-between w-full px-6 py-3 top-0 lg:px-10 md:px-8 bg-black-brand hackmd-navbar">
  300.    <a class="font-bold text-9 hover:no-underline hover:text-gray-300" href="https://hackmd.io/home">
  301.        <i class="fa fa-file-text"></i>&nbsp;HackMD
  302.    </a>
  303.  
  304.    <button type="button" class="border-none outline-none ui-navbar-toggle bg-black-brand text-5 lg:hidden" aria-expanded="false">
  305.        <i class="fa fa-bars"></i>
  306.    </button>
  307.  
  308.    <!-- Backdrop -->
  309.    <div class="fixed top-0 left-0 w-full h-full bg-gray-900 backdrop opacity-70 lg:hidden"></div>
  310.  
  311.    <nav class="fixed top-0 right-0 h-full pt-16 transition-transform lg:block lg:relative bg-black-brand lg:p-0 w-50 lg:w-auto drop-shadow-md lg:drop-shadow-none">
  312.        <span class="absolute cursor-pointer right-5 top-3 lg:hidden navbar-close">
  313.            <img src="https://hackmd.io/images/home/group.svg">
  314.        </span>
  315.  
  316.        <ul class="fixed z-10 flex flex-col items-start justify-start w-full gap-4 pl-0 mb-0 font-semibold list-none lg:flex text-5 lg:gap-6 lg:justify-center lg:flex-row lg:items-center lg:relative lg:w-auto xl:gap-8 2xl:gap-10">
  317.  
  318.            
  319.                
  320.                    <li>
  321.                        <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" target="_blank" href="https://hackmd.io/c/tutorials">
  322.                            Tutorials
  323.                        </a>
  324.                    </li>
  325.                    <li>
  326.                        <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" href="https://hackmd.io/pricing">
  327.                            Pricing
  328.                        </a>
  329.                    </li>
  330.                    <li>
  331.                        <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" href="https://hackmd.io/enterprise">
  332.                            Enterprise
  333.                        </a>
  334.                    </li>
  335.                
  336.                <li>
  337.                    <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" href="https://blog.hackmd.io?utm_source=home&utm_medium=nav-bar" target="_blank" rel="noreferrer noopener">
  338.                        Blog
  339.                    </a>
  340.                </li>
  341.                <li>
  342.                    <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" href="https://blog.hackmd.io/changelog?utm_source=home&utm_medium=nav-bar" target="_blank" rel="noreferrer noopener">
  343.                        Changelog
  344.                    </a>
  345.                </li>
  346.  
  347.                <li class="bg-gray-800 lg:block tw-hidden" style="width: 1px; height: 26px;"></li>
  348.  
  349.                <li class="block w-full bg-gray-800 lg:hidden" style="height: 1px;"></li>
  350.            
  351.  
  352.            
  353.                <li class="ui-home-recent">
  354.                    <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" href="https://hackmd.io/recent">
  355.                        Recent
  356.                    </a>
  357.                </li>
  358.            
  359.  
  360.            
  361.                <li class="ui-home-login">
  362.                    <a class="px-8 hover:no-underline hover:text-gray-300 lg:px-0" href="https://hackmd.io/login">
  363.                        Sign in
  364.                    </a>
  365.                </li>
  366.            
  367.        </ul>
  368.    </nav>
  369. </header>
  370.  
  371.    <div id="site-content" class="site-wrapper hmd-pt-1/4" style="padding-top: 50px;">
  372.    <div id="home">
  373.        
  374.            <div class="container">
  375.    
  376.  
  377.    
  378. </div>
  379.  
  380. <div class="container home-container hmd-pt-3-xs hmd-pb-10-xs hmd-pt-9-md hmd-pb-16-md">
  381.    <div class="row hmd-mb-18">
  382.        <div class="col-xs-12">
  383.            
  384.                <h1 class="cover-heading hmd-ma-0">Get everyone on the same page with Markdown</h1>
  385.                <p class="lead hmd-ma-0" style="max-width: 680px; margin: auto; margin-bottom: 30px;">
  386.                    Real-time collaborate on
  387.                    <span class="typewriter-container inline-flex hmd-justify-center en">
  388.                        <span class="typewriter-text typewriter-text-1">project</span>
  389.                        <span class="typewriter-text typewriter-text-2">team</span>
  390.                        <span class="typewriter-text typewriter-text-3">technical</span>
  391.                        <span class="typewriter-text typewriter-text-4">personal</span>
  392.                    </span>
  393.                     documentation in markdown. Capture fleeting ideas and formalize tribal knowledge.
  394.                </p>
  395.                
  396.                    <form action="https://hackmd.io/join" class="input-group hmd-mt-3" method="get" style="display: flex; max-width: 680px; margin: auto;">
  397.                        <input type="email" name="email" class="form-control ui-home-email" placeholder="Enter your email">
  398.                        <div class="input-group-append">
  399.                            <button type="submit" class="btn btn-success btn-lg ui-home-join plausible-event-name=HomeHeroEmail">Sign-up</button>
  400.                        </div>
  401.                    </form>
  402.                
  403.            
  404.        </div>
  405.    </div>
  406. </div>
  407.  
  408. <div class="home-container hmd-bg-white">
  409.    <div id="carouselFirstIndicators" class="carousel slide row" data-ride="carousel">
  410.        <div class="col-xs-12 visible-xs">
  411.            <h1 class="section-title">
  412.                <div>Effective team collaboration</div>
  413.                <div>Flexible permissioning</div>
  414.            </h1>
  415.        </div>
  416.        <div class="col-xs-12 col-md-6 hmd-mb-3-xs hmd-mb-0-md">
  417.            <div class="carousel-inner pull-right" style="width: auto;">
  418.                <div class="item active">
  419.                    <img src="https://hackmd.io/images/home/IndexPic_1-1.svg" class="d-block hmd-w-100" alt="Slide 1">
  420.                </div>
  421.                <div class="item">
  422.                    <img src="https://hackmd.io/images/home/IndexPic_1-2.svg" class="d-block hmd-w-100" alt="Slide 2">
  423.                </div>
  424.                <div class="item">
  425.                    <img src="https://hackmd.io/images/home/IndexPic_1-3.svg" class="d-block hmd-w-100" alt="Slide 3">
  426.                </div>
  427.            </div>
  428.        </div>
  429.        <div class="col-xs-12 col-md-6 hmd-text-left">
  430.            <h1 class="section-title hidden-xs">
  431.                <div>Effective team collaboration</div>
  432.                <div>Flexible permissioning</div>
  433.            </h1>
  434.            <div class="carousel-indicators">
  435.                <div class="carousel-item active" data-target="#carouselFirstIndicators" data-slide-to="0">
  436.                    <img src="https://hackmd.io/images/home/index-team-value-01.svg" class="icon">
  437.                    <div>
  438.                        <div class="title">Transcend beyond space and time</div>
  439.                        <div class="content">Blazing fast real-time collaboration breaks the space between members. Change notification keeps everyone posted.</div>
  440.                    </div>
  441.                </div>
  442.                <div class="carousel-item" data-target="#carouselFirstIndicators" data-slide-to="1">
  443.                    <img src="https://hackmd.io/images/home/index-team-value-02.svg" class="icon">
  444.                    <div>
  445.                        <div class="title">Sharing is caring</div>
  446.                        <div class="content">Team workspace for bird’s-eye view over all team documents. Shared templates keep format and styling consistent.</div>
  447.                    </div>
  448.                </div>
  449.                <div class="carousel-item" data-target="#carouselFirstIndicators" data-slide-to="2">
  450.                    <img src="https://hackmd.io/images/home/index-team-value-03.svg" class="icon">
  451.                    <div>
  452.                        <div class="title">Keep your secret (while sharing it)</div>
  453.                        <div class="content">Granular note permission settings and private image storage give you full control over how and with whom you share.</div>
  454.                    </div>
  455.                </div>
  456.            </div>
  457.         </div>
  458.    </div>
  459.    
  460.        
  461.            <div class="row hmd-pt-2">
  462.                <div class="col-xs-12 hmd-text-right button-container">
  463.                    <a href="https://hackmd.io/join?create-team=true" class="ui-home-create-team plausible-event-name=HomeCreateFreeTeam btn btn-lg btn-primary" style="min-width: 145px;">Create a free team</a>
  464.                </div>
  465.            </div>
  466.        
  467.    
  468. </div>
  469.  
  470. <div class="home-container hmd-bg-white hmd-pt-0">
  471.    <div id="carouselSecondIndicators" class="carousel reverse slide row" data-ride="carousel">
  472.        <div class="col-xs-12 visible-xs">
  473.            <h1 class="section-title">
  474.                <div>Your own tools</div>
  475.                <div>Own your contents</div>
  476.            </h1>
  477.        </div>
  478.        <div class="col-xs-12 col-md-6">
  479.            <div class="carousel-inner pull-right" style="width: auto;">
  480.                <div class="item active">
  481.                    <img src="https://hackmd.io/images/home/IndexPic_2-1.svg" class="d-block hmd-w-100" alt="Slide 1">
  482.                </div>
  483.                <div class="item">
  484.                    <img src="https://hackmd.io/images/home/IndexPic_2-3.svg" class="d-block hmd-w-100" alt="Slide 2">
  485.                </div>
  486.                <div class="item">
  487.                    <img src="https://hackmd.io/images/home/IndexPic_2-2.svg" class="d-block hmd-w-100" alt="Slide 3">
  488.                </div>
  489.            </div>
  490.        </div>
  491.        <div class="col-xs-12 col-md-6 hmd-text-left">
  492.            <h1 class="section-title hidden-xs">
  493.                <div>Your own tools</div>
  494.                <div>Own your contents</div>
  495.            </h1>
  496.            <div class="carousel-indicators">
  497.                <div class="carousel-item active" data-target="#carouselSecondIndicators" data-slide-to="0">
  498.                    <img src="https://hackmd.io/images/home/index-value-01.svg" class="icon">
  499.                    <div>
  500.                        <div class="title">Markdown for everything</div>
  501.                        <div class="content">Technical document, UML chart, math formula, data visualization, even slide deck – All portable.</div>
  502.                    </div>
  503.                </div>
  504.                <div class="carousel-item" data-target="#carouselSecondIndicators" data-slide-to="1">
  505.                    <img src="https://hackmd.io/images/home/index-value-02.svg" class="icon">
  506.                    <div>
  507.                        <div class="title">Document with Git the way you code</div>
  508.                        <div class="content">Manage documentation with the Git workflow, decentralize the editing and storage, centralize the final documents.</div>
  509.                    </div>
  510.                </div>
  511.                <div class="carousel-item" data-target="#carouselSecondIndicators" data-slide-to="2">
  512.                    <img src="https://hackmd.io/images/home/index-value-03.svg" class="icon">
  513.                    <div>
  514.                        <div class="title">Your tools should work for you</div>
  515.                        <div class="content">Access your notes with hotkey-invoked browser extension. One-click export notes to use HackMD in VSCode.</div>
  516.                    </div>
  517.                </div>
  518.            </div>
  519.         </div>
  520.    </div>
  521.    
  522.        <div class="row hmd-pt-0-xs hmd-pt-3/2-md">
  523.            <div class="col-xs-12 hmd-text-left button-container">
  524.                <form action="https://hackmd.io/template/template-Try-it?redirect=true" method="POST">
  525.                    <div class="hmd-dn"><input type="hidden" name="_csrf" value="xxVq6175-mMwkrZCMcoFRx7zZXEZuAt1PgnM"></div>
  526.                    <button type="submit" class="ui-new-note ui-new-note-features plausible-event-name=HomeUseFree btn btn-lg btn-primary" style="min-width: 110px;">Use for free</button>
  527.                </form>
  528.            </div>
  529.        </div>
  530.    
  531. </div>
  532.  
  533. <div class="home-container">
  534.    <div class="row">
  535.        <div class="col-xs-12">
  536.            <h2 class="home-heading" style="margin-bottom: 15px;">Features</h2>
  537.            <div style="margin-bottom: 25px; font-size: 20px;">Boost productivity your way</div>
  538.        </div>
  539.    </div>
  540.    <div class="row hmd-flex hmd-flex-wrap hmd-ph-0-md hmd-mh-0-md">
  541.        <div class="col-xs-12"></div> <!-- hack for safari -->
  542.        <div class="col-xs-12 col-md-4 hmd-ph-3/2 feature-card hmd-mb-3">
  543.            <div class="content">
  544.                <img src="https://hackmd.io/images/home/feature-01.svg" class="icon">
  545.                <p class="title hmd-mb-3/2 hmd-mt-2"><strong>VSCode Extension</strong></p>
  546.                <div class="subtitle">Write and see all HackMD supported markdown syntax right in VSCode.</div>
  547.                <div class="feature-button-container">
  548.                    <a class="learn-more" target="_blank" href="https://marketplace.visualstudio.com/items?itemName=HackMD.vscode-hackmd">Install now<i class='fa fa-angle-right' aria-hidden='true'></i></a>
  549.                </div>
  550.            </div>
  551.        </div>
  552.        <div class="col-xs-12 col-md-4 hmd-ph-3/2 feature-card hmd-mb-3">
  553.            <div class="content">
  554.                <img src="https://hackmd.io/images/home/feature-02.svg" class="icon">
  555.                <p class="title hmd-mb-3/2 hmd-mt-2"><strong>GitHub Integration</strong></p>
  556.                <div class="subtitle">Version controlling your documents with your favorite GitHub workflow.</div>
  557.                <div class="feature-button-container">
  558.                    <a class="learn-more" target="_blank" href="https://hackmd.io/c/tutorials/%2Fs%2Flink-with-github">Learn more<i class='fa fa-angle-right' aria-hidden='true'></i></a>
  559.                </div>
  560.            </div>
  561.        </div>
  562.        <div class="col-xs-12 col-md-4 hmd-ph-3/2 feature-card hmd-mb-3">
  563.            <div class="content">
  564.                <img src="https://hackmd.io/images/home/feature-03.svg" class="icon">
  565.                <p class="title hmd-mb-3/2 hmd-mt-2"><strong>Browser Extension</strong></p>
  566.                <div class="subtitle">Capture your thoughts and stay in the flow with hotkey-invoked browser extension.</div>
  567.                <div class="feature-button-container">
  568.                    <a class="learn-more" target="_blank" href="https://hackmd.io/c/tutorials/%2Fs%2Fhackmd-it">Install now<i class='fa fa-angle-right' aria-hidden='true'></i></a>
  569.                </div>
  570.            </div>
  571.        </div>
  572.        <div class="col-xs-12 col-md-4 hmd-ph-3/2 feature-card hmd-mb-3">
  573.            <div class="content">
  574.                <img src="https://hackmd.io/images/home/feature-04.svg" class="icon">
  575.                <p class="title hmd-mb-3/2 hmd-mt-2"><strong>MathJax and UML </strong></p>
  576.                <div class="subtitle">Draw UML diagrams in SVG and write scientific formula with plain text in one tool.</div>
  577.                <div class="feature-button-container">
  578.                    <a class="learn-more" target="_blank" href="https://hackmd.io/c/tutorials/%2Fs%2FMathJax-and-UML">Learn more<i class='fa fa-angle-right' aria-hidden='true'></i></a>
  579.                </div>
  580.            </div>
  581.        </div>
  582.        <div class="col-xs-12 col-md-4 hmd-ph-3/2 feature-card hmd-mb-3">
  583.            <div class="content">
  584.                <img src="https://hackmd.io/images/home/feature-05.svg" class="icon">
  585.                <p class="title hmd-mb-3/2 hmd-mt-2"><strong>Slide Mode</strong></p>
  586.                <div class="subtitle">Turn your note to slide deck and own the stage in a minute.</div>
  587.                <div class="feature-button-container">
  588.                    <a class="learn-more" target="_blank" href="https://hackmd.io/c/tutorials/%2Fs%2Fhow-to-create-slide-deck">Learn more<i class='fa fa-angle-right' aria-hidden='true'></i></a>
  589.                </div>
  590.            </div>
  591.        </div>
  592.        <div class="col-xs-12 col-md-4 hmd-ph-3/2 feature-card hmd-mb-3">
  593.            <div class="content">
  594.                <img src="https://hackmd.io/images/home/feature-06.svg" class="icon">
  595.                <p class="title hmd-mb-3/2 hmd-mt-2"><strong>Book Mode</strong></p>
  596.                <div class="subtitle">Create a collection of related documents, organize under chapters, and share at once.</div>
  597.                <div class="feature-button-container">
  598.                    <a class="learn-more" target="_blank" href="https://hackmd.io/c/tutorials/%2Fs%2Fhow-to-create-book">Learn more<i class='fa fa-angle-right' aria-hidden='true'></i></a>
  599.                </div>
  600.            </div>
  601.        </div>
  602.    </div>
  603.    <a class="btn btn-default btn-lg btn-outline" target="_blank" href="https://hackmd.io/c/tutorials/%2Fs%2Ftutorials">More features</a>
  604. </div>
  605.  
  606.  
  607.    <div class="home-container hmd-pt-0">
  608.        <div class="row">
  609.            <div class="col-xs-12">
  610.                <h2 class="home-heading">Become highly collaborative like these teams</h2>
  611.            </div>
  612.        </div>
  613.        <div class="row trusted-by-customer-block">
  614.            <a class="customer-card"><img src="https://hackmd.io/images/home/logo-ethereum.svg" alt="ethereum"></a>
  615.            <a class="customer-card"><img src="https://hackmd.io/images/home/logo-g-0-v.svg" alt="g0v"></a>
  616.            <a class="customer-card"><img src="https://hackmd.io/images/home/logo-procore.svg" alt="procore"></a>
  617.            <a class="customer-card"><img src="https://hackmd.io/images/home/logo-crowd-works.png" alt="crowd-works"></a>
  618.        </div>
  619.  
  620.        <div class="hmd-mt-6">
  621.            <div class="customer-testimonial hmd-ph-3/2">
  622.    <div class="testimonial-block hmd-text-gray-lightest hmd-mh-auto hmd-mb-2 hmd-ph-0 hmd-ph-7-sm hmd-pt-6 hmd-pt-0-sm hmd-text-left" style="max-width: 790px;">
  623.        <img class="quote quote-l" src="https://hackmd.io/images/quote-L.svg">
  624.        <img class="quote quote-r hmd-dn hmd-db-sm" src="https://hackmd.io/images/quote-R.svg">
  625.  
  626.        <p class="hmd-mb-3">
  627.            We&#39;ve looked for ways to make our team discussions and process more visible and accessible to all users. We recently switched from Google Docs to HackMD. HackMD offers a great unified Markdown editor/preview which is familiar and well-suited to our needs. Our meeting records have improved a lot over a short period and as a result we are able to be better accountable to each other as a team.
  628.        </p>
  629.  
  630.        <p class="hmd-text-gray-lighter-2 hmd-text-left">
  631.            <span class="hmd-text-bold">Bryan Van de Ven</span>
  632.            <br>
  633.            <span>Co-creator and Project Lead of Bokeh</span>
  634.        </p>
  635.    </div>
  636. </div>
  637.  
  638.        </div>
  639.  
  640.        <div style="max-width: 960px;" class="hmd-mh-auto hmd-mt-12 hmd-ph-3/2 blog-posts">
  641.            <h2 class="home-heading" style="line-height: 52px;">See how customers use HackMD</h2>
  642.            <div class="hmd-flex hmd-flex-column hmd-flex-row-sm hmd-justify-center">
  643.                <div class="hmd-flex-one hmd-mr-2-sm">
  644.                    <img class="hmd-mw-100 hmd-w-100" src="https://hackmd.io/images/home/blog/k8s.png">
  645.                </div>
  646.  
  647.                <div class="hmd-text-left hmd-flex-one hmd-ml-2-sm">
  648.                    <h3 class="hmd-mt-3 hmd-mt-0-sm blog-title">How I use HackMD in Open Source projects</h3>
  649.  
  650.                    <p class="hmd-text-gray-lightest hmd-mb-3" style="font-size: 16px;">
  651.                        One of the major properties of successful open source projects is their ability to be transparent with their communities.<br>This involves everything from open governance, to values, to technical direction.
  652.                    </p>
  653.  
  654.                    <p class="hmd-text-gray-lighter-2" style="font-size: 16px;">
  655.                        <span class="hmd-text-bold">Jorge O. Castro</span>
  656.                        <br>
  657.                        <span>Kubernetes</span>
  658.                    </p>
  659.  
  660.                    <a target="_blank" href="https://hackmd.io/@hackmd/customer-stories/https%3A%2F%2Fhackmd.io%2F%40hackmd%2Fk8s-story">
  661.                        <button class="btn btn-outline btn-lg btn-gray hmd-mt-3">
  662.                            Learn more
  663.                        </button>
  664.                    </a>
  665.                </div>
  666.            </div>
  667.        </div>
  668.  
  669.    </div>
  670.  
  671.  
  672.  
  673.    <div class="home-container hmd-bg-white">
  674.        <div class="row">
  675.            <h2 class="home-heading text-black-brand">There is a HackMD plan for you</h2>
  676.  
  677.            <div class="text-7 font-semibold flex justify-center items-center mt-12 text-black-brand">
  678.                <span>Billing Cycle: Annual</span>
  679.                <input type="checkbox" class="hidden" id="cycle-toggle-cb" aria-label="payment-cycle">
  680.                <label class="payment-cycle-switch mx-3 bg-white w-8 h-5 border-2 border-black-brand border-solid cursor-pointer" for="cycle-toggle-cb"></label>
  681.                <span>Monthly</span>
  682.            </div>
  683.            <div class="container-fluid hmd-flex hmd-flex-wrap hmd-mt-7">
  684.                <div class="col-xs-12 pricing-card-container hmd-br-sm card-container">
  685.                    <div class="pricing-card hmd-pa-4">
  686.    <div class="container-fluid">
  687.        <div class="col-sm-12 col-xs-12 hmd-pa-0">
  688.            <h3 class="hmd-mt-0 hmd-mb-2">Free</h3>
  689.            <p>Free basic features for<br>working effectively together</p>
  690.  
  691.            <div class="price-info-container hmd-flex hmd-flex-column hmd-justify-start">
  692.                <div class="price">
  693.                    $<span class="number">0</span> USD
  694.                </div>
  695.            </div>
  696.  
  697.            
  698.            <a href="https://hackmd.io/join" class="ui-pricing-join plausible-event-name=HomePlanStartUse btn btn-lg btn-primary btn-outline hmd-mt-3 hmd-w-full hmd-mt-3/2-xs hmd-db hmd-mh-auto">Start using</a>
  699.  
  700.            <ul class="hmd-pl-0 list-dot hmd-mh-1/4 hmd-mt-4 hmd-mt-3/2-xs">
  701.                <li class="hmd-flex">Unlimited notes</li>
  702.                <li class="hmd-flex">3 invitees</li>
  703.                <li class="hmd-flex">3 custom templates</li>
  704.                <li class="hmd-flex">GitHub integration</li>
  705.                <li class="hmd-flex">Customize permalink to your note</li>
  706.            </ul>
  707.        </div>
  708.    </div>
  709. </div>
  710.  
  711.                </div>
  712.  
  713.                <div class="col-xs-12 pricing-card-container">
  714.                    <div class="popular-block">
  715.                        <h4>Most popular</h4>
  716.                        <div class="pricing-card hmd-pa-4">
  717.    <div class="container-fluid">
  718.        <div class="mb-20 col-sm-12 col-xs-12 hmd-pa-0">
  719.            <h3 class="hmd-flex hmd-justify-center hmd-items-center hmd-mt-0 hmd-mb-2">
  720.                <span class="mr-2 hmd-primer-logo"></span>
  721.                Prime
  722.            </h3>
  723.            <p>Shared team space gets<br>everyone on the same page</p>
  724.  
  725.            <div class="price-info-container hmd-flex hmd-flex-column hmd-justify-start">
  726.                <div class="price yearly">
  727.                    $<span class="number">5</span> USD
  728.                    <small class="inline-block top-1 relative text-left">
  729.                        Per user per month<br>(Pay $60 USD yearly to <span class="text-blue-default">save 37.5%</span>)
  730.                    </small>
  731.                </div>
  732.                <div class="price monthly">
  733.                    $<span class="number">8</span> USD
  734.                    <small>Per user per month</small>
  735.                </div>
  736.            </div>
  737.  
  738.            
  739.            
  740.                
  741.                    
  742.                
  743.  
  744.                <a href="https://hackmd.io/join?create-paid-team=true" class="ui-pricing-create-team-plan plausible-event-name=HomePlanUpgrade btn btn-lg btn-primary hmd-mt-3 hmd-w-full hmd-mt-3/2-xs hmd-db hmd-mh-auto">Upgrade</a>
  745.            
  746.  
  747.  
  748.            <ul class="hmd-pl-0 list-dot hmd-mh-1/4 hmd-mt-4 hmd-mt-3/2-xs">
  749.                <li class="hmd-flex arrow-left">Everything in Free, plus</li>
  750.                <li class="hmd-flex">Control permissions for each Team member</li>
  751.                <li class="hmd-flex">Set default note permission</li>
  752.                <li class="hmd-flex">Unlimited invitees</li>
  753.                <li class="hmd-flex">Unlimited custom templates</li>
  754.                <li class="hmd-flex">Dedicated storage for images</li>
  755.                <li class="hmd-flex">Full-text search</li>
  756.            </ul>
  757.        </div>
  758.    </div>
  759.  
  760. </div>
  761.  
  762.                    </div>
  763.                </div>
  764.  
  765.                <div class="col-xs-12 pricing-card-container hmd-br-sm card-container">
  766.                    <div class="pricing-card hmd-pa-4">
  767.    <div class="container-fluid">
  768.        <div class="col-sm-12 col-xs-12 hmd-pa-0">
  769.            <h3 class="hmd-mt-0 hmd-mb-2">Enterprise</h3>
  770.            <p>Single Sign-On integration and<br>role-based access control for businesses</p>
  771.  
  772.            <div class="price-info-container hmd-flex hmd-flex-column hmd-justify-center">
  773.                <a href="https://hackmd.io/enterprise" class="ui-pricing-upgrade-sass btn btn-lg btn-primary btn-outline hmd-mt-3 hmd-w-full hmd-mt-3/2-xs hmd-db hmd-mh-auto">See more</a>
  774.            </div>
  775.  
  776.            <a href="#" data-toggle="modal" data-target=".contact-form-modal" class="ui-pricing-contact-us btn btn-lg btn-primary hmd-mt-3 hmd-w-full hmd-db hmd-mt-25-xs hmd-mh-auto">
  777.                Request for demo
  778.            </a>
  779.  
  780.  
  781.            <ul class="hmd-pl-0 list-dot hmd-mh-1/4 hmd-mt-4 hmd-mt-3/2-xs">
  782.                <li class="hmd-flex arrow-left">Everything in Prime Team, plus</li>
  783.                <li class="hmd-flex">Role-based access control</li>
  784.                <li class="hmd-flex">SSO (SAML/LDAP/customized) login</li>
  785.                <li class="hmd-flex">Custom domain and homepage</li>
  786.                <li class="hmd-flex">GitHub and GitLab integration</li>
  787.                <li class="hmd-flex">Full-text search</li>
  788.                <li class="hmd-flex">Custom payment methods</li>
  789.                <li class="hmd-flex">Dedicated account manager</li>
  790.            </ul>
  791.        </div>
  792.    </div>
  793. </div>
  794.  
  795.                </div>
  796.            </div>
  797.  
  798.            <a class="btn btn-primary btn-lg btn-outline" href="https://hackmd.io/pricing">Read more</a>
  799.        </div>
  800.    </div>
  801.  
  802.  
  803.  
  804.    <div class="container home-container hmd-pv-10-md">
  805.        <div class="row">
  806.            <div class="col-xs-12">
  807.                <p class="h3 hmd-mt-0 hmd-mb-3" style="font-size: 30px;">
  808.                    Join 400,000+ active users! Come and love it ❤️️
  809.                </p>
  810.                <form action="https://hackmd.io/join" class="flex m-auto input-group" method="get" style="max-width: 680px;">
  811.                    <input type="email" name="email" class="form-control ui-home-email" placeholder="Enter your email">
  812.                    <div class="input-group-append">
  813.                        <button type="submit" class="btn btn-success btn-lg ui-home-join plausible-event-name=HomeBtmEmail">Sign-up</button>
  814.                    </div>
  815.                </form>
  816.            </div>
  817.        </div>
  818.    </div>
  819.  
  820.  
  821.  
  822.    <!-- contact form modal -->
  823. <div class="modal fade contact-form-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  824.    <div class="modal-dialog modal-lg">
  825.        <div class="modal-content">
  826.            <div style="height: calc(100vh - 60px);">
  827.                <iframe src="https://airtable.com/embed/shrC8Ow2JkIIf1wzk?backgroundColor=orange" width="100%" height="100%" frameborder="0" marginheight="0" marginwidth="0" style="padding: 3px;">Loading…</iframe>
  828.            </div>
  829.        </div>
  830.    </div>
  831. </div>
  832.  
  833.  
  834.  
  835. <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  836.    const pricingCards = document.querySelectorAll('.home-container .price-info-container')
  837.    document.getElementById('cycle-toggle-cb') && document.getElementById('cycle-toggle-cb').addEventListener('change', (e) => {
  838.        if (e.target.checked) {
  839.            pricingCards.forEach(card => card.classList.add('checked'))
  840.        } else {
  841.            pricingCards.forEach(card => card.classList.remove('checked'))
  842.        }
  843.    })
  844. </script>
  845.  
  846.  
  847.        
  848.    </div>
  849. </div>
  850.  
  851. <!-- delete modal -->
  852. <div class="modal fade delete-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  853.    <div class="modal-dialog modal-sm">
  854.        <div class="modal-content">
  855.            <div class="modal-header">
  856.                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
  857.                </button>
  858.                <h4 class="modal-title" id="myModalLabel">Are you sure?</h4>
  859.            </div>
  860.            <div class="modal-body" style="color:black;">
  861.                <h5 class="ui-delete-modal-msg"></h5>
  862.                <strong class="ui-delete-modal-item"></strong>
  863.            </div>
  864.            <div class="modal-footer">
  865.                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
  866.                <button type="button" class="btn btn-danger ui-delete-modal-confirm">Yes, do it!</button>
  867.            </div>
  868.        </div>
  869.    </div>
  870. </div>
  871. <!-- template notes modal -->
  872. <div class="modal fade template-modal" id="templateModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"  >
  873.    <div class="modal-dialog modal-lg" style="width: calc(100vw - 20px); max-width: 1000px;">
  874.        <div class="modal-content template-content">
  875.            <div class="modal-header">
  876.                <button type="button" class="close ui-template-cancel visible-xs hidden-xs" style="margin-top: 2px !important; font-size: 15px !important; display: none;"><span aria-hidden="true">Cancel</span></button>
  877.                <button type="button" class="close ui-template-close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true"><i class="fa fa-times fa-18"></i></span></button>
  878.                <h4 class="modal-title ui-template-title" id="mySmallModalLabel"><i class="fa fa-file-image-o"></i> <span>Create a note from template</span></h4>
  879.                <h4 class="modal-title visible-xs hidden-xs ui-template-title-xs"><i class="fa fa-file-image-o"></i> <span>Create a note from template</span></h4>
  880.            </div>
  881.            <div class="modal-body" style="padding: 0px; overflow-x: hidden;">
  882.                <div class="row">
  883.                    <div class="col-sm-8 template-preview-container hidden-xs">
  884.                        <div>
  885.                            <div class="ui-template-spinner unselectable hidden-print"></div>
  886.                            <iframe class="template-viewer" style="width: 100%; height: 100%; border: none;"></iframe>
  887.                            <div class="template-empty ui-template-viewer-empty" style="display: none; margin: 0px;">
  888.                                <img src="https://hackmd.io/not-available.svg">
  889.                                <div>
  890.                                    <div>Oops...</div>
  891.                                    <div>This template has been removed or transferred.</div>
  892.                                </div>
  893.                            </div>
  894.                        </div>
  895.                        <button type="button" class="visible-xs btn btn-primary ui-use-template-btn-mobile">Use this template</button>
  896.                    </div>
  897.                    <div class="col-sm-4 template-list-container">
  898.                        <div class="ui-templates-container">
  899.                            <div class="border-0 border-b border-gray-200 border-solid template-button-container hmd-pa-2">
  900.                                
  901.                                    
  902.                                        <button type="button" class="btn btn-success w-full ui-template-sign-in-btn" style="height: 40px; font-size: 16px;" data-toggle="modal" data-target=".signin-modal">
  903.                                            Sign in
  904.                                        </button>
  905.                                    
  906.                                
  907.  
  908.                                <p style="margin-top: 15px; display: none;" class="template-quota-alert">
  909.                                    <span class="template-quota-description" style="color: #777777;"></span>
  910.                                    <br>
  911.                                    <a target="_blank" href="/?nav=billing" class="template-quota-upgrade-now">
  912.                                        Upgrade
  913.                                        <i class="fa fa-fw fa-angle-right" aria-hidden="true"></i>
  914.                                    </a>
  915.                                </p>
  916.                            </div>
  917.  
  918.                            <div class="dropdown ui-template-list-filter" style="margin: 20px;">
  919.                                <a class="ui-template-list-filter-label" id="template-list-filter" data-filter-type="all" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span>All</span><i class="fa fa-angle-down" aria-hidden="true" style="margin-left: 10px;"></i></a>
  920.                                <ul class="dropdown-menu" role="menu" aria-labelledby="template-list-filter" style="right: 0px; left: auto;">
  921.                                    <li role="presentation"><a role="menuitem" class="ui-template-filter-all" tabindex="-1" href="#">All</a></li>
  922.                                    
  923.                                    <li role="presentation"><a role="menuitem" class="ui-template-filter-team" tabindex="-1" href="#">Team</a></li>
  924.                                    
  925.                                </ul>
  926.                            </div>
  927.                            <div class="template-empty ui-template-list-empty">
  928.                                <i class="fa fa-file-image-o" aria-hidden="true"></i>
  929.                                <div>No template.</div>
  930.                            </div>
  931.                            <div class="list-group ui-template-list" style="flex:1;">
  932.                            </div>
  933.                            <button type="button" class="btn btn-primary ui-use-template-btn hidden-xs">Use this template</button>
  934.                        </div>
  935.                    </div>
  936.                </div>
  937.            </div>
  938.        </div>
  939.    </div>
  940. </div>
  941.  
  942. <!-- create template modal -->
  943. <div class="modal fade create-template-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"  >
  944.    <div class="modal-dialog modal-lg" style="width: calc(100vw - 20px); max-width: 860px;">
  945.        <form>
  946.            <div class="modal-content template-content">
  947.                <div class="modal-header">
  948.                    <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-top: 2px; height: 17px;"><span aria-hidden="true"><i class="fa fa-times fa-18"></i></span>
  949.                    </button>
  950.                    <h4 class="modal-title" id="myModalLabel">Create a template</h4>
  951.                </div>
  952.  
  953.                <div class="modal-body hmd-text-center" style="color:black; padding: 20px; padding-bottom: 10px; text-align: left;">
  954.                    <div class="mb-5 template-quota-excceed-block">
  955.                        <span class="template-quota-description" style="color: #777777;"></span>
  956.                        <br>
  957.                        <a target="_blank" href="/?nav=billing" class="template-quota-upgrade-now">
  958.                            Upgrade
  959.                            <i class="fa fa-fw fa-angle-right" aria-hidden="true"></i>
  960.                        </a>
  961.                    </div>
  962.  
  963.  
  964.                    <div class="grid items-center grid-cols-12 form-group mb-7" >
  965.                        <label class="col-span-4 font-normal text-black-brand" for="templateName">Template name</label>
  966.  
  967.                        <input type="text" id="templateName" class="col-span-8 form-control" placeholder="Template name" aria-label="TemplateName" aria-describedby="template-name" maxlength="250" required>
  968.                    </div>
  969.  
  970.                    <div class="grid items-start grid-cols-12 form-group creation-method-option">
  971.                        <label class="col-span-4 font-normal text-black-brand" for="templateName">Save as option</label>
  972.  
  973.                        <div class="col-span-8">
  974.                            <label class="w-full font-normal ui-save-template-directly" for="save-template-directly">
  975.                                <input type="radio" name="save-template" value="save-directly" checked id="save-template-directly">
  976.                                <span class="ml-2">Save this note as a template</span>
  977.                            </label>
  978.  
  979.                            <label class="w-full font-normal ui-save-template-as-another-template" for="save-template-as-another-template">
  980.                                <input type="radio" name="save-template" value="save-as-another-template" id="save-template-as-another-template">
  981.                                <span class="ml-2">Save to another note as a template</span>
  982.                            </label>
  983.                        </div>
  984.                    </div>
  985.  
  986.                </div>
  987.  
  988.                <div class="modal-footer" style="border: none; padding: 20px;">
  989.                    <button type="button" class="btn btn-default" data-dismiss="modal" style="flex:1;">Cancel</button>
  990.                    <button type="submit" class="btn btn-primary ui-create-template-modal-confirm" style="flex:1;">Save</button>
  991.                </div>
  992.            </div>
  993.        </form>
  994.    </div>
  995. </div>
  996.  
  997. <!-- delete template modal -->
  998. <div class="modal fade delete-template-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  999.    <div class="modal-dialog modal-sm">
  1000.        <div class="modal-content template-content">
  1001.            <div class="modal-header">
  1002.                <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-top: 2px; height: 17px;"><span aria-hidden="true"><i class="fa fa-times fa-18"></i></span>
  1003.                </button>
  1004.                <h4 class="modal-title" id="myModalLabel">Delete template</h4>
  1005.            </div>
  1006.            <div class="modal-body hmd-text-center" style="color:black; padding: 14.5px 15px; padding-bottom: 0px; text-align: left;">
  1007.                <p class="ui-delete-modal-msg" style="font-size: 15px;">Do you really want to delete this template?</p>
  1008.                <div class="form-check" style="display: flex;">
  1009.                    <input type="checkbox" class="form-check-input ui-delete-note-check" style="margin-top: 7px;" id="deleteNoteCheck">
  1010.                    <label class="form-check-label" style="margin-top: 3px; margin-left: 5px; font-weight: 400;" for="deleteNoteCheck">
  1011.                        Keep the content
  1012.                        <div style="font-size: 13px; margin-top: 5px; color: #818181; line-height: 18px;">Turn this template into a regular note and keep its content, versions, and comments.</div>
  1013.                    </label>
  1014.                </div>
  1015.            </div>
  1016.            <div class="modal-footer" style="border: none; padding: 20px 15px; display: flex;">
  1017.                <button type="button" class="btn btn-default" data-dismiss="modal" style="flex:1;">Cancel</button>
  1018.                <button type="button" class="btn btn-danger ui-delete-template-modal-confirm" style="flex:1;">Delete</button>
  1019.            </div>
  1020.        </div>
  1021.    </div>
  1022. </div>
  1023.  
  1024. <!-- signin modal -->
  1025.  
  1026. <div class="modal fade signin-modal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  1027.    <div class="modal-dialog">
  1028.        <div class="modal-content">
  1029.            <button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-top: 10px; right: 20px; position: absolute;"><span aria-hidden="true">&times;</span></button>
  1030.            
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.    
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046. <h3>Sign in</h3>
  1047.  
  1048. <form data-toggle="validator" role="form" class="form-horizontal" method="post" enctype="application/x-www-form-urlencoded" id="signin-form">
  1049.    <div class="hmd-dn"><input type="hidden" name="_csrf" value="xxVq6175-mMwkrZCMcoFRx7zZXEZuAt1PgnM"></div>
  1050.    <div class="hmd-dn"><input type="hidden" name="create_team" value="false"></div>
  1051.    <div class="hmd-dn"><input type="hidden" name="create_paid_team" value="false"></div>
  1052.    
  1053.    <div class="form-group  ">
  1054.        <label for="email" class="control-label">Email</label>
  1055.        <label for="inputEmail" class="control-label pull-right errors">
  1056.            
  1057.        </label>
  1058.        <span class="help-block control-label with-errors pull-right" style="display: inline;"></span>
  1059.        <div class="input-block">
  1060.            
  1061.                <input type="email" class="form-control" name="email" placeholder="Your email" required autocomplete="email">
  1062.            
  1063.            <span class="error-sign"></span>
  1064.        </div>
  1065.    </div>
  1066.    <div class="form-group ">
  1067.        <label for="password" class="control-label">Password</label>
  1068.        <label for="inputPassword" class="control-label pull-right errors">
  1069.            
  1070.        </label>
  1071.        <span class="help-block control-label with-errors pull-right" style="display: inline;"></span>
  1072.        <div class="input-block">
  1073.            <input type="password" class="form-control" name="password" placeholder="Your password" required autocomplete="current-password" maxlength="128">
  1074.            <span class="error-sign"></span>
  1075.            
  1076.                <span class="control-label pull-right" style="font-size: 13px; margin-top: 5px;"><a href="https://hackmd.io/settings/forgotPassword" style="text-decoration: underline;">Forgot password</a></span>
  1077.            
  1078.        </div>
  1079.    </div>
  1080.  
  1081.    <div style="text-align: center; padding-top: 15px; margin-bottom: 0px;">
  1082.        <div
  1083.            hidden
  1084.            id="hmd-captcha"
  1085.            data-provider=""
  1086.            data-captcha-data=""
  1087.            class="flex justify-center"
  1088.        ></div>
  1089.  
  1090.        
  1091.            <input type="submit" class="btn btn-success btn-large" formaction="https://hackmd.io/login" value="Sign in">
  1092.        
  1093.  
  1094.        
  1095.    </div>
  1096. </form>
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.    
  1112.        <p class="separator">or</p>
  1113.    
  1114.  
  1115.    
  1116.        <p>By clicking below, you agree to our <a href="https://hackmd.io/s/terms" target="_blank">terms of service</a>.</p>
  1117.    
  1118.  
  1119.    
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132. <script id="gsi-client" src="https://accounts.google.com/gsi/client" async defer nonce="b785e42f-93de-49bf-824b-f0fbaa99265d"></script>
  1133. <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  1134.    function handleCredentialResponse(response) {
  1135.        const form = document.getElementById('sign-in-with-google-form')
  1136.        form.children.credential.value = response.credential
  1137.        form.children.method.value = location.href.toLowerCase() === 'https://hackmd.io/settings#general' ? 'merge' : 'login'
  1138.        form.submit()
  1139.    }
  1140.    var GSI_READY = new Promise(function (resolve) {
  1141.        function initialize () {
  1142.            google.accounts.id.initialize({
  1143.                client_id: '911617723593-drikdibvvn63slfd6kbqigo8ql1no55s.apps.googleusercontent.com',
  1144.                callback: handleCredentialResponse
  1145.            })
  1146.            const loginPath = 'https://hackmd.io/login'
  1147.            const joinPath = 'https://hackmd.io/join'
  1148.            const renderButton = function () {
  1149.                google.accounts.id.renderButton(
  1150.                    document.getElementById('sign-in-with-google-button'),
  1151.                    { type: 'standard', width: 250 }
  1152.                )
  1153.            }
  1154.            if (location.href.toLowerCase() === loginPath || location.href.toLowerCase() === joinPath) {
  1155.                renderButton()
  1156.            } else {
  1157.                $('.signin-modal').one('shown.bs.modal', function () {
  1158.                    renderButton()
  1159.                })
  1160.            }
  1161.            resolve()
  1162.        }
  1163.  
  1164.        window.addEventListener('load', function () { initialize() })
  1165.    })
  1166. </script>
  1167. <form class="hidden" id="sign-in-with-google-form" action="/auth/google" method="post">
  1168.    <input type="hidden" name="credential">
  1169.    <input type="hidden" name="method">
  1170. </form>
  1171.  
  1172.  
  1173. <div class="social-buttons-container">
  1174.    
  1175.    <div id="sign-in-with-google-button"></div>
  1176.    
  1177.    
  1178.    <a href="https://hackmd.io/auth/facebook" class="btn btn-lg btn-block btn-social btn-facebook">
  1179.        <i class="fa fa-facebook"></i> Sign in via Facebook
  1180.    </a>
  1181.    
  1182.    
  1183.    <a href="https://hackmd.io/auth/twitter" class="btn btn-lg btn-block btn-social btn-twitter">
  1184.        <i class="fa fa-twitter"></i> Sign in via Twitter
  1185.    </a>
  1186.    
  1187.    
  1188.    <a href="https://hackmd.io/auth/github" class="btn btn-lg btn-block btn-social btn-github">
  1189.        <i class="fa fa-github"></i> Sign in via GitHub
  1190.    </a>
  1191.    
  1192.    
  1193.    <a href="https://hackmd.io/auth/dropbox" class="btn btn-lg btn-block btn-social btn-dropbox">
  1194.        <i class="fa fa-dropbox"></i> Sign in via Dropbox
  1195.    </a>
  1196.    
  1197.    
  1198.    
  1199.      <a href="#" class="bg-white btn btn-block btn-social btn-web3 bg-gray-800 hocus:bg-[#2b2b2b] text-white hocus:text-white">
  1200.          <img src="https://hackmd.io/images/wallet.svg" style="max-height: 20px; margin-top: 8px; margin-left: 6px; border: none;">
  1201.          <span class="sign-in-wallet-text">
  1202.              Sign in with Wallet
  1203.          </span>
  1204.  
  1205.          <div class="inline-flex items-center justify-between w-full hidden web3-wallet-info">
  1206.              <span>
  1207.                   Wallet
  1208.                   (
  1209.                    <span class="web3-wallet-address"></span>
  1210.                   )
  1211.              </span>
  1212.  
  1213.              <i class="fa fa-arrow-right" aria-hidden="true"></i>
  1214.          </div>
  1215.      </a>
  1216.  
  1217.      <small class="web3-wallet-info hidden text-left hocus:text-white underline hocus:underline block pt-2 ui-disconnect-connected-wallets text-gray-600 cursor-pointer">
  1218.          Connect another wallet
  1219.      </small>
  1220.    
  1221. </div>
  1222.  
  1223.  
  1224.  
  1225.  
  1226.    <div >
  1227.        <p>New to HackMD? <a href="https://hackmd.io/join" class="plausible-event-name=LoginModalSignUp">Sign up</a></p>
  1228.    </div>
  1229.  
  1230.  
  1231.        </div>
  1232.    </div>
  1233. </div>
  1234.  
  1235. <!-- feedback modal -->
  1236. <div class="modal fade feedback-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  1237.  <div class='modal-dialog modal-lg' role='document'>
  1238.    <div class='modal-content'>
  1239.      <div class='modal-header' style="padding: 8px 15px; font-weight: 700">
  1240.        <button type='button' class='close' aria-label='Close' style="font-size: 26px; margin-top: -1px;" data-dismiss="modal">
  1241.          <span aria-hidden='true'>&times;</span>
  1242.        </button>
  1243.        <h4 class='modal-title'>Feedback</h4>
  1244.      </div>
  1245.      <div class='modal-body' style="text-align: left;">
  1246.        <div class='alert alert-danger' style="display: none;">
  1247.          <i class='fa fa-exclamation-triangle' aria-hidden='true' style="margin-right: 5px"></i>
  1248.          Submission failed, please try again
  1249.        </div>
  1250.        <h3 style="margin-top:5px">Thanks for your support.</h3>
  1251.        <p>On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?</p>
  1252.        <div class="rating-group" style="margin-top: 15px; margin-bottom: 30px;"></div>
  1253.        <p style="font-size:16px">Please give us some advice and help us improve HackMD.</p>
  1254.        <form role='form' data-toggle='validator'>
  1255.          <div class='form-group' style="margin-bottom: 10px;">
  1256.            <textarea name='feedback' class='form-control' placeholder="Enter your feedback" rows="3" style="resize: none;" required></textarea>
  1257.          </div>
  1258.          <div class='checkbox' style="font-size:16px">
  1259.            <label>
  1260.              <input name='engage' type='checkbox' checked />
  1261.              I’m willing to participate in user experience research or beta testing so HackMD could build things I want.
  1262.            </label>
  1263.          </div>
  1264.          <div class='form-group hmd-flex hmd-items-center' style="font-size: 16px; padding-left: 20px;">
  1265.            <label style="font-weight: normal;">My Email:</label>
  1266.            &nbsp;
  1267.            <div class='hmd-flex-auto hmd-pr-0'>
  1268.              <input type='email' name='email' class='form-control col-sm-9' aria-describedby='helpId' placeholder="Email address" required />
  1269.            </div>
  1270.          </div>
  1271.          <div class='modal-footer' style="padding: 15px 0; border: none;">
  1272.            <button type='button' class='btn btn-default' data-dismiss="modal">Cancel</button>
  1273.            <button type='submit' class='btn btn-primary ui-feedback-submit'>Submit</button>
  1274.          </div>
  1275.        </form>
  1276.      </div>
  1277.    </div>
  1278.  </div>
  1279. </div>
  1280.  
  1281. <!-- feedback success modal -->
  1282. <div class="modal fade feedback-success-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  1283.  <div class='modal-dialog modal-sm' role='document'>
  1284.    <div class='modal-content'>
  1285.      <div class='modal-body' style="padding: 50px 20px; text-align: center;">
  1286.        <img src="/images/feedback.svg" width="85" height="95" />
  1287.        <h4>Thanks for your feedback</h4>
  1288.      </div>
  1289.    </div>
  1290.  </div>
  1291. </div>
  1292.  
  1293. <!-- message modal -->
  1294. <div class="modal fade message-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  1295.  <div class="modal-dialog modal-sm">
  1296.      <div class="modal-content">
  1297.          <div class="modal-header">
  1298.              <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
  1299.              </button>
  1300.              <h4 class="modal-title" id="myModalLabel"></h4>
  1301.          </div>
  1302.          <div class="modal-body" style="color:black;">
  1303.              <img>
  1304.              <h5 style="font-weight: 600; font-size: 18px;"></h5>
  1305.              <p></p>
  1306.              <a target="_blank" style="word-break: break-all;" rel="noopener"></a>
  1307.          </div>
  1308.          <div class="modal-footer">
  1309.              <button type="button" class="btn btn-default" data-dismiss="modal">OK</button>
  1310.          </div>
  1311.      </div>
  1312.  </div>
  1313. </div>
  1314.  
  1315. <!-- create team modal -->
  1316. <div class="modal fade create-team-modal" id="createTeamModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  1317.    <div class="modal-dialog modal-lg">
  1318.        <div class="modal-content">
  1319.            <div class="modal-header" style="background-color: #f8f8f8; border-top-left-radius: 5px;
  1320.            border-top-right-radius: 4px;">
  1321.                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
  1322.                </button>
  1323.  
  1324.                <h4 class="modal-title" id="myModalLabel">
  1325.                    Create team
  1326.                </h4>
  1327.            </div>
  1328.            <div class="modal-body">
  1329.                <div class="alert alert-danger hmd-text-left" style="display: none;">
  1330.                    <i class="fa fa-fw fa-exclamation-triangle" aria-hidden="true"></i>
  1331.                    <span class="team-create-error"></span>
  1332.                </div>
  1333.  
  1334.                <form data-toggle="validator">
  1335.                    <div class="form-group hmd-flex hmd-items-center">
  1336.                        <label class="hmd-flex-one hmd-text-left" for="team-name">Team Name</label>
  1337.                        <input type="text" class="form-control hmd-flex-two" name="name" id="team-name" placeholder="settings.team-name-placeholder" data-minlength="1" maxlength="80" required>
  1338.                    </div>
  1339.  
  1340.                    <div class="form-group hmd-flex hmd-items-center">
  1341.                        <label class="hmd-flex-one hmd-text-left" for="team-description">Team Description</label>
  1342.                        <input type="text" class="form-control hmd-flex-two" name="description" id="team-description" placeholder="Your team description" maxlength="100">
  1343.                    </div>
  1344.  
  1345.                    <div class="form-group hmd-flex hmd-items-center">
  1346.                        <label class="hmd-flex-one hmd-text-left" for="team-path">Team URL Path</label>
  1347.                        <div class="hmd-flex hmd-flex-column hmd-flex-two">
  1348.                            <div class="hmd-flex hmd-items-center">
  1349.                                <span class="hmd-mr-1">https://hackmd.io/team/</span>
  1350.                                <input type="text" class="form-control" name="path" id="team-path" placeholder="Your team URL path" pattern="^(?!-)[a-zA-Z0-9\-]+$" data-minlength="1" maxlength="39" required>
  1351.                            </div>
  1352.                            <small style="text-align: right; color: #888888;">Allow a-Z, 0-9 and dash not at beginning.</small>
  1353.                        </div>
  1354.                    </div>
  1355.  
  1356.                    <div class="modal-footer hmd-pa-0" style="border: none;">
  1357.                        <button type="button" data-dismiss="modal" class="btn btn-default" >Cancel</button>
  1358.                        <button type="submit" class="btn btn-primary">Create team</button>
  1359.                    </div>
  1360.                </form>
  1361.            </div>
  1362.  
  1363.        </div>
  1364.    </div>
  1365. </div>
  1366.  
  1367.  
  1368.  
  1369.    
  1370.    <footer class="hmd-bg-gray-darkest hmd-text-left hmd-pv-4">
  1371.    <div class="container-thin">
  1372.        <div class="row">
  1373.            <div class="col-xs-12">
  1374.                <div class="row hmd-mb-1">
  1375.                    <div class="col-xs-12 col-sm-6 col-md-3 hmd-ph-2 hmd-mb-3 hmd-mb-0-md">
  1376.                        <h4 class="hmd-mt-0 hmd-pb-1/4">Tutorial</h4>
  1377.  
  1378.                        <ul class="list-unstyled">
  1379.                            <li class="hmd-pv-1/4">
  1380.                                <a href="https://hackmd.io/c/tutorials/%2Fs%2Ffeatures" class="hmd-text-gray-lighter">
  1381.                                    Features
  1382.                                </a>
  1383.                            </li>
  1384.                            <li class="hmd-pv-1/4">
  1385.                                <a href="https://hackmd.io/c/tutorials" class="hmd-text-gray-lighter">
  1386.                                    Tutorials book
  1387.                                </a>
  1388.                            </li>
  1389.                        </ul>
  1390.                    </div>
  1391.                    <div class="col-xs-12 col-sm-6 col-md-3 hmd-ph-2 hmd-mb-3 hmd-mb-0-md">
  1392.                        <h4 class="hmd-mt-0 hmd-pb-1/4">Resources</h4>
  1393.  
  1394.                        <ul class="list-unstyled">
  1395.                            <li class="hmd-pv-1/4">
  1396.                                <a href="https://hackmd.io/pricing" class="hmd-text-gray-lighter">
  1397.                                    Pricing
  1398.                                </a>
  1399.                            </li>
  1400.                            <li class="hmd-pv-1/4">
  1401.                                <a href="https://hackmd.io/s/release-notes" class="hmd-text-gray-lighter">
  1402.                                    Releases
  1403.                                </a>
  1404.                            </li>
  1405.                            <li class="hmd-pv-1/4">
  1406.                                <a href="https://blog.hackmd.io" class="hmd-text-gray-lighter" target="_blank" rel="noreferrer noopener">
  1407.                                    Blog
  1408.                                </a>
  1409.                            </li>
  1410.                        </ul>
  1411.                    </div>
  1412.                    <div class="col-xs-12 col-sm-6 col-md-3 hmd-ph-2 hmd-mb-3 hmd-mb-0-md">
  1413.                        <h4 class="hmd-mt-0 hmd-pb-1/4">Policy</h4>
  1414.  
  1415.                        <ul class="list-unstyled">
  1416.                            <li class="hmd-pv-1/4">
  1417.                                <a href="https://hackmd.io/s/terms" target="_blank" class="hmd-text-gray-lighter">
  1418.                                    Terms
  1419.                                </a>
  1420.                            </li>
  1421.                            <li class="hmd-pv-1/4">
  1422.                                <a href="https://hackmd.io/s/privacy" target="_blank" class="hmd-text-gray-lighter">
  1423.                                    Privacy
  1424.                                </a>
  1425.                            </li>
  1426.                        </ul>
  1427.                    </div>
  1428.                    <div class="col-xs-12 col-sm-6 col-md-3 hmd-ph-2 hmd-mb-3 hmd-mb-0-md">
  1429.                        <h4 class="hmd-mt-0 hmd-pb-1/4">Contact us</h4>
  1430.  
  1431.                        <ul class="list-unstyled">
  1432.                            <li class="hmd-pv-1/4 inline-flex items-center">
  1433.                                <i class="fa fa-fw fa-envelope hmd-text-gray-lighter"></i>
  1434.                                <button
  1435.                                    class="ui-view-email-address hmd-text-gray-lighter"
  1436.                                    data-email="c3VwcG9ydEBoYWNrbWQuaW8="
  1437.                                >
  1438.                                    View email address
  1439.                                </button>
  1440.                            </li>
  1441.                            <li class="hmd-pv-1/4">
  1442.                                <a href="https://facebook.com/hackmdio" class="hmd-text-gray-lighter" target="_blank">
  1443.                                    <i class="fa fa-fw fa-facebook-square"></i> HackMD
  1444.                                </a>
  1445.                            </li>
  1446.                            <li class="hmd-pv-1/4">
  1447.                                <a href="https://twitter.com/hackmdio" class="hmd-text-gray-lighter" target="_blank">
  1448.                                    <i class="fa fa-fw fa-twitter"></i> @hackmdio
  1449.                                </a>
  1450.                            </li>
  1451.                            <li class="hmd-pv-1/4">
  1452.                                <a href="https://discord.gg/yDw3AJbmwx" class="hmd-text-gray-lighter" target="_blank">
  1453.                                    <svg style="margin-bottom: -2px" xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 640 512"><path fill='currentColor' d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"/></svg>
  1454.                                    Join Discord
  1455.                                </a>
  1456.                            </li>
  1457.                        </ul>
  1458.                    </div>
  1459.                </div>
  1460.            </div>
  1461.        </div> <!-- /.row -->
  1462.  
  1463.        <hr class="hmd-w-100" style="border-color: #6D6D6D;">
  1464.  
  1465.        <div class="row">
  1466.            <div class="col-xs-12 col-sm-6 hmd-flex hmd-items-center">
  1467.                <span class="ui-brand hmd-pr-1">
  1468.                    &copy; 2024 HackMD. All Rights Reserved.
  1469.                </span>
  1470.            </div>
  1471.  
  1472.            <div class="col-xs-12 col-sm-6 hmd-flex hmd-justify-start-xs hmd-justify-end-sm hmd-flex-row-sm hmd-flex-column-xs hmd-items-start-xs hmd-items-center-sm">
  1473.                <select title="Language" class="ui-locale">
  1474.                    <option value="en">English</option>
  1475.                    <option value="zh">中文</option>
  1476.                    <option value="fr">Français</option>
  1477.                    <option value="de">Deutsch</option>
  1478.                    <option value="ja">日本語</option>
  1479.                    <option value="es">Español</option>
  1480.                    <option value="ca">Català</option>
  1481.                    <option value="el">Ελληνικά</option>
  1482.                    <option value="pt">Português</option>
  1483.                    <option value="it">italiano</option>
  1484.                    <option value="tr">Türkçe</option>
  1485.                    <option value="ru">Русский</option>
  1486.                    <option value="nl">Nederlands</option>
  1487.                    <option value="hr">hrvatski jezik</option>
  1488.                    <option value="pl">język polski</option>
  1489.                    <option value="uk">Українська</option>
  1490.                    <option value="hi">हिन्दी</option>
  1491.                    <option value="sv">svenska</option>
  1492.                    <option value="eo">Esperanto</option>
  1493.                    <option value="da">dansk</option>
  1494.                </select>
  1495.            </div>
  1496.        </div>  <!-- /.row -->
  1497.    </div> <!-- /.container-thin -->
  1498.    <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  1499.  ;(function () {
  1500.    document.querySelectorAll('.ui-view-email-address').forEach((el) => {
  1501.      el.addEventListener('click', (e) => {
  1502.        e.preventDefault()
  1503.        el.textContent = ''
  1504.        const spinnerEl = document.createElement('span')
  1505.        spinnerEl.classList.add('spinner')
  1506.        spinnerEl.style.backgroundImage = `url(${window.ASSET_URL}/spinner.svg)`
  1507.        el.appendChild(spinnerEl)
  1508.  
  1509.        setTimeout(() => {
  1510.          const email = atob(el.getAttribute('data-email'))
  1511.          const link = document.createElement('a')
  1512.          link.className = el.className
  1513.          link.textContent = email
  1514.          link.href = `mailto:${email}`
  1515.          el.insertAdjacentElement('afterend', link)
  1516.          el.remove()
  1517.        }, 2000)
  1518.      })
  1519.    })
  1520.  })()
  1521. </script>
  1522.  
  1523. </footer>
  1524.  
  1525.  
  1526.  
  1527.    <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  1528. var announcement = document.getElementsByClassName('announcement');
  1529. if (announcement.length > 0 && (announcement = announcement[0])) {
  1530.    var name = announcement.getAttribute('name');
  1531.    var readName = (document.cookie.match('(^|; )announcement=([^;]*)')||0)[2];
  1532.    if (name !== readName) {
  1533.        announcement.style.display = 'block';
  1534.        var paddingTop = announcement.offsetHeight > 40 ? announcement.offsetHeight : 40;
  1535.        var container = document.getElementsByClassName('site-wrapper');
  1536.        if (container.length > 0 && (container = container[0])) {
  1537.            container.style.paddingTop = paddingTop + 'px';
  1538.        }
  1539.    }
  1540. }
  1541. </script>
  1542.  
  1543.    <script src="https://www.googletagmanager.com/gtag/js?id=UA-60728495-1"></script>
  1544.    <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">
  1545.        window.dataLayer = window.dataLayer || [];
  1546.        function gtag(){dataLayer.push(arguments);}
  1547.        gtag('js', new Date());
  1548.        let userid = (document.cookie.match('(^|; )userid=([^;]*)')||0)[2];
  1549.        gtag('config', 'UA-60728495-1', {'user_id': userid});
  1550.        
  1551.    </script>
  1552.  
  1553.  
  1554.  
  1555. <script src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js" crossorigin="anonymous"></script>
  1556. <script nonce="b785e42f-93de-49bf-824b-f0fbaa99265d">Sentry.init({ dsn: 'https://73410f1915d84abc8b2dd1f1aabd1c82@sentry.hackmd.dev/4', environment: 'production', integrations: function (intrus) { return intrus.filter(function (itr) { return itr.name !== 'TryCatch' }) } });</script>
  1557.  
  1558.  
  1559.  
  1560. <!-- Google Tag Manager (noscript) -->
  1561. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KLW9Z3"
  1562. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  1563. <!-- End Google Tag Manager (noscript) -->
  1564.  
  1565.  
  1566. <script src="https://hackmd.io/api/i18n.js"></script>
  1567. <script src="https://assets.hackmd.io/build/font-vendor.20350cc4e37635143259.js" defer="defer"></script><script src="https://assets.hackmd.io/build/common-vendor.f59a8489b8ce2d49b975.js" defer="defer"></script><script src="https://assets.hackmd.io/build/cover-vendor.af717da25948e2213a85.js" defer="defer"></script><script src="https://assets.hackmd.io/build/cover-common.ca85b8e85b99563864b2.js" defer="defer"></script><script src="https://assets.hackmd.io/build/cover.a81e18a776e5a29a9bd7.js" defer="defer"></script>
  1568.  
  1569.  
  1570.    
  1571.        <script type="application/ld+json">
  1572. {
  1573.  "@context": "https://schema.org",
  1574.  "@type": "Organization",
  1575.  "url": "https://hackmd.io",
  1576.  "name": "HackMD",
  1577.  "description": "Best way to write and share your knowledge in markdown.",
  1578.  "publishingPrinciples": "https://hackmd.io/s/terms",
  1579.  "logo": {
  1580.    "@type": "ImageObject",
  1581.    "url": "https://hackmd.io/hackmd-icon-1024.png"
  1582.  },
  1583.  "sameAs": [
  1584.    "https://www.facebook.com/hackmdio",
  1585.    "https://twitter.com/hackmdio",
  1586.    "https://www.linkedin.com/company/hackmd/",
  1587.    "https://www.producthunt.com/posts/hackmd-4",
  1588.    "https://www.g2.com/products/hackmd"
  1589.  ]
  1590. }
  1591. </script>
  1592.  
  1593.    
  1594. </body>
  1595.  
  1596. </html>
  1597.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda