CoolFace
Datasetpublic

SALT-NLP/Design2Code-HARD

This dataset consists of 80 extra difficult webpages from Github Pages, which challenges SoTA multimodal LLMs on converting visual designs into code implementations. Each example is a pair of source HTML and screenshot ({id}.html and {id}.png). See the "easy" version of the Design2Code testset here Note that all images in these webpages are replaced by a placeholder image (rick.jpg) Please refer to our project page and our paper for more information.

sourceHugging Faceodc-byupdated 2y agoView on Hugging Face
6likes379downloads
g31.html194 linesDownload Raw Back to root
1<!DOCTYPE html>2<html lang="en-US">3 <head>4  <style>5   .highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .cm{color:#777772;font-style:italic}.highlight .cp{color:#797676;font-weight:bold}.highlight .c1{color:#777772;font-style:italic}.highlight .cs{color:#797676;font-weight:bold;font-style:italic}.highlight .c,.highlight .cd{color:#777772;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .gd{color:#000000;background-color:#ffdddd}.highlight .ge{color:#000000;font-style:italic}.highlight .gr{color:#aa0000}.highlight .gh{color:#797676}.highlight .gi{color:#000000;background-color:#ddffdd}.highlight .go{color:#888888}.highlight .gp{color:#555555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaaaaa}.highlight .gt{color:#aa0000}.highlight .kc{color:#000000;font-weight:bold}.highlight .kd{color:#000000;font-weight:bold}.highlight .kn{color:#000000;font-weight:bold}.highlight .kp{color:#000000;font-weight:bold}.highlight .kr{color:#000000;font-weight:bold}.highlight .kt{color:#445588;font-weight:bold}.highlight .k,.highlight .kv{color:#000000;font-weight:bold}.highlight .mf{color:#009999}.highlight .mh{color:#009999}.highlight .il{color:#009999}.highlight .mi{color:#009999}.highlight .mo{color:#009999}.highlight .m,.highlight .mb,.highlight .mx{color:#009999}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .s{color:#d14}.highlight .na{color:#008080}.highlight .bp{color:#797676}.highlight .nb{color:#0086B3}.highlight .nc{color:#445588;font-weight:bold}.highlight .no{color:#008080}.highlight .nd{color:#3c5d5d;font-weight:bold}.highlight .ni{color:#800080}.highlight .ne{color:#990000;font-weight:bold}.highlight .nf{color:#990000;font-weight:bold}.highlight .nl{color:#990000;font-weight:bold}.highlight .nn{color:#555555}.highlight .nt{color:#000080}.highlight .vc{color:#008080}.highlight .vg{color:#008080}.highlight .vi{color:#008080}.highlight .nv{color:#008080}.highlight .ow{color:#000000;font-weight:bold}.highlight .o{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight{background-color:#f8f8f8}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}body{box-sizing:border-box;color:#373737;background:#212121;font-size:16px;font-family:'Myriad Pro', Calibri, Helvetica, Arial, sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{margin:10px 0;font-weight:700;color:#222222;font-family:'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif;letter-spacing:-1px}h1{font-size:36px;font-weight:700}h2{padding-bottom:10px;font-size:32px;background:url("../images/bg_hr.png") repeat-x bottom}h3{font-size:24px}h4{font-size:21px}h5{font-size:18px}h6{font-size:16px}p{margin:10px 0 15px 0}footer p{color:#f2f2f2}a{text-decoration:none;color:#0F79D0;text-shadow:none;transition:color 0.5s ease;transition:text-shadow 0.5s ease;-webkit-transition:color 0.5s ease;-webkit-transition:text-shadow 0.5s ease;-moz-transition:color 0.5s ease;-moz-transition:text-shadow 0.5s ease;-o-transition:color 0.5s ease;-o-transition:text-shadow 0.5s ease;-ms-transition:color 0.5s ease;-ms-transition:text-shadow 0.5s ease}a:hover,a:focus{text-decoration:underline}footer a{color:#F2F2F2;text-decoration:underline}em,cite{font-style:italic}strong{font-weight:bold}img{position:relative;margin:0 auto;max-width:739px;padding:5px;margin:10px 0 10px 0;border:1px solid #ebebeb;box-shadow:0 0 5px #ebebeb;-webkit-box-shadow:0 0 5px #ebebeb;-moz-box-shadow:0 0 5px #ebebeb;-o-box-shadow:0 0 5px #ebebeb;-ms-box-shadow:0 0 5px #ebebeb}p img{display:inline;margin:0;padding:0;vertical-align:middle;text-align:center;border:none}pre,code{color:#222;background-color:#fff;font-family:Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;font-size:14px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px}pre{padding:10px;box-shadow:0 0 10px rgba(0,0,0,0.1);overflow:auto}code{padding:3px;margin:0 3px;box-shadow:0 0 10px rgba(0,0,0,0.1)}pre code{display:block;box-shadow:none}blockquote{color:#666;margin-bottom:20px;padding:0 0 0 20px;border-left:3px solid #bbb}ul,ol,dl{margin-bottom:15px}ul{list-style-position:inside;list-style:disc;padding-left:20px}ol{list-style-position:inside;list-style:decimal;padding-left:20px}dl dt{font-weight:bold}dl dd{padding-left:20px;font-style:italic}dl p{padding-left:20px;font-style:italic}hr{height:1px;margin-bottom:5px;border:none;background:url("../images/bg_hr.png") repeat-x center}table{border:1px solid #373737;margin-bottom:20px;text-align:left}th{font-family:'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;padding:10px;background:#373737;color:#fff}td{padding:10px;border:1px solid #373737}form{background:#f2f2f2;padding:20px}.outer{width:100%}.inner{position:relative;max-width:640px;padding:20px 10px;margin:0 auto}#forkme_banner{display:block;position:absolute;top:0;right:10px;z-index:10;padding:10px 50px 10px 10px;color:#fff;background:url("../images/blacktocat.png") #0090ff no-repeat 95% 50%;font-weight:700;box-shadow:0 0 10px rgba(0,0,0,0.5);border-bottom-left-radius:2px;border-bottom-right-radius:2px}#header_wrap{background:#212121;background:-moz-linear-gradient(top, #373737, #212121);background:-webkit-linear-gradient(top, #373737, #212121);background:-ms-linear-gradient(top, #373737, #212121);background:-o-linear-gradient(top, #373737, #212121);background:linear-gradient(to top, #373737, #212121)}#header_wrap .inner{padding:50px 10px 30px 10px}#project_title{margin:0;color:#fff;font-size:42px;font-weight:700;text-shadow:#111 0px 0px 10px}#project_tagline{color:#fff;font-size:24px;font-weight:300;background:none;text-shadow:#111 0px 0px 10px}#downloads{position:absolute;width:210px;z-index:10;bottom:-40px;right:0;height:70px;background:url("../images/icon_download.png") no-repeat 0% 90%}.zip_download_link{display:block;float:right;width:90px;height:70px;text-indent:-5000px;overflow:hidden;background:url(../images/sprite_download.png) no-repeat bottom left}.tar_download_link{display:block;float:right;width:90px;height:70px;text-indent:-5000px;overflow:hidden;background:url(../images/sprite_download.png) no-repeat bottom right;margin-left:10px}.zip_download_link:hover{background:url(../images/sprite_download.png) no-repeat top left}.tar_download_link:hover{background:url(../images/sprite_download.png) no-repeat top right}#main_content_wrap{background:#f2f2f2;border-top:1px solid #111;border-bottom:1px solid #111}#main_content{padding-top:40px}#footer_wrap{background:#212121}@media screen and (max-width: 992px){img{max-width:100%}}@media screen and (max-width: 480px){body{font-size:14px}#downloads{display:none}.inner{min-width:320px;max-width:480px}#project_title{font-size:32px}h1{font-size:28px}h2{font-size:24px}h3{font-size:21px}h4{font-size:18px}h5{font-size:14px}h6{font-size:12px}code,pre{font-size:11px}}@media screen and (max-width: 320px){body{font-size:14px}#downloads{display:none}.inner{min-width:240px;max-width:320px}#project_title{font-size:28px}h1{font-size:24px}h2{font-size:21px}h3{font-size:18px}h4{font-size:16px}h5{font-size:14px}h6{font-size:12px}code,pre{min-width:240px;max-width:320px;font-size:11px}}6  </style>7  <meta charset="utf-8">8  <meta content="IE=edge" http-equiv="X-UA-Compatible">9  <meta content="width=device-width,maximum-scale=2" name="viewport">10  <!-- Begin Jekyll SEO tag v2.7.1 -->11  <title>12   Gas Gauge | [URL Redacted]13  </title>14  <meta content="Jekyll v3.9.0" name="generator">15  <meta content="Gas Gauge" property="og:title">16  <meta content="en_US" property="og:locale">17  <meta content="This is the official website for Gas Gauge: A Security Analysis Tool for Smart Contract Out-of-Gas Vulnerabilities" name="description">18  <meta content="This is the official website for Gas Gauge: A Security Analysis Tool for Smart Contract Out-of-Gas Vulnerabilities" property="og:description">19  <meta content="" property="og:url">20  <meta content="[URL Redacted]" property="og:site_name">21  <meta content="summary" name="twitter:card">22  <meta content="Gas Gauge" property="twitter:title">23  <!-- End Jekyll SEO tag -->24 </head>25 <body>26  <!-- HEADER -->27  <div class="outer" id="header_wrap">28   <header class="inner">29    <a id="forkme_banner">30     View on GitHub31    </a>32    <h1 id="project_title">33     [URL Redacted]34    </h1>35    <h2 id="project_tagline">36     This is the official website for Gas Gauge:  A Security Analysis Tool for Smart Contract Out-of-Gas Vulnerabilities37    </h2>38   </header>39  </div>40  <!-- MAIN CONTENT -->41  <div class="outer" id="main_content_wrap">42   <section class="inner" id="main_content">43    <h1 id="gas-gauge">44     Gas Gauge45    </h1>46    <p>47     Gas Gauge is designed to focus on gas-related vulnerabilities of Solidity Smart Contracts. This tool contains three major algorithms.48    </p>49    <h2 id="source-code">50     Source Code51    </h2>52    <p>53     You can view our source code, benchmark, and experimental results as well as our case study on our54     <a>55      Github repository.56     </a>57    </p>58    <h2 id="installation-and-setup-for-ubuntu">59     Installation and Setup for Ubuntu60    </h2>61    <h3 id="prerequisite">62     Prerequisite63    </h3>64    <div class="language-bash highlighter-rouge">65     <div class="highlight">66      <pre class="highlight"><code><span class="nv">$ </span><span class="nb">sudo </span>apt-get update67<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> software-properties-common68<span class="nv">$ </span><span class="nb">sudo </span>add-apt-repository <span class="nt">-y</span> ppa:ethereum/ethereum69<span class="nv">$ </span><span class="nb">sudo </span>apt-get update70<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> solc71<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install </span>libssl-dev72<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> python3-pip<span class="o">=</span>9.0.1-2 python3-dev73<span class="nv">$ </span><span class="nb">sudo ln</span> <span class="nt">-s</span> /usr/bin/python3 /usr/local/bin/python74<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> pandoc75<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install</span> <span class="nt">-y</span> git76<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install </span>nodejs77<span class="nv">$ </span><span class="nb">sudo </span>apt-get <span class="nb">install </span>npm78<span class="nv">$ </span><span class="nb">sudo </span>apt <span class="nb">install </span>python-pip79<span class="nv">$ </span><span class="nb">sudo </span>apt <span class="nb">install </span>python3-pip80<span class="nv">$ </span>pip <span class="nb">install </span>numpy81<span class="nv">$ </span>pip3 <span class="nb">install </span>numpy82 83</code></pre>84     </div>85    </div>86    <h3 id="helper-tools">87     Helper Tools:88    </h3>89    <h3 id="1-slither-">90     1.91     <a>92      Slither93     </a>94     :95    </h3>96    <p>97     (Recommneded Method) Clone our repository and navigate to the folder &ldquo;Slither&rdquo;98    </p>99    <div class="language-bash highlighter-rouge">100     <div class="highlight">101      <pre class="highlight"><code><span class="nv">$ </span><span class="nb">sudo </span>python3 setup.py <span class="nb">install</span>102</code></pre>103     </div>104    </div>105    <p>106     Method 2:107    </p>108    <div class="language-bash highlighter-rouge">109     <div class="highlight">110      <pre class="highlight"><code><span class="nv">$ </span>pip3 <span class="nb">install </span>slither-analyzer111</code></pre>112     </div>113    </div>114    <h3 id="2-truffle-">115     2.116     <a>117      Truffle118     </a>119     :120    </h3>121    <div class="language-bash highlighter-rouge">122     <div class="highlight">123      <pre class="highlight"><code><span class="nv">$ </span>npm <span class="nb">install</span> <span class="nt">-g</span> truffle124<span class="nv">$ </span>npm <span class="nb">install</span> <span class="nt">-g</span> ganache-cli125</code></pre>126     </div>127    </div>128    <p>129     If the installation fails, it is most likely because Node.js is using an older version. Please update it to the newest version and try installing Truffle and Ganache again.130    </p>131    <h3 id="3-solc-select-">132     3.133     <a>134      solc-select135     </a>136     :137    </h3>138    <div class="language-bash highlighter-rouge">139     <div class="highlight">140      <pre class="highlight"><code><span class="nv">$ </span>pip3 <span class="nb">install </span>solc-select141</code></pre>142     </div>143    </div>144    <p>145     Then install all the solc versions you need for your contracts (refer to the solc-select website)146For exaplme to install version 0.8.1:147    </p>148    <div class="language-bash highlighter-rouge">149     <div class="highlight">150      <pre class="highlight"><code><span class="nv">$ </span>solc-select <span class="nb">install </span>0.8.1151</code></pre>152     </div>153    </div>154    <h3 id="to-run-the-tool">155     To run the tool:156    </h3>157    <ol>158     <li>159      Clone our repository160     </li>161     <li>162      Modify run.py as needed163     </li>164     <li>165      run run.py :166     </li>167    </ol>168    <div class="language-bash highlighter-rouge">169     <div class="highlight">170      <pre class="highlight"><code><span class="nv">$ </span>python3 run.py171</code></pre>172     </div>173    </div>174    <ol>175     <li>176      The tool will generate a report in the file specified as &ldquo;REPORT_PATH&rdquo; in run.py177     </li>178    </ol>179   </section>180  </div>181  <!-- FOOTER  -->182  <div class="outer" id="footer_wrap">183   <footer class="inner">184    <p>185     Published with186     <a>187      GitHub Pages188     </a>189    </p>190   </footer>191  </div>192 </body>193</html>194