DML code your site or web app intirely in Javascript
Tags: dml
Published: 2021-07-29 06:34:39

I wrote a previous on BEADS language, although promising, being not open sourced is a pity.

So I present you an alternative [DML](https://github.com/efpage/DML), which does not necessitate any compiler as it's pure Javascript.

The idea of writing all an app in pure Javascript attracts me a lot.

Give an eye on the official site, Eckehard, the creator is a very nice guy.


[Teaser](https://flems.io/#0=N4IgtglgJlA2CmIBcA2AzAOjQFgDQgGd4EBjAF3imRAwAsyxYR8CSAnAe1iaQG0AGXPwC6+AGYQEBZL1AA7AIZhESGvUbMQJDnIq7qAHTkAedbAAEsBXIDmAXgMgo8RwD4jR0-AVR3c8+bGymQK5iS0CmxEZA4gAK5kYgC0ABxuRgHGZBBkCK7ZufDGAPQFeRmBwaGKyrEAbhDwAO4ADhxsZI5hOnoxjk3QZLR2zg0k8EkDUEO45hByORAKsEmsy-B2AIwY-On+gaxsEC1k5gRsJLH0ZC0ESMXF8GItCjbwGM7FACIAsgAy33+AH1aBxlC83sVYBAAEaAv5JSByDAAKwIbhKh2OZD8JVo3l8HhMMI4UAAnn5ArRNpSAr8-mclC0EOYxJwwOYAKIkADW8AibCgFTxNIypgATK4AMKwDi88yRDhxORQcxDeBhWXysg6CA2egYQ14yXCqAQOpzKCxEhannokBnMhkhCxEmC+BsJDmcUtAAeZy40HMMKsvIA3OYXjB5jYvZt+H6I2aCMyFGSvSTfWGMcUzXVKcLaJKvvAwBxzABlYjwcgAIQURECxSLtOFWJOtICCFOTTYChamfMdkt5oAFI5HLh+oNaEh4-wAKRhii+shJZZ6uRIca6D1ht3OT0+-0EQOqkMKXmOACU2f2ASIpDI9aIo97-cz14qAQCMLYo9vcxigAKgDZQzhecZzB0NUOBacxgOKb8fxhBIdTkcdCFBJobwwHQbQgXlhwAodXGDDACCdBAPggFMrDJIdzEceZoTkCYQzlHlHAjZDf3-cVb14yx4FOGFGOgMcJ2YadplncV+ATLNHAAaiBT8IxAsI2G8CgFWDDh-UQoTHxrZ8G3gUcYUAzTjCSJJWXZcx8W02Z2B0jV5gIaANUHIz7x-LsRKcxjaDQTCABVaFouYCD02sDJvO8AoClojl0CL4EotV4FXJjmAAVkAv8AKS5LfzQnRMKi5xcPw6EiIAuwyJhCiqPeZNUwY4dHDkHQXBAUqyuKgTBp-ZUTLrcySqA0C7LIiQFgIWhXJ6eY4g1JUyC85wEKQ-y+NHTZAJaDLcoUMQKDYNV8X030b2Q8bq0m19BLkYVinbHFPGKElyT8b6zFcTQJuyHRpFUTYUiQcUQAAX1weQlBUGg0U0bRd30VQjAecxIo1G1OM1Bt0TkG1ifMIEwDJGVCfMYAKnRyi2Dich2lHLyAC8NnnWYFDIMgjisunkOQoZaIoiAucYzmXH8xnThIf1hxl4pxVcrqzkl+BVYjIDinMAAlHwIDiEmyu-bsAgJ3lKOdDViJl69SPMAADISpiGJAABJgBl2G-SE-E9Xob3fa1-2lP2-T3U9AB2P0A2hVUAGJxRSNO04jGFLx5GxOGVKAvWT-KUhLkvRt-dpDySPszVNr18sXCMwEiGx5jjRSK9u1YIigDgmi9ISAqSbAE5HhP4wTtgbGz0cUFj3B58Xhf+AwQrZiHn9PKC0f-V38xJ-9afZ8EU+hDX68pyjgLt9Ocf-Xvg-FPMY+FDnhel6X1f16Y6+f33-eh8X4zzfmfU+WBXoBTdm9fyYsCAYGzo2ZWEk6iYUnJqTitsEDsy1k7ZSCp+aCy-P5S2JBGJwIwCQawdQGyMSoXIGhBBxRfFHMAcwHtZyRl9KOcUCEwi+kvk5eAwcyBej9DwvhJAyRO1hsQ5CJBKFkF9BgVi8ApT9kYo4fOKoJz+Uek+F8Fk5H+RxgABQUPMU41gyRi1sC-Y2yxkJiGVOQCAMFsi8lHNoWUbBZgcN5rYBAswEC2BmHMOQbE2AhJsEMRi-Anb0yjs40moN-CwAIKOaJQwEkvxEnENgaT4ChNoHwn4fNaASwwtYGwLJ9aQ1XvwUp5SMCmIAJIyKEsk1xMFYAkEyUUmJtAcnaTIPk-wSQsklNAmUoYlCOAZOqbUg+KQGlNNmW0jpUcFHRD+PMeA4UyQtAsv47oPjiFlQUaorx-p8HpNHPMSJkzBFSPMLcvpDyPRPNcjcywGSvlhAYm8-pxTrznJ-LDIkAUcZfD7E0DBV5-JdNSeYKAsKaaeISUJBRNpvD-jBVC-WMKFBwo8XaTp7RzD9NOBAOJEYaXGHMGgFA-A6WvOHGgeJm8IBiEpfc8wC5zAAE54lDmHCK0lmFk6bCgGIfK4oxDoPyrMCAswZbAVXtgJVmsubqowNgTlf9iCNglY4ZOMIoDmpIDCdBaBlWzG1fAXVmrVVaydWgYxZUcaouJU5awUAzbJUtqcYcbE4VfD5kY3WOM3inGyMoISJqQDJxQJsc6YgFXMHMFqsgGAY0AAklRRBIqBDlLqdWr3FIVAIONQT5ITYRHkkrY6pvTRm2Yas1S5pEj8NaFAMlO1AigMtjrV5oCrXrcwSJ62eNNfAeAsdBWpvQR2nNMaqzo39cW8wQ6HVOoEtW-WJMhJerYE0UIO5LpYooiJAAYpIWAFY2qSuwFAbAMJ0D3S2ZQiAFxsGK3VrMeMsw2ESG4F6AW61zCyOQhC-y3qmjosbfis4IlWm7jYDQ2Ao54OIcAwpA1ARYOwaMEitx-gqaIdHCEaeIlh2MU2I3XmhDYQ5IqCDQxVHW4iTBaQxioaKYUdtDgrmTGBYsYqPo0yHHXrEbkIJziXjbQEGIcDJ6qTwYgGZUgfgSQtObFjnDBGIAajI0oQQaQ+B0a9GoHDYQsMgA) :

```html

<html lang="de">

<head>
  <meta charset="utf-8">
  <title>title</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="https://efpage.de/DML/DML_homepage/lib/DML-min.js"></script>
</head>

<body>
 <h1>
   DML sample from Eckehard
  </h1>
 <h2>Clock around the clock tonight...</h2>
  <div id="clocks" style="border: 2px solid black; padding: 10px; display: box;"></div>
 
  <h2>Demo SelectBase </h2>
  
 <div id="box" style="text-align:center;border: 2px solid black; padding: 10px; display: box;margin-top:10px"></div>

  <script>
    selectBase(box)
      br(); /* some space on top */
      button("show").onclick= () => b.style.display = "inline-block"; 
      br(2);
      let b = idiv("","width:200px;"+_box); /* create a box */
      selectBase(b); /* <-- from here, create inside box */
        let h = h3("This is a Box");
        print("Test text ",5); br();
        button("hide").onclick=()=> b.style.display = "none";
        br(2);
      unselectBase(); /* --> finish, continue outside */
      br(1); p("Text after the box")
    unselectBase();

  </script>
</body>

</html>
```