├── Vocab.zip ├── images └── icons │ ├── icon-128x128.png │ ├── icon-144x144.png │ ├── icon-152x152.png │ ├── icon-192x192.png │ ├── icon-384x384.png │ ├── icon-512x512.png │ ├── icon-72x72.png │ └── icon-96x96.png ├── README.md ├── includes └── config.php ├── action scripts ├── delete.php └── edit.php ├── sw.js ├── manifest.json ├── css └── vocab.css ├── js └── vocab.js └── index.php /Vocab.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/Vocab.zip -------------------------------------------------------------------------------- /images/icons/icon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-128x128.png -------------------------------------------------------------------------------- /images/icons/icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-144x144.png -------------------------------------------------------------------------------- /images/icons/icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-152x152.png -------------------------------------------------------------------------------- /images/icons/icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-192x192.png -------------------------------------------------------------------------------- /images/icons/icon-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-384x384.png -------------------------------------------------------------------------------- /images/icons/icon-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-512x512.png -------------------------------------------------------------------------------- /images/icons/icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-72x72.png -------------------------------------------------------------------------------- /images/icons/icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raghav-wd/VocabList/HEAD/images/icons/icon-96x96.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VocabList 2 | As being learner in English and Japanese, I needed a memo to save words and phrases. This apps web helped me to do the job. 3 | -------------------------------------------------------------------------------- /includes/config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sw.js: -------------------------------------------------------------------------------- 1 | const staticAssets = [ 2 | './', 3 | './css/vocab.css' 4 | ]; 5 | 6 | self.addEventListener('install', async event => { 7 | const cache = await caches.open('vocab-static'); 8 | cache.addAll(staticAssets); 9 | }); 10 | 11 | self.addEventListener('fetch', event => { 12 | const req = event.request; 13 | event.respondWith(cacheFirst(req)); 14 | }); 15 | 16 | async function cacheFirst(req) { 17 | const cachedResponse = await caches.match(req); 18 | return cachedResponse || fetch(req); 19 | } -------------------------------------------------------------------------------- /action scripts/edit.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vocab", 3 | "theme_color": "#ffffff", 4 | "background_color": "#ffffff", 5 | "display": "standalone", 6 | "Scope": "/", 7 | "start_url": ".", 8 | "icons": [ 9 | { 10 | "src": "images/icons/icon-72x72.png", 11 | "sizes": "72x72", 12 | "type": "image/png" 13 | }, 14 | { 15 | "src": "images/icons/icon-96x96.png", 16 | "sizes": "96x96", 17 | "type": "image/png" 18 | }, 19 | { 20 | "src": "images/icons/icon-128x128.png", 21 | "sizes": "128x128", 22 | "type": "image/png" 23 | }, 24 | { 25 | "src": "images/icons/icon-144x144.png", 26 | "sizes": "144x144", 27 | "type": "image/png" 28 | }, 29 | { 30 | "src": "images/icons/icon-152x152.png", 31 | "sizes": "152x152", 32 | "type": "image/png" 33 | }, 34 | { 35 | "src": "images/icons/icon-192x192.png", 36 | "sizes": "192x192", 37 | "type": "image/png" 38 | }, 39 | { 40 | "src": "images/icons/icon-384x384.png", 41 | "sizes": "384x384", 42 | "type": "image/png" 43 | }, 44 | { 45 | "src": "images/icons/icon-512x512.png", 46 | "sizes": "512x512", 47 | "type": "image/png" 48 | } 49 | ], 50 | "splash_pages": null 51 | } -------------------------------------------------------------------------------- /css/vocab.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-bottom: 50px; 3 | border-bottom: 5px #a5d6a7 solid; 4 | } 5 | 6 | /* Handle */ 7 | ::-webkit-scrollbar-thumb { 8 | background: #e6ee9c; 9 | } 10 | 11 | .items-list { 12 | padding: 5px 10px 5px 10px; 13 | } 14 | 15 | .item { 16 | border-bottom: 2px rgb(230, 230, 230) solid; 17 | border-left: 3px black solid; 18 | margin: 10px 0 10px 0; 19 | padding: 4px; 20 | transition: transform 0.4s linear, opacity 0.4s linear; 21 | } 22 | 23 | .item:hover { 24 | cursor: pointer; 25 | } 26 | 27 | .overlay-writer { 28 | width: 100%; 29 | height: 0vh; 30 | background-color: white; 31 | /* display: none; */ 32 | border-radius: 10px; 33 | position: absolute; 34 | z-index: 9; 35 | bottom: 0; 36 | left: -100vw; 37 | transition: height 0.4s ease-in; 38 | padding: 18px; 39 | } 40 | 41 | .keyboard_arrow_down:hover { 42 | cursor: pointer; 43 | } 44 | 45 | input[type='submit'] { 46 | font-size: 18px; 47 | border: none; 48 | background-color: white; 49 | } 50 | 51 | .delete:hover { 52 | cursor: pointer; 53 | } 54 | 55 | img[src="https://cdn.000webhost.com/000webhost/logo/footer-powered-by-000webhost-white2.png"] { 56 | display: none; 57 | height: 0; 58 | opacity: 0; 59 | } 60 | -------------------------------------------------------------------------------- /js/vocab.js: -------------------------------------------------------------------------------- 1 | 2 | // for (var i = 0; i < countElement("item"); i++) 3 | // _all('.item')[i].addEventListener("click", function (event) { 4 | // // _('.overlay-writer').style.display = "inline-block"; 5 | // _('.overlay-writer').style.transform = "translateX(100vw)"; 6 | // _('.overlay-writer').style.height = "80vh"; 7 | // _('.overlay-writer').style.boxShadow = "1px 2px 30px 4px grey"; 8 | // _('#Word').value = this.getElementsByClassName('word')[0].innerHTML.trim(); 9 | // _('#Elaboration').value = this.getElementsByClassName('elaboration')[0].innerHTML.trim(); 10 | // // alert(this.getElementsByClassName('word')[0].innerHTML); 11 | // }); 12 | 13 | // _('.keyboard_arrow_down').addEventListener("click", function () { 14 | // _('.overlay-writer').style.transform = "translateX(-100vw)"; 15 | // _('.overlay-writer').style.height = "0"; 16 | // _('.overlay-writer').style.boxShadow = "0px 0px 0px 0px grey"; 17 | // }) 18 | 19 | // //finds the frequency of a class 20 | // function countElement(search) { 21 | // var itemsList = _('.items-list').innerHTML; 22 | // var freq = 0; 23 | // for (var i = 0; i < itemsList.length; i++) 24 | // { 25 | // if (itemsList.charAt(i) == search.charAt(0)) 26 | // { 27 | // var c = 0; 28 | // for (var j = 0; j < search.length; j++) 29 | // { 30 | // if (itemsList.charAt(i+j) == search.charAt(j)) 31 | // c++; 32 | // } 33 | // if (c == search.length) freq++; 34 | // } 35 | // } 36 | // return freq; 37 | // } 38 | 39 | // function countElement(search) { 40 | // var itemsList = _('.items-list').innerHTML; 41 | // var freq = 0; 42 | // for (var i = 0; i < itemsList.length; i++) { 43 | // if (itemsList.charAt(i) == search.charAt(0)) { 44 | // var c = 0; 45 | // for (var j = 0; j < search.length; j++) { 46 | // if (itemsList.charAt(i + j) == search.charAt(j)) 47 | // c++; 48 | // } 49 | // if (c == search.length) freq++; 50 | // } 51 | // } 52 | // return freq; 53 | // } 54 | 55 | // function _(ele) { 56 | // return document.querySelector(ele); 57 | // } 58 | 59 | // function _all(ele) { 60 | // return document.querySelectorAll(ele); 61 | // } -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Vocab 24 | 25 | 26 | 27 | 42 | 43 | 44 | 45 |
46 |
47 | 53 |
54 | 58 |
59 | 60 | 71 | 72 |
73 | 74 |
75 | 76 |
77 | 78 | mode_edit 79 | 80 | 81 | 89 |
90 | 91 |
92 | 93 |
94 |
95 |
96 | 97 | 98 |
99 |
100 |
101 | 102 | 103 |
104 |
105 | 106 |
107 | 113 |
114 | 115 |

116 | 120 |

121 | 122 | 123 | 124 | 125 | 126 |
127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 360 | 361 | 362 | --------------------------------------------------------------------------------