From cecb86d4d86b0ff57a7ab074d9aebd3f107430c6 Mon Sep 17 00:00:00 2001 From: Yiyi Wang Date: Tue, 23 Mar 2021 22:34:36 +0800 Subject: [PATCH 1/2] fix: Fixed several broken links and added canonical links for SEO --- Design.md | 4 ++-- INSTALL.md | 2 +- web/.nvmrc | 1 + web/build-html.js | 1 + web/k-web-theme | 2 +- web/package-lock.json | 6 ++++++ web/static_content/html/include/head.html | 1 + web/static_content/html/include/sidebar.html | 4 ++-- 8 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 web/.nvmrc diff --git a/Design.md b/Design.md index df2063725..251fbf3c5 100644 --- a/Design.md +++ b/Design.md @@ -4,7 +4,7 @@ The design of IELE was based on our experience with formally defining [dozens of * [KEVM](https://github.com/kframework/evm-semantics), our semantics of the [Ethereum Virtual Machine](https://github.com/ethereum/yellowpaper) (EVM); and -* KLLVM, our semantics of [LLVM](http://llvm.org); the latest version of the LLVM semantics will be made public when complete and published, but an earlier version [is available](https://github.com/kframework/llvm-semantics). +* KLLVM, our semantics of [LLVM](https://llvm.org/); the latest version of the LLVM semantics will be made public when complete and published, but an earlier version [is available](https://github.com/kframework/llvm-semantics). Unlike the EVM, which is a stack-based machine, IELE is a register-based machine, like LLVM. IELE also directly supports functions, like LLVM. It has an unbounded number of registers and also supports unbounded integers. There are some tricky but manageable aspects with respect to gas calculation, a critical part of the design. @@ -20,7 +20,7 @@ Here are the forces that drove the design of IELE: 3. To make it easier to write secure smart contracts. This includes writing requirements specifications that smart contracts must obey as well as making it easier to develop automated techniques that mathematically verify / prove smart contracts correct with respect to to such specifications. For example, pushing a possibly computed number on the stack and then jumping to it regarded as an address makes verification hard, and thus security weaker, with current smart contract paradigms. IELE has named labels, like LLVM, and jump statements can only jump to those labels. Also, avoiding the use of a bounded stack and not having to worry about stack or arithmetic overflow makes specification and verification of smart contracts significantly easier. -Like [KEVM](https://github.com/kframework/evm-semantics), the formal semantics of EVM that we previously defined, validated and evaluated using the [K framework](http://kframework.org), the design of IELE was also done in a semantics-based style, using K. Together with a fast (LLVM-based) execution backend for K that is still under development, it is expected that the interpreter obtained automatically from the semantics of IELE will be sufficiently efficient to serve as a reference implementation of IELE. +Like [KEVM](https://github.com/kframework/evm-semantics), the formal semantics of EVM that we previously defined, validated and evaluated using the [K framework](https://kframework.org), the design of IELE was also done in a semantics-based style, using K. Together with a fast (LLVM-based) execution backend for K that is still under development, it is expected that the interpreter obtained automatically from the semantics of IELE will be sufficiently efficient to serve as a reference implementation of IELE. # Design Changes Relative to EVM diff --git a/INSTALL.md b/INSTALL.md index d5c1b87ed..31601f3ef 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -70,7 +70,7 @@ It is safe to skip any of these dependencies that are already installed. Follow the instructions below. Perform all steps as your normal (non-root) user. You may find the same instructions and our public key at . -To follow this instructions, you will need `curl` installed on your system . +To follow this instructions, you will need `curl` installed on your system . #### Nix diff --git a/web/.nvmrc b/web/.nvmrc new file mode 100644 index 000000000..03128968b --- /dev/null +++ b/web/.nvmrc @@ -0,0 +1 @@ +lts/dubnium diff --git a/web/build-html.js b/web/build-html.js index 7d8a3e57e..4c9e01b35 100644 --- a/web/build-html.js +++ b/web/build-html.js @@ -14,6 +14,7 @@ generatePagesFromMarkdownFiles({ sourceDirectory: path.resolve(__dirname, "../"), outputDirectory: path.resolve(__dirname, "./public_content/"), websiteDirectory: path.resolve(__dirname, "./public_content/"), + websiteOrigin: "https://ielelang.org", template: pageTemplate, includeFileBasePath: path.resolve(__dirname, "./static_content/html/"), }); diff --git a/web/k-web-theme b/web/k-web-theme index 090f4488e..7f727487e 160000 --- a/web/k-web-theme +++ b/web/k-web-theme @@ -1 +1 @@ -Subproject commit 090f4488e94c7f9e6e71960cf98c86a0ab1645a7 +Subproject commit 7f727487e232acd747faf8ce5cb15d2023caf2a5 diff --git a/web/package-lock.json b/web/package-lock.json index 3ae61f1fb..60dbf6a87 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -133,6 +133,7 @@ "cheerio": "^1.0.0-rc.3", "clipboard": "^2.0.6", "express": "^4.17.1", + "font-awesome": "^4.7.0", "get-port": "^5.1.1", "glob": "^7.1.6", "http-server": "^0.12.3", @@ -3393,6 +3394,11 @@ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==" }, + "font-awesome": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", + "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", diff --git a/web/static_content/html/include/head.html b/web/static_content/html/include/head.html index bd9d96bb0..096443654 100644 --- a/web/static_content/html/include/head.html +++ b/web/static_content/html/include/head.html @@ -10,6 +10,7 @@ + diff --git a/web/static_content/html/include/sidebar.html b/web/static_content/html/include/sidebar.html index d863065fc..258ad6f0f 100644 --- a/web/static_content/html/include/sidebar.html +++ b/web/static_content/html/include/sidebar.html @@ -23,8 +23,8 @@ From b7d9810b5ca8299462fe09f247d79abec1326156 Mon Sep 17 00:00:00 2001 From: Yiyi Wang Date: Sat, 10 Apr 2021 23:37:56 +0800 Subject: [PATCH 2/2] fix: Fixed potential package.json build bug --- web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/package.json b/web/package.json index 16eabc462..fd3d30525 100644 --- a/web/package.json +++ b/web/package.json @@ -4,7 +4,7 @@ "description": "--- permalink: README.html copyright: Copyright (c) 2010-2020 Runtime Verification Team. All Rights Reserved. ---", "main": "index.html", "scripts": { - "build": "cd ./k-web-theme && npm install && npm run build && cd - && npm install ./k-web-theme && cp -r ./k-web-theme/public_content/* ./public_content/ && node build-html.js", + "build": "cd ./k-web-theme && npm install && npm run build && cd - && npm install ./k-web-theme && cp -r ./k-web-theme/public_content/. ./public_content/ && node build-html.js", "build-sitemap": "node sitemap/build-sitemap.js https://ielelang.org/", "serve": "http-server public_content" },