# Random Web Bits This repository holds frontend source code for the Random Web Bits website. Initially, the project was hosted on Netlify CDN and can still be accessed: [<RWB>](https://randwebbit.netlify.app/). [![Netlify Status](https://api.netlify.com/api/v1/badges/c29ba08d-f324-404d-8cee-4d9621425de3/deploy-status)](https://randwebbit.netlify.app/) Today, the full website is not open-source and has moved to [https://randomwebbits.com/](https://randomwebbits.com/). Below, README Markdown is a guide and additional information about this repository and may be followed to get the code and components into a development environment.
**What is it?** A fun project to host short articles about the web and web development. **What does it do?** It's a website to showcase modern web development techniques. It is currently a static website, whereby all the code running the site is run in the browser. You can spin up a codespace or download the repro to run the code or test the development space.
## Features ### Articles - Fun bits of knowledge you may/may not know or have seen before. ### Responsive web design - Developed for use on mobile/tablet/desktop devices - CSS designs fit the wireframe structure and adapt to different viewport sizes ### JavaScript components - A newer web development practice: JavaScript modules represent header, footer, and 'web bits' structures. - The "home" and "pages" article cards are initialized as a "WebBits" component. They're rendered to the page using vanilla JavaScript, added directly to the DOM as whole fragments. - PhotoSwipe library is used in showcasing images in multiple locations. - Lit-Html library is used to create framework components, like those found in React and Angular. Referring to 'acronyms-element.js,' HTML pages containing "acronyms-list" elements render the data imports. ```HTML ...
...
``` ----- ## <RandomWebBits>
Developers: > Create a [codespace](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace-for-a-repository/#creating-a-codespace-for-a-repository) (from the green dropdown) to use GitHub's container-enabled development platform. Install **Live Server** VSCode extension, then 'Go Live' from there. Be sure to increase the CPU specs for faster load-times. > > - The website's code is in full in this repository. > - Debug code in the browser. Any saved change is streamed to the browser from VSCode via Browserify. > - Run the full developer's environment: 5 steps and the results: > > ```shell > #1. Navigate to the project's folder and run the below (4) dependency installations > # They install gulp-cli, gulp with typescript, browserify, tsify, > # vinyl-source-stream, and watchify dependencies needed to run > # the developer's environment > # > #Node.JS commands to bring up the development > npm install -g gulp-cli > > npm install --save-dev typescript gulp@4.0.0 gulp-typescript > > npm install --save-dev browserify tsify vinyl-source-stream > > npm install --save-dev watchify fancy-log > > [OPTIONAL] yarn add -D prettier@^2.5.1 eslint@^8.7.0 @typescript-eslint/parser@^5.0.1 typescript@^4.4.4 > > #2. Once they're ready, run the below command to begin > gulp > ``` > > A screenshot of codespaces terminal >
> > ```shell > #3 Extensions: > -Live Server > -Prettier - Code formatter > -Python, Pylance > -Tailwind Shades > > ```
Web Admins: > The full site functions from the resources within the "/dist" folder. All the other directory assets remain for development purposes, like using TypeScript compiling (and intellisense). > > - Try exporting just the "/dist" folder, whereby the site is moved out of the developer's space. Running a web server of only the /dist folder resources produces the same site results without the developer's files. The site is then exportable to your web server of choice. > 1.) **Open** with VSCode > 2.) **Click "Go Live"** (From VSCode's live server extension) > 3.) Site is **live**. All pages, JavaScript, and styles are included in the distro > Screenshot: Open dist with VSCode >

> Screenshot: Go Live with VSCode live server extension >
![Screenshot: Go Live with VSCode live server extension](RWB_VSCode.png) --- Release Updates
Version 1.0 1.0.0: Added Favicon to all pages. Edited Header/footer sections 1.0.4:   - Image optimizations and attributions.   - Added footer UL of the requested attributions from FLATICON   - New WebBits page: ChatGPT 1.0.6: Script.js changes   - Added navigation link objects   - GitHub Desktop - Squash commit history 1.0.7: New WebBits page: paint3D 1.0.8: Added dictionary page 1.0.11:   - Conformed dictionary.js to module, set to defer on load   - Added dictionary.js to index.html   - Changed index page WebBits to show 3 random articles 1.0.12: New WebBits page: BOINC 1.0.15:   - New WebBits page: ipaddress   - Minor code fixes   - Web Bits grammar fixes, edits, and corrections 1.0.16: Minor code fixes 1.0.19:   - Dictionary search input validation   - Added ToDo List page   - Added ToDo List component on index 1.0.20:: Refactor code: WebBits.js, script.js 1.0.22:   - New WebBits page: markup   - New WebBits page: searchverticals 1.0.23: New WebBits page: networkspeed 1.0.24: Refactor To-Dos List 1.0.25: New WebBits page: How E-mail Works
Version 1.1 1.1.26: Added guides card section 1.1.28:   - Lit component: Acronyms List   - Components update, multiple pages 1.1.29: New WebBits page: drives
Version 1.2 1.2.31: —   – Module design implementation   – Component functionality updates 1.2.32: New WebBits page: virtualtour 1.2.33: New WebBits guide: applicationtab 1.2.34: Added PhotoSwipe component to guide: applicationtab 1.2.35: CSS color revision – dark mode/light mode 1.2.36: PS updates networkspeed page 1.2.37: Amend widgets for Firefox functionality 1.2.38: New WebBits page: dns 1.2.39: New WebBits page: inspectpages 1.2.40: Abbr additions, CSS adjustments, and general updates 1.2.41: New WebBits page: google #1 website
Version 1.3 1.3.41: Added TypeScript project compiler 1.3.43:   - TypeScript variables changes   - Header/Footer component addition 1.3.45: Added DictionaryAPI 404 result 1.3.46: Dictionary: Local Storage caches 1.3.47: New WebBits page: DOM 1.3.48: New WebBits page: webIDE 1.3.49: New component: GrowingCard 1.3.50: RWBcards class addition 1.3.51: New WebBits: SVG 1.3.52: New Page: flashcards.html 1.3.53: New WebBits: JavaScript 1.3.54: New WebBits: PWAIcon 1.3.55: New WebBits page: LEARN: HTTP 1.3.56: New WebBits page: CSS 1.3.57: New WebBits page: GUIDE: Clearing cookies 1.3.58: New WebBits page: EXPLORE: Webb Space Telescope 1.3.59: New WebBits page: Latency
Version 1.4 1.4.59: Header/Footer refactor 1.4.60: New WebBits page: HTML-ELEM
Version 1.5 1.5.60: Main switch
Version 1.6 1.6.60: Widescreens 1.6.61: PageComponents refactor 1.6.62: ClassComponents refactor 1.6.63: Script performance 1.6.64: New WebBits page: URL 1.6.65: Heading Title IDs 1.6.66: Added ColorCode class 1.6.67: URL, HTML, CSS examples component refactor 1.6.68: Added mobileMarkup component 1.6.60: New WebBits page: Data Storage 1.6.61: Font changes 1.6.62: Static Object counters 1.6.63: Domain lookup component 1.6.63: sliderbar component 1.6.64: ErrorBus component 1.6.65: DictionarySearch Log 1.6.66: ToDos Log 1.6.67: Widgets Refactor 1.6.68: Parser component 1.6.69: Stringify component
Version 1.7 1.7.70: Footer addition 1.7.71: New WebBits page: HSL 1.7.72: New page: 404.html 1.7.73: WebBits Slideshow component
Version 1.8 1.8.74: Lit Elements: TypeScript 1.8.74: PhotoSwipe: TypeScript 1.8.75: Logo attributions 1.8.76: Animated Slideshow 1.8.77: Added project ESLint 1.8.78: Re-Added todos WebBit 1.8.78: New WebBits page: ElementInspect 1.8.79: WebBits Slideshow tabindex 1.8.80: Header/Footer colors 1.8.81: Propagation Latency Calculator 1.8.82: RWB Card CSS 1.8.83: RWB Card CSS flip direction 1.8.84: New WebBits page: elementstab 1.8.85: New WebBits page: consoletab 1.8.86: New WebBits page: sourcestab 1.8.87: New WebBits page: networktab 1.8.88: New WebBits page: performancetab 1.8.89: New WebBits page: memorytab 1.8.90: New WebBits page: securitytab 1.8.91: New WebBits page: lighthousetab 1.8.92: New WebBits page: cssoverviewtab 1.8.93: New WebBits page: Hyperlinks 1.8.94: New WebBits page: Web API 1.8.95: New WebBits page: Browser Cursors