Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/priest-2105/xcuse
A js web app that generates random excuses
https://github.com/priest-2105/xcuse
arrays excuses javascript js
Last synced: about 2 months ago
JSON representation
A js web app that generates random excuses
- Host: GitHub
- URL: https://github.com/priest-2105/xcuse
- Owner: priest-2105
- Created: 2024-09-11T21:48:15.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-13T02:27:45.000Z (4 months ago)
- Last Synced: 2024-09-14T09:50:52.317Z (4 months ago)
- Topics: arrays, excuses, javascript, js
- Language: JavaScript
- Homepage: https://xcuse-web.netlify.app/
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# xcuse
## Overview
`xcuse` is a JavaScript web application designed to generate random excuses. Users can click a button to get a humorous or creative excuse based on various categories such as objects, events, animals, and actions.
### Live Demo
You can try out the application here: [xcuse-web.netlify.app](https://xcuse-web.netlify.app/)
## Features
- **Random Excuses**: Generates random excuses by combining different types of placeholders.
- **Customizable Placeholders**: Excuses can include placeholders for objects, events, animals, and actions.## Project Structure
Here's a brief overview of the project's structure:
- `index.html`: The main HTML file for the application.
- `style.css`: Contains the styling for the application.
- `super.js`: JavaScript file handling the logic for generating excuses.
- `logo.png` and `icons8-download-26.png`: Assets used in the application.## Installation
To run this project locally, follow these steps:
**Clone the Repository**
```bash
git clone https://github.com/priest-2105/xcuse.git
```
**Navigate to the Project Directory**
- cd xcuse
- Open index.htmlYou can open the index.html file in your web browser to view and interact with the application.
## Usage
**Open the Application**
Open the index.html file in your web browser.
**Generate an Excuse**
Click the "Generate Excuse" button to get a new random excuse. The generated excuse will replace the placeholders in the predefined templates.
## JavaScript Logic
**super.js**
The super.js file contains the main logic for generating excuses. Here's a brief overview of its functionality:
Placeholder Functions: Functions like displayObject(), displayEvent(), displayAnimal(), and displayAction() are used to fetch random values for each type of placeholder.
generateXcuse(): This function selects a random template and replaces placeholders ({object}, {event}, {animal}, {action}) with corresponding values.
Event Listener: The button click event triggers the generateXcuse() function to display a new excuse.
Example Code
Here's an example of how the generateXcuse() function works:
```
function generateXcuse() {
const templateArray = excusesData.filter(item => item.type === 'template');
if (templateArray.length === 0) {
console.error('No templates found');
return;
}const template = templateArray[Math.floor(Math.random() * templateArray.length)].value;
let newXcuse = template;// Retrieve values
const objectXcuse = getRandomExcuse('object');
const eventXcuse = getRandomExcuse('event');
const animalXcuse = getRandomExcuse('animal');
const actionXcuse = getRandomExcuse('action');// Replace placeholders
newXcuse = newXcuse.replace(/{object}/g, objectXcuse)
.replace(/{event}/g, eventXcuse)
.replace(/{animal}/g, animalXcuse)
.replace(/{action}/g, actionXcuse);xcuseTextEl.innerText = newXcuse;
}
```## Contributing
If you would like to contribute to the project, please follow these steps:
Fork the repository.
Create a new branch for your changes.
Make your changes and commit them.
Push your changes to your fork.
Submit a pull request.
Contact
For any questions or feedback, please contact the repository owner:
GitHub: priest-2105