#JavaScript Comments
Explore tagged Tumblr posts
Text
Start Your JavaScript Journey with WebTutor
In the world of web development, JavaScript has emerged as an essential programming language. Its versatility, ease of use, and ability to interact with HTML and CSS make it a powerful tool for creating dynamic and interactive websites. In this blog, we will explore the fundamental concepts of JavaScript, from its basic syntax and output to variables, operators, and more. Whether you're a beginner or a seasoned developer, there's something for everyone to learn and apply. Additionally, we'll introduce you to an excellent resource, webtutor.dev, where you can further enhance your JavaScript skills.
JavaScript Output
JavaScript allows developers to communicate with users by generating output in various ways. The most common method of output is using the console.log() function. It prints messages or data to the browser's console, which is useful for debugging and understanding what's happening in your code.
JavaScript Syntax
The syntax of JavaScript is quite user-friendly and similar to many other programming languages. Here are a few key points to remember:
Statements: JavaScript code is made up of statements, which can be declarations, assignments, function calls, loops, etc.
Case Sensitivity: JavaScript is case-sensitive, so variables myVar, myvar, and MYVAR are considered different.
Semicolons: While optional, it's a good practice to end statements with semicolons to avoid potential issues.
Whitespace: JavaScript ignores whitespace, so you can use spaces, tabs, and newlines for code formatting.
JavaScript Comments
JavaScript Comments are essential for code documentation and explanation. JavaScript supports both single-line and multi-line comments. Single-line comments start with //, and multi-line comments are enclosed between /* and */.
JavaScript Variables
Variables in JavaScript are used to store data values. They are declared using the let or const keyword. let allows reassignment, while const creates a constant that cannot be reassigned.
JavaScript Operators
Operators are symbols used to perform operations on variables and values. JavaScript supports various types of operators:
Arithmetic Operators: Used for basic arithmetic operations like addition, subtraction, multiplication, etc.
Comparison Operators: Used to compare values and return true or false based on the comparison.
Logical Operators: Used to combine multiple conditions and determine the overall truth value.
Assignment Operators: Used to assign values to variables.
Ternary Operator: A shorthand way of writing conditional statements.
Conclusion
JavaScript is the backbone of modern web development, enabling you to create dynamic and interactive websites that engage users effectively. By mastering JavaScript's syntax, output, comments, variables, and operators, you will have a strong foundation to build upon. Remember, continuous learning is the key to staying relevant and growing as a developer.
So, start your JavaScript journey today, and do not forget to visit webtutor.dev for an enriching learning experience that will take your skills to new heights. Happy coding!
#JavaScript Output#JavaScript Syntax#JavaScript Comments#JavaScript Variables#JavaScript Operators#Learn JavaScript Output#Learn JavaScript Syntax#Learn JavaScript Comments#Learn JavaScript Variables#Learn JavaScript Operators#Learn online JavaScript Output#Learn online JavaScript Syntax#Learn online JavaScript Comments#Learn online JavaScript Variables#Learn online JavaScript Operators
0 notes
Text
My kingdom for a data dictionary
#CHRIST#nondescript ass one letter CODES with ARCANE COLUMN NAMES#this is worse than that time I had a finish a javascript webapp#and the previous grad student had non-descriptive variable names and all her comments were in mandarin chinese
2 notes
·
View notes
Text
Just write a response they said. It wouldn’t take long to write.
How it’s going:


LOL I honestly believed I was gonna keep that short.
🥴
#so since i cannot annotate your post directly like comments on google docs or word i picked a section and commented#this is just about the black hair section#i am about halfway through the actual essay itself - writing commentary as i read#it started simple enough by asserting kiara’s hair choices are part of how she assimilates into cordonian upper class society#then…it grew#also i never played the ‘drake pranks kiara’ scene in a way that he messes with her hair product…EVER*#*that i remember and i feel like i would remember something like that#3400 words later and i am only *now* getting to talking about actual hair products and how your location can affect access to them#see what you do to me lizzybeth?!?#and i have javascript homework to finish 😳🥴🥲
11 notes
·
View notes
Text
i love it when federal sites haven't updated their code since like. 2003 or something
#i click on a link and i'm greeted with an early 2000s-esque page layout (read: all the contents of the page are#jammed onto the left side. just for starters) and i'm like '???' and i start inspecting the page source and the first line literally reads#<Script language=“JavaScript”> and i'm just. y'all aren't even gonna update it to read <!DOCTYPE html>???????#OR ANY OF THE OLDER <!DOCTYPE> TAGS IN GENERAL?????#AND THE FIRST LINE STARTS ON LINE 5 FOR SOME FUCKING REASON#THEY HAVE AN ENTIRE DIV CLASS FOR A 'WHAT'S NEW' BOX COMMENTED OUT IN THE CODE INSTEAD OF JUST ERASING IT ENTIRELY#AND THE CODE IS LIKE 'LAST UPDATED/REVIEWED JUNE 5 2007' AND I JUST????????? WHAT. WHATTTTTT#THERE'S A CLEAR LINK TO JQUERY 3.5.0 WHICH WAS RELEASED IN LIKE 2020 IIRC SO WHAT THE FUCK IS THE REST OF THIS ALL ABOUT??????#WHY AM I SEEING SHIT LIKE '<p><b>Your session has expired.</p></b>'??????#THAT'S NOT EVEN GETTING INTO EVERYTHING ELSE!!!! GODDAMN!!!!!!!!
5 notes
·
View notes
Text
Top 10 ChatGPT Prompts For Software Developers

ChatGPT can do a lot more than just code creation and this blog post is going to be all about that. We have curated a list of ChatGPT prompts that will help software developers with their everyday tasks. ChatGPT can respond to questions and can compose codes making it a very helpful tool for software engineers.
While this AI tool can help developers with the entire SDLC (Software Development Lifecycle), it is important to understand how to use the prompts effectively for different needs.
Prompt engineering gives users accurate results. Since ChatGPT accepts prompts, we receive more precise answers. But a lot depends on how these prompts are formulated.
To Get The Best Out Of ChatGPT, Your Prompts Should Be:
Clear and well-defined. The more detailed your prompts, the better suggestions you will receive from ChatGPT.
Specify the functionality and programming language. Not specifying what you exactly need might not give you the desired results.
Phrase your prompts in a natural language, as if asking someone for help. This will make ChatGPT understand your problem better and give more relevant outputs.
Avoid unnecessary information and ambiguity. Keep it not only to the point but also inclusive of all important details.
Top ChatGPT Prompts For Software Developers
Let’s quickly have a look at some of the best ChatGPT prompts to assist you with various stages of your Software development lifecycle.
1. For Practicing SQL Commands;
2. For Becoming A Programming Language Interpreter;
3. For Creating Regular Expressions Since They Help In Managing, Locating, And Matching Text.
4. For Generating Architectural Diagrams For Your Software Requirements.
Prompt Examples: I want you to act as a Graphviz DOT generator, an expert to create meaningful diagrams. The diagram should have at least n nodes (I specify n in my input by writing [n], 10 being the default value) and to be an accurate and complex representation of the given input. Each node is indexed by a number to reduce the size of the output, should not include any styling, and with layout=neato, overlap=false, node [shape=rectangle] as parameters. The code should be valid, bugless and returned on a single line, without any explanation. Provide a clear and organized diagram, the relationships between the nodes have to make sense for an expert of that input. My first diagram is: “The water cycle [8]”.
5. For Solving Git Problems And Getting Guidance On Overcoming Them.
Prompt Examples: “Explain how to resolve this Git merge conflict: [conflict details].” 6. For Code generation- ChatGPT can help generate a code based on descriptions given by you. It can write pieces of codes based on the requirements given in the input. Prompt Examples: -Write a program/function to {explain functionality} in {programming language} -Create a code snippet for checking if a file exists in Python. -Create a function that merges two lists into a dictionary in JavaScript.
7. For Code Review And Debugging: ChatGPT Can Review Your Code Snippet And Also Share Bugs.
Prompt Examples: -Here’s a C# code snippet. The function is supposed to return the maximum value from the given list, but it’s not returning the expected output. Can you identify the problem? [Enter your code here] -Can you help me debug this error message from my C# program: [error message] -Help me debug this Python script that processes a list of objects and suggests possible fixes. [Enter your code here]
8. For Knowing The Coding Best Practices And Principles: It Is Very Important To Be Updated With Industry’s Best Practices In Coding. This Helps To Maintain The Codebase When The Organization Grows.
Prompt Examples: -What are some common mistakes to avoid when writing code? -What are the best practices for security testing? -Show me best practices for writing {concept or function} in {programming language}.
9. For Code Optimization: ChatGPT Can Help Optimize The Code And Enhance Its Readability And Performance To Make It Look More Efficient.
Prompt Examples: -Optimize the following {programming language} code which {explain the functioning}: {code snippet} -Suggest improvements to optimize this C# function: [code snippet] -What are some strategies for reducing memory usage and optimizing data structures?
10. For Creating Boilerplate Code: ChatGPT Can Help In Boilerplate Code Generation.
Prompt Examples: -Create a basic Java Spring Boot application boilerplate code. -Create a basic Python class boilerplate code
11. For Bug Fixes: Using ChatGPT Helps Fixing The Bugs Thus Saving A Large Chunk Of Time In Software Development And Also Increasing Productivity.
Prompt Examples: -How do I fix the following {programming language} code which {explain the functioning}? {code snippet} -Can you generate a bug report? -Find bugs in the following JavaScript code: (enter code)
12. Code Refactoring- ChatGPt Can Refactor The Code And Reduce Errors To Enhance Code Efficiency, Thus Making It Easier To Modify In The Future.
Prompt Examples –What are some techniques for refactoring code to improve code reuse and promote the use of design patterns? -I have duplicate code in my project. How can I refactor it to eliminate redundancy?
13. For Choosing Deployment Strategies- ChatGPT Can Suggest Deployment Strategies Best Suited For A Particular Project And To Ensure That It Runs Smoothly.
Prompt Examples -What are the best deployment strategies for this software project? {explain the project} -What are the best practices for version control and release management?
14. For Creating Unit Tests- ChatGPT Can Write Test Cases For You
Prompt Examples: -How does test-driven development help improve code quality? -What are some best practices for implementing test-driven development in a project? These were some prompt examples for you that we sourced on the basis of different requirements a developer can have. So whether you have to generate a code or understand a concept, ChatGPT can really make a developer’s life by doing a lot of tasks. However, it certainly comes with its own set of challenges and cannot always be completely correct. So it is advisable to cross-check the responses. Hope this helps. Visit us- Intelliatech
#ChatGPT prompts#Developers#Terminal commands#JavaScript console#API integration#SQL commands#Programming language interpreter#Regular expressions#Code debugging#Architectural diagrams#Performance optimization#Git merge conflicts#Prompt engineering#Code generation#Code refactoring#Debugging#Coding best practices#Code optimization#Code commenting#Boilerplate code#Software developers#Programming challenges#Software documentation#Workflow automation#SDLC (Software Development Lifecycle)#Project planning#Software requirements#Design patterns#Deployment strategies#Security testing
0 notes
Text
gonna be real with you chat I'm not even gonna fuck with lightboxes. just gonna have the thumbnails link you straight to the file & leave it at that idc
#gonna put comments in the title#no offence html lightbox fans but it just looks like more trouble then it's worth. I ain't learnin' all that javascript#bellspeaks
1 note
·
View note
Text
jaehuin: a character page with modals and tabs by pouthongwon
preview / code
features - dark/light mode. just press on the toggle to switch between them - four standard links (home, ask, archive, and dashboard), plus five custom links in an extra sidebar - a modal for each character with three tabs containing a character's biography, relationships, and works they're in
note: there are comments in the code with instructions on how to enable javascript. alongside my usual credits.
524 notes
·
View notes
Text
JPD - Portfolio [ Preview ] + [ Code ]
here is a free portfolio page! It does have javascript in the code though, however, so it's better suited on a sideblog as the main theme, unless you contact tumblr support and get approval for the javascript on a page attached to your main blog. [ here is how to do it from @glenthemes ]
Header Image: 1200 x 600 About Image: 200 x 200 Portfolio Images: 160 x 90 ( if it's bigger or smaller it'll cover to fit the set size of 160x90 ).
credits here
this is where you'll change all of the colors and the header image. everything else is done in the code. I have commented things, but you still might need some html knowledge to be able to change some things. But you're also welcome to ask me any questions you might have.
these are all of the accent colors including the footer accent color. a3 and a5 look very similar, but they're different, I promise lol I'm giving you this guide so that you know what color changes what in the root styles.
#theme hunter#tumblr theme#theme code#idk what to tag these as lol#jpdtheme#jpdpage#i didn't make it responsive because i'm the worst i'm so sorry
241 notes
·
View notes
Text
PEACHES - MULTIMUSE PAGE !!!
This page is completely free. Please support me and my work by liking or reblogging this post.
[ INFORMATION ]
THIS CODE IS 100% JAVASCRIPT FREE!!!
The theme will adjust to all screen sizes, but with small mobile devices the sidebar will completely disappear.
All colors are easy editable. Not many colors are needed.
The code offers several custom links.
Greyfilter available!
Background Pattern available.
Hover effect over the pictures for more information.
Sidebar (including filters) and Header can be easily disabled.
2 ways of styling filters in one code (1 per row and 2 per row).
Amount of muse boxes per row can be easily adjusted (picture size will adjust automatically)
[ GUIDELINES ]
Do not claim as your own.
Do not remove the credit!
Do not use as a base code or take parts of this code for your theme.
Feel free to edit as much as you want!
Further credits can be found in the code.
I will not be able help with customation of the theme. Editing help and tutorials can be found in the theme itself as comments.
Click the SOURCE LINK to be redirected to the preview and the code!
317 notes
·
View notes
Text
I'm doing it, I did it! I officially have a place to never shut the fuck up about fic the way it deserves let's gooooooooooo!!!!!
This blog is under construction!
I am working really hard to bring you all my favorite fics, including plenty that I haven't had the time/space to add onto my previous rec lists over on my personal blog. That being said, I am a bit of a perfectionist, and there's no way to batch move everything, which means the process is a bit tedious.
At the moment, I have ensured that there's a working theme and functional tagging system, although I'm not entirely pleased/finished with the latter. I want to focus on getting more fics up now that there's a structure though, so expect changes to the tagging and navigation system in the next month or so.
While I'm working on posting all the fics I currently have backlogged, my AO3 Bookmark Collection is up to date, and will continue to be the place where I catalogue every fic I plan to share. I always pull from my bookmarks, so everything I post will live there first.
I also have submissions open, so if you have a fic you want to share (whether you have written it, or simply enjoy it as a reader), please feel free to send it in! Asks are open as well, so if you need help finding a specific fic, want to request a general vibe/topic/ect., I'd be more than happy to help! If you submit a fic and I don't post it, it's likely it's already pending in my bookmarks, and I will add it myself soon. I'll always post author submissions though, because I want y'all to be proud of your work!!
Suggestions for how to improve the structure of the blog and tags are also welcome, and you are can message those to me separately.
Lastly, I want this to be a place to celebrate all Trigun fics and authors! That means that, while the fics I read and post have a large lean towards Vashwood (due to the insane brainrot they have over me), that is by no means the only thing allowed. Please don't hesitate to submit or ask for fics with other topics, including ones that don't involve Vash or Wolfwood at all. I just wanted it to be clear that the primary focus would be Vashwood, based on what I read. All I ask is that you include the appropriate cw/tw to your submissions.
#vashwood#trigun#vashwood fic#trigun fic#this is for tea and the people who commented on the one post i made where i mentioned this as a possibility#i spent literally all day setting this up yesterday#like at least 8 hrs probably????#maybe more#i was up very late cause i couldn't find a theme i liked lol#and then making the tag page was a fucking nightmare#do you know tumblr doesn't support javascript on pages you add to your blog????????#like what the fuck WHY#who the hell made that decision i just want to TALK I PROMISE#i can't fucking code but ppl who do code use javascript cause why the hell WOULDN'T YOU#and not being able to use javascript meant i couldn't use like any page themes that other people coded#so that's why the tag page does not look very nice#i essentially had to learn very basic html to make it#anyway this looks infinitely better on desktop than mobile but i'm working on it#the point is it functions and i'm gonna focus on the fic part now#so come send me stuff!!!!!!!!!!!!!
14 notes
·
View notes
Text
Boyfriend Luigi
Summary: Luigi comes to your dorm after a long and tiring day, and you just want to take care of him. It leads to him turning needy and wanting your love! Because who wouldn’t say no to his perfect smile and pretty eyes?
POV: 3rd person. She/Her pronouns.
Part 1
Smut • MDNI
𓆝 𓆟 𓆞 𓆝 𓆟𓆝 𓆟 𓆞 𓆝 𓆟𓆝
*I literally hated the Surfbreak fic I made, I might post it like way later, but I quickly made this one. I really really like this fic I made, and it’s also the first time I’ve written smut. I know I said I wouldn’t, but I gave it a try. Please give feedback! Thank youuuu enjoy! 💗*
.・゜゜・.・゜゜・.・゜゜・.・゜゜・.・゜゜・.・゜゜
The door flung open, hard enough to rattle the mini whiteboard she always kept pristine. Luigi Mangione stepped in with his hoodie pulled halfway over his curls, laptop bag slung low, and a scowl riding high on his face.
He didn’t say anything.
Didn’t look at her.
Just kicked off his sneakers in two annoyed jerks and let them land wherever they landed. Then he sank onto the edge of her bed, hunched over, elbows on knees, and pulled his hoodie down lower, like the room offended him.
She blinked, sitting at her desk with her laptop open, a perfectly color-coded set of notes pulled up on Notion, and a mug of peppermint tea steaming quietly beside her. Her necklace—thin gold with a tiny star charm—glinted as she tilted her head.
“…Lu?”
Nothing. Just a dramatic sigh. He ran a hand through his curls—messier than usual—and muttered something under his breath. Something that definitely included the word “bullshit.”
She stood slowly, crossing the room in her soft socks. She could practically smell the static stress clinging to him—code that wouldn’t compile, a prof who made some dumb offhand comment, a meeting that went sideways. Luigi’s bad moods were rare, but when they hit, they hit full force. Especially when he didn’t win.
“Hey,” she said gently, standing in front of him, “what happened?”
Another sigh. Another eye roll. “Nothing. Just—stupid CS group project. Nobody knows what they’re doing, and I’m the one stuck fixing everyone’s broken code again. And Professor McGregor? He’s on my ass about this AI module I already finished. Like—” He waved his hands. “I’m not a magician, I can’t make JavaScript do calculus.”
“JavaScript shouldn’t be doing calculus.”
“Exactly!”
She bit back a smile. There it was. The drama, the hands, the cocky frustration that made him magnetic. She leaned forward and gently took off his hoodie, coaxing it over his head. His curls popped back up, tousled and warm from the fabric.
Luigi looked up at her finally—eyes tired, lashes long, the corner of his mouth twitching but not quite making it to a smile.
“You’re still mad,” she said softly.
“Not at you,” he muttered.
She stepped closer, standing between his knees now. “I know.”
He sighed again—but this time, less sharp. She reached up and threaded her fingers through his curls, slow and gentle, nails scratching lightly at his scalp the way he liked. He visibly melted. His eyes fluttered closed. His hands gripped the backs of her thighs without thinking, pulling her closer until she was practically between his legs.
“God,” he breathed. “You always smell so damn good.”
“Clean and sweet,” she teased, lips brushing against his temple.
“You’re a menace,” he mumbled, voice already softer.
She smiled and bent down, pressing the softest kiss to his cheekbone, then another to the side of his neck. His arms slid around her waist. She kept playing with his hair, combing through it with slow fingers like she had all the time in the world.
“I hate everyone except you,” he whispered against her shoulder.
“That’s because I’m the only one who knows how to calm you down.”
“You’re smug.”
“Only when I’m right.”
He finally laughed, low and grudging. “You’re lucky you’re pretty.”
“You’re lucky I’m patient.”
He leaned back just enough to look up at her, brown eyes searching hers. “You’re too good for me.”
She kissed his forehead this time. “I know.”
•
The room was dark except for the amber light of her desk lamp, turned low, casting soft shadows across the floor. Her laptop had been closed. Notebooks stacked. The air smelled faintly of lavender laundry detergent and her body cream—the one he always buried his face into when he hugged her from behind.
Luigi was sprawled on her bed now, hoodie loose over his boxers, one leg bent, the other draped across the mattress like he owned the place. Which, honestly, he kind of did. At least emotionally. He’d been sulking for hours, rotating between petty complaints and clingy affection.
She came out of the bathroom with her glasses off, barefaced, in a soft cotton cami and matching shorts the color of fresh cream. Gold glinted at her ears and collarbone. She smelled like every good memory he had.
“Finally,” he muttered, reaching for her like he hadn’t seen her in days instead of ten minutes.
“You are so dramatic.”
“And you’re so hot it’s illegal,” he said, pulling her down onto him without waiting.
She let out a surprised laugh, landing with a soft thud against his chest, her thigh sliding between his. His hands were already on her hips, hoodie sleeves pulled halfway up his forearms.
“I’m still mad,” he mumbled against her skin. “Just so you know.”
“Oh, I know. You’ve been stomping around my room and having an attitude.”
“Shut up,” he breathed, and then he was kissing her neck.
Warm. Wet. Open-mouthed kisses that left slick trails across her collarbone and just under her jaw. Not rushed—needy. Like he had to have her or he’d combust.
Her breath hitched.
“Lu…”
He didn’t stop. His curls brushed her cheek as he kissed lower, then back up, then behind her ear—his hoodie slipping off one shoulder as he shifted above her. She could feel how worked up he was just from the press of his body. The warmth. The low hum of want that buzzed in his chest and spilled out with every exhale.
“You’re so soft,” he said into her skin. “So warm. Makes me forget everything.”
Her fingers found his curls again, pulling them gently, slow but firm. His hips twitched against hers.
“God,” he breathed. “Keep doing that.”
“You’re the one that started this,” she said, but her voice was already a little shaky, lips parted, lashes fluttering. “You gonna be good now?”
“No,” he said immediately, voice rough. “I want all of you. Right now.”
“You’re such a brat.”
“You love it,” he smirked, then kissed her again—deeper, this time, tongue sliding lazily along her neck.
Her soft whines slipped out before she could stop them. Not loud. Just enough for him to smirk against her skin, teeth grazing the spot just below her ear. His hoodie hung open now, his hands sliding under the hem of her top, palms warm against her back.
“I had such a shitty day,” he whispered, voice breaking just a little. “Need you. Just… need you.”
That cracked something in her chest.
She held his face, kissed him slow and sure, fingers still buried in his hair like she’d never let go. And maybe she wouldn’t.
His lips crashed into hers like he was starving.
But she didn’t just melt into it—she took control. One hand still tangled in his hair, the other gripping his hoodie near the collar, pulling him closer. When his tongue brushed hers, tentative, needing, she caught his bottom lip between her teeth and bit—soft, slow, just enough pressure to make him gasp.
“Shit,” he breathed, pulling back half an inch, eyes wide, pupils blown. “You’re trying to kill me.”
She didn’t answer. Just kissed him again, tongue sliding past his lips with intention this time—sucking, slow and deep, until he moaned into her mouth like he couldn’t help it. His fingers dug into her waist, clutching at the soft curve of her hips through her shorts.
“Holy fuck,” he muttered, dazed. “Where did that come from?”
“You looked like you could use a little attitude adjustment,” she whispered against his lips.
He laughed—breathy, desperate—and kissed her again, messier now, hands roaming up her sides, under the cami. She was straddling him fully now, her thighs bracketing his, soft cotton sliding against his boxers. He was already hard beneath her, pressed right where she could feel him the most.
She moved.
Just once—hips rolling forward, slow and deliberate.
He groaned. Loud.
“Babe…”
She rolled again. Back, forward. Keeping her pace slow, grinding into him with that maddening rhythm only she could pull off—just enough friction to make him curse, not enough to let him get there.
“You’re evil,” he said, voice tight.
“You like it.”
“Of course I like it,” he choked, head dropping back into the pillows, curls splayed. “You’re sitting on my dick and making me beg—how am I not supposed to like that?”
Her lips brushed his neck again, and her teeth grazed lightly over his pulse point before she kissed it, tongue flicking over the sensitive skin.
He whimpered.
Actually whimpered.
“Oh my god,” he said, hands clinging to her thighs now like she was the only thing tethering him to earth. “You’re driving me insane.”
She sat up slightly, looking down at him with that wicked glint in her eye, gold jewelry catching the lamplight.
“Good,” she said. “Then it’s working.”
Luigi’s hoodie was halfway off his shoulders, clinging to him like he didn’t even have the motor control to take it off. She leaned down and pulled it the rest of the way off him, nails dragging lightly down his arms as she tossed it aside.
He was flushed, breath ragged, curls stuck to his forehead. Her thighs still pinned him in place, and his boxers—soaked through with want—left nothing to the imagination.
“You’re not playing fair,” he panted.
“That’s rich,” she murmured, reaching down to tug at the waistband of his boxers, “coming from the guy who mouth-fucked my neck ten minutes ago.”
“Guilty,” he whispered, then surged up to kiss her collarbone—messy, open, tongue-heavy. He sucked hard, just below the strap of her cami, his hands now fully under her top. His fingers slipped up her sides, grazing just under her breasts but not touching yet. Not until she said so.
She gasped, and he took that as encouragement.
He bit—light, but with enough pressure to leave heat in its wake—and then soothed it with his tongue. Another kiss. Another suck. The sound obscene in the quiet room.
“That’s one,” he muttered against her skin, smirking.
“Lu,” she warned, knowing what he was doing.
“Just one more,” he murmured, trailing kisses up to her neck, the spot that always made her breath stutter. He sucked there—slow and deep—and she let out the softest whimper, fingers tightening in his hair, tugging.
He groaned. Loud. Like she’d touched him somewhere filthy.
She ground down against him again, harder this time, dragging the damp fabric of his boxers along her heat. His hips bucked up into hers helplessly, need taking over.
“Fuck, I can feel you,” he said, voice raw. “You’re so wet.”
She bit her lip, eyes locked on his, hands sliding down his chest, slow and deliberate. “Take them off, then.”
His eyes widened.
“You—?”
“Take. Them. Off.”
He fumbled for a second—like his brain short-circuited—then yanked down his boxers, cock springing free, flushed and already leaking. He was thick and twitching under her, the tip red and glistening. She ran her fingers along the length, feather-light, watching him fall apart beneath her.
He moaned so loudly she had to cover his mouth with her hand, laughing softly.
“Shhh,” she whispered. “You want my RA to hear you begging?”
He nodded into her palm like a man possessed, eyes rolling back, hips jerking up into nothing.
She slid her shorts off slowly, keeping eye contact the whole time.
Luigi looked like he was watching the gates of heaven open just for him.
“Holy fuck,” he breathed, hands scrambling for her hips, “please let me—please, babe, I need you.”
“Yeah?” she asked, settling over him again, the head of his cock brushing against her entrance, making them both gasp. “Need me that bad?”
He nodded, desperate. “I’m gonna lose it. You don’t get it. I’ve been hard for hours, you—”
She sank down onto him, slow and smooth, cutting him off mid-whimper.
He choked on her name, grabbing her hips like he might fall apart if he didn’t hold on.
She rocked forward—slow, deep—and he swore, the most beautiful sound slipping from his throat as he filled her completely.
He filled her completely—deep, warm, throbbing—and for a second, they both just stayed there, breathing into the heat between their bodies. Her hands braced on his chest, his trembling on her waist like he didn’t trust himself not to flip her and lose his mind.
She leaned forward, kissing his temple, her voice honey-smooth and firm.
“You deserve this,” she whispered. “After the day you’ve had. Let me take care of you.”
Luigi whimpered again, almost overwhelmed. “Don’t say shit like that—please, I’ll come in five seconds.”
“Then don’t,” she said, rolling her hips slowly. “Be good for me.”
She moved with intention—slow, but deep. Every thrust deliberate, angled just right so he hit the spot inside her that made her eyes flutter and her breath catch. His jaw clenched beneath her, and she saw how hard he was trying to hold back, to stay still, to let her keep control.
“God, babe, please,” he breathed, face flushed and glistening. “You feel unreal—so tight, so warm—I can’t—”
“Shhh,” she cooed, dragging her nails gently down his chest. “I want you to feel everything. I want you to lose it.”
She started riding him harder now—still slow, but with more power behind it, hips snapping just a little sharper, the slick sound of their bodies filling the room. His head rolled back, and a guttural moan ripped out of him, low and broken.
Her fingers found his curls again, tugging hard enough to make his hips stutter up into her. He gasped.
“That’s it,” she said, voice husky. “Just like that.”
But then—
He snapped.
His hands clamped down on her thighs, and suddenly he was sitting up, mouth crashing into hers, tongue desperate, kisses messy and hungry.
“No,” he growled into her mouth, “I need more—I need you faster, harder, let me—please, let me—”
Before she could answer, he had her on her back, hoodie pooled beneath her shoulders, her legs wrapped around his waist as he buried himself back inside her in one deep, punishing thrust.
“Lu!”
“I’ll make it up to you,” he groaned, hips pounding now, rhythm rougher, needier. “I swear, I just—I need you.”
Her nails raked down his back, lips parting in a cry she tried to muffle with her hand, but he caught her wrist and pinned it above her head, grinning like a man unhinged.
“Let them hear,” he whispered, teeth at her throat. “Let them hear who makes you sound like that.”
She choked on a moan as he angled deeper, stroking that perfect spot inside her over and over until she was arching off the mattress, gold chains tangling against her throat, her whole body lit up and trembling.
“You gonna come for me?” he breathed. “Let go for me, babe. I want to feel you.”
She barely managed to nod, her whole body tightening beneath him, her thighs clamping down.
And when she did—when she came around him, gasping his name like a prayer—he followed instantly, burying himself deep as his whole body shuddered, moaning so loud it echoed off the walls.
For a long, still moment, the only sounds were their heavy breathing, the distant hum of the hallway fan, and the quiet thud of his heartbeat against her chest.
She was still catching her breath, cheeks flushed, limbs soft and heavy, when Luigi leaned in and kissed her neck again—slow, sweet.
But the way his hands gripped her thighs said something else entirely.
“Lu,” she murmured, voice raw, “I thought you—”
“I’m not done,” he said, low and serious. “Not even close.”
Before she could answer, he flipped her onto her stomach, strong hands guiding her up onto her knees. Her cheek hit the pillow, hips up, back arched—exposed. Vulnerable. The way he wanted her.
“Lu…” she breathed, a warning and a whimper in one.
“You’ve been too sweet to me,” he muttered, eyes raking over her body like he was about to wreck her. “Let me have this.”
He grabbed her hips, pulled her back until her ass pressed flush against him. She could feel him—already hard again, still hot and heavy—pressed between her thighs.
He slid in with one slow, brutal thrust.
She gasped, gripping the sheets.
“Too much?” he asked, mock-sweet, hand sliding up her spine.
“You’re—Lu, slow down—”
But he didn’t.
He grabbed a fistful of her hair and pushed her head down, cheek to the mattress, ass high.
“I said let me have this,” he growled.
Then he started moving—deep, relentless thrusts that sent her forward with each one. The slap of skin, the wet, obscene sounds between them, and her moans—half-choked into the pillow—filled the room like a storm had broken loose.
“You feel so good,” he rasped, voice fraying. “Taking me so deep, fuck—fuck, babe—”
She couldn’t answer. Could barely think. Her fingers clawed at the blankets, mouth open, eyes rolling back as he pounded into her harder, faster.
“Lu, please—please, you’re too—”
“Take it,” he snapped, hand smacking her ass once, hard. “You’re mine.”
She cried out, walls fluttering around him, body trembling from the overstimulation. Her hair clung to her back, sweat-damp and wild.
“I’m gonna cum,” he groaned, voice wild, rough, “and I’m not pulling out. You want that?”
She whimpered, legs shaking. “Yes—yes, Lu, please—”
“Fucking say it.”
“I want you to cum in me,” she gasped, words breaking as her body gave out beneath him. “I want it—need it—please, Luigi—”
That was it.
He slammed into her one last time, burying himself deep and holding her tight against him as he spilled inside her, moaning into her shoulder, hands gripping her like he never wanted to let go.
They stayed like that—connected, breathless, ruined.
And when he finally softened and pulled out, watching his release spill from between her thighs, he dropped beside her, chest still heaving.
“Jesus,” he whispered, dragging her against him, hand in her hair, kissing her temple. “I needed that more than food.”
She laughed—hoarse and dazed.
“Next time,” she murmured, “just tell me you’re mad.”
He grinned, exhausted and smug. “What, and miss out on this?”
•
The room had gone still. The only light came from the faint glow of her desk lamp and the hallway seeping through the bottom of the door. Luigi lay flat on his back, breath steadying, one arm tossed over his eyes like he’d been knocked out. His chest rose and fell in deep, slow waves.
She stirred beside him, legs still a little wobbly, skin flushed and glistening. She reached for the tissues on her nightstand, then paused—watching him for a second. The way his curls stuck to his forehead. The way his jaw relaxed when he wasn’t smirking or teasing. He looked peaceful. Wrecked, but peaceful.
She sat up, leaned over him, and started cleaning him up—slow, careful strokes. He twitched the first time, hips flinching slightly.
“Hey,” he murmured, voice rough from overuse. “Let me do that.”
“Shhh,” she said softly, wiping him down with gentle focus. “I got you.”
He looked up at her through half-lidded eyes, mouth parting at the way she touched him—not sexual now, just soothing. Reverent, even. Like she wanted him to feel cared for, not just spent.
Every few swipes, she’d kiss him. A kiss to his chest. His stomach. His hip bone.
Then, when she was done, she paused, letting her lips hover just above the head of his cock—soft now, but still sensitive, still slick from everything they’d shared. She kissed it. Barely there. Soft and warm and lingering.
Luigi moaned. Quiet, broken. Like even that final touch unraveled something inside him.
She smiled, then gently pulled his boxers back on, tugging them up his thighs and tucking him away like she was tucking in a secret.
“You’re trying to kill me again,” he whispered, voice hoarse.
“Just wanted to say goodnight.”
He laughed, sleepy and low. “That was a good night.”
She climbed back into bed with him, slipping under the covers, pulling him close. He immediately rolled toward her, throwing a leg over her hip, hand resting on her waist.
“You’re so good to me,” he whispered against her neck.
“You needed it.”
“I always need you.”
She kissed his forehead, then his cheek, then let her fingers drift up and down his spine until his breathing slowed again. And when he finally fell asleep, curled around her like gravity didn’t matter, she stayed awake just a few minutes longer.
Because no matter how cocky, needy, or bratty he got—this was her favorite version of him.
The quiet one who held her like she was home.
The Next Morning — 8:09 a.m.
The first thing she felt was warmth.
The second was weight—Luigi, practically draped over her like a human blanket, hoodie bunched up around his ribs, breath brushing against her collarbone. One of his legs tangled between hers. One arm around her waist. His curls soft and unruly, pressed against her cheek.
She blinked slowly, eyes adjusting to the morning light peeking through the window blinds. The air was still, peaceful. Her chest rose and fell under his, steady.
Without thinking, her fingers slid into his hair.
Instantly, he sighed.
Not even fully awake, and already melting.
A soft, muffled whine escaped his lips as her nails grazed his scalp. He didn’t move, didn’t lift his head—just nuzzled in closer like a cat in a sunbeam.
“Mmm,” he grumbled into her skin. “Don’t stop.”
“You’re such a baby,” she murmured, but her tone was affectionate. Her hand moved slower, curling a little deeper into his hair.
“I’m your baby,” he muttered, voice raspy and wrecked.
She smiled, letting her thumb graze the edge of his ear.
Then she felt it.
The hard press of him against her thigh. Not subtle. Not ignorable.
Her smile sharpened.
“Well, good morning,” she said, teasing. “You planning to do anything with that, or…?”
Luigi groaned, face immediately burying itself deeper into her neck.
“Don’t,” he whined, voice cracking. “It’s morning. I’m vulnerable.”
She laughed softly, kissing the top of his head. “You’re always vulnerable when I touch your hair.”
“You’re weaponizing it.”
“Maybe.”
Then, without warning, her hand slid down—slow, deliberate—over his back, down his side, until her fingers slipped under the waistband of his boxers.
He gasped, twitching against her.
“Babe—”
She grinned against his temple, her hand curling lightly around him. Not stroking yet. Just holding. Warm and gentle.
“You’re already so hard,” she whispered, voice dipping. “You always wake up like this?”
“I—fuck, not always,” he stuttered, hips jerking slightly. “Only when you’re in my bed. Or… I guess when I’m in yours.”
“Mmm.” She gave him the lightest squeeze. “You’re blushing.”
“I’m not—okay, I am. Jesus.”
She kissed his cheek, slow and warm, and started stroking—barely moving her hand, just enough to make him gasp again.
“You’re so sensitive,” she whispered. “Is this because of last night?”
“You broke me last night.”
“You liked it.”
“Obviously.”
He was already leaking, already whimpering softly into her skin, hands gripping her hip like he didn’t know where else to hold on.
“You wanna be good for me this morning?” she asked, teasing and sweet, her breath at his ear.
He nodded fast, breath catching.
“Then let me take care of you.”
“C’mon,” she whispered, kissing the corner of his mouth. “Lay back for me.”
Luigi didn’t argue. Just blinked at her with sleepy, blown-out eyes and let her roll him onto his back, curls splayed over her pillow, hoodie riding up over his stomach. He looked so soft like this—raw from last night, chest still rising fast, eyes fluttering when her hand stayed between his legs.
“God, you’re already so worked up,” she whispered, her palm gliding over the thick length of him. He was hot, twitching in her hand, tip glistening with precum that smeared across her fingers as she stroked him slowly.
He choked out a breath. “Fuck, babe, please—”
“Shhh,” she cooed, kissing his jaw. “You’re okay. I’ve got you.”
She sat up on her knees beside him, eyes fixed on his flushed face as she wrapped her fingers around him fully now, pumping slow, deliberate strokes from base to tip. Her thumb swirled over the head, collecting the leaking mess and spreading it down with each pass.
Luigi’s head tipped back, his jaw slack, hands fisting the sheets like he didn’t know what else to do with himself.
“God, you feel so good,” he moaned, hips lifting into her hand. “I’m gonna—babe, I—”
“Not yet,” she said sweetly, giving a firmer stroke. “Just let me take care of you. You don’t need to do anything.”
He whined—actually whined—as her pace stayed slow but relentless, her wrist twisting just enough to make him twitch, over and over. His stomach tensed, thighs shaking.
She kissed his chest. His neck. His stomach.
“You’re so sensitive,” she whispered, loving the way he shivered. “Still full from last night, huh?”
He nodded quickly, unable to speak.
Her other hand cradled his hip, grounding him as he bucked up into her fist, moaning now—soft, desperate sounds tumbling out like he didn’t know how to hold them in.
“You gonna cum for me, baby?” she murmured, lips brushing the shell of his ear.
“Y-yeah,” he gasped. “Yeah, I’m so close—please—don’t stop—”
She didn’t. She kept stroking him, a little faster now, the slick sounds getting louder as he spilled more over her fingers. His abs clenched, head thrown back, and he came with a broken cry—hot, thick ropes spilling across his stomach and her hand in messy, twitching pulses.
She didn’t stop touching him right away. Just slowed her strokes, coaxing every last drop from him as he trembled beneath her.
“Jesus,” he whispered, completely wrecked.
She kissed the inside of his thigh. “You’re so good for me.”
When he opened his eyes again, she was smiling down at him, wiping her hand on a tissue and already reaching for a clean one to gently clean his stomach. Like he was something delicate. Like she loved this part—caring for him when he could barely move.
“I don’t deserve you,” he mumbled, still dazed.
She kissed his cheek. “No, but you’ve got me anyway.”
He thought he was done.
Thought the handjob had drained every last bit of frustration and tension from his body. But then she kissed him again—slow, warm, one hand cupping his cheek and the other still resting on his thigh.
“You did so good for me,” she whispered, her lips brushing his. “But I wanna give you one more thing.”
Luigi blinked, dazed and flushed, lips parted. “One more?”
She smiled.
“Yeah,” she murmured. “Wanna see you fall apart for me again.”
She guided him to the edge of the bed, his legs spreading automatically as he sat. He looked down at her, brows already pulling together in anticipation, because he knew what she was about to do. She kissed his inner thigh, then the other, her hands sliding up the sides of his hips, fingers curling into the waistband of his boxers.
“Lay back,” she said softly, and he obeyed like it was instinct.
When she pulled his boxers down again, he was already starting to get hard—his cock flushed, still twitching, even after everything. His breath caught when she wrapped her hand around him again.
“I literally just came,” he muttered, voice wrecked.
She kissed the head of his cock. “And you’re already ready again. That’s so cute.”
“God,” he groaned, tossing his head back. “You’re evil.”
“You love me.”
He didn’t have time to respond.
Because she sank to her knees.
Right there in front of him, hair messy from sleep, gold jewelry catching the light, eyes warm and locked on his. She looked too angelic to be doing something so filthy—and that contrast made it even worse.
She started slow.
Tongue teasing around the head, soft sucks, the kind of gentle buildup that had him twitching in her hand again. But she didn’t stop there.
This time, she took him deeper.
All the way.
Luigi’s entire body tensed. His hands flew to the sheets, gripping them like he might fall off the planet.
“Holy fuck—” he choked, hips jerking.
She swallowed him down until her nose was pressed to his stomach, then pulled back just enough to drag her tongue along the underside—slow, firm, perfect.
His legs spread wider, his brows pulling tight, tongue sliding out to lick the corner of his mouth like he couldn’t even think straight.
“Babe—” he gasped. “I—I can’t— you’ve never—fuck—fuck.”
She moaned around him, and the vibrations made him whimper.
His hand reached out, trembling, threading through her hair. Not guiding—just holding. Like he needed something to keep him grounded.
“You’re gonna make me cum so fast,” he groaned. “That’s not fair—fuck, it’s not fair—”
But she was smiling.
She pulled off just long enough to say, “I want it. Wanna taste you.”
Then she went back down—deeper, hungrier—lips flushed, cheeks hollowing as she sucked him hard and slow, hand stroking what she couldn’t fit until he was panting, twitching, leaking all over her tongue.
Luigi looked completely wrecked.
Eyebrows drawn, cheeks flushed red, abs flexing with every pass of her mouth. He looked down at her like he couldn’t believe this was real, like his brain had short-circuited halfway through processing what she was doing.
“Baby—” he warned, voice breaking. “I’m gonna—fuck—I’m gonna—I’m cumming—”
She didn’t pull back.
She took it.
Every last drop, swallowing him as he came hard, his moans cracking in his throat as his hips jerked helplessly. His hand clenched in her hair, body shaking, completely undone.
When he finally opened his eyes again, she was looking up at him—smug and sweet, licking her lips.
He stared.
“You just… swallowed all of it.”
She shrugged, wiping her mouth. “You taste good.”
He blinked again, then let his head fall back with a groan. “You are literally going to kill me.”
She climbed back into bed beside him, kissing his cheek, then nuzzling into his neck.
“You can nap,” she whispered. “I’ll protect you.”
He wrapped an arm around her without a word, still dazed, still hard-breathing, totally spent.
And smiling.
9:12 a.m. — Her Dorm Room
Luigi was sitting half-dressed on the edge of her bed, hoodie halfway over his head, eyes glassy like he’d just come back from war. Because, in a way, he had.
“Are you ever gonna recover?” she asked, amused, as she tossed him a clean pair of socks.
He caught them clumsily. “You swallowed and then looked at me like it was nothing. I need time.”
“You’ve had time,” she said, pulling on her sweatshirt and smoothing her hair into a clip. “Now put your pants on. I’m making eggs.”
“I’m gonna marry you,” he muttered, tugging his sweatpants up. “I’m still weak. You’re feeding me. It’s over. I’m locked in.”
She leaned down to kiss his forehead. “You’ve been locked in. I just like spoiling you.”
He gave a broken sigh and collapsed back on the bed.
“You’re a menace.”
“And you love it.”
•
She worked fast, already cracking eggs and dropping toast into her tiny dorm toaster. Luigi hovered nearby like a six-foot golden retriever, arms wrapped around her waist from behind, hoodie sleeves bunched at the elbows. He kept his face buried in her shoulder, occasionally pressing lazy kisses to her neck.
“Do you need something?” she asked without looking up.
“You,” he mumbled. “Always.”
She shook her head, trying not to laugh. “Eat your breakfast and behave.”
He tightened his arms around her. “I can’t. You blew me. Literally. I’m emotionally compromised.”
“Luigi.”
“You were on your knees, babe. I saw God.”
Walk to the Café
They finally made it out the door after she forced him to brush his teeth, fix his hair, and pack his laptop. Now they were walking across Locust Walk, the early campus buzz already kicking in—students heading to class, coffee cups everywhere, bikes whirring past.
Luigi had one hand on the strap of his backpack. The other was locked around her waist.
She wore her usual soft, clean-scented perfume. Gold hoops, layered necklaces, everything about her perfectly put together. He looked like someone who’d barely survived something spiritual—and couldn’t stop smiling about it.
“You’re being clingy,” she said, glancing up at him.
“You rearranged my soul, you don’t get to be surprised I want to hold you.”
“People are staring.”
“They’re just jealous.”
He stopped in the middle of the sidewalk, pulled her close, and kissed her full on the mouth. Not rushed. Not casual. Just firm and affectionate—his way of telling the world she was his, and he was so fine with that.
She blinked up at him, lips flushed. “That was… a lot.”
“I’m still blushing.”
“You should be.”
He grinned and nudged her forward. “C’mon. You’ve got me addicted to that café croissant. And I need something to help me recover from the best morning of my life.”
She rolled her eyes and laced their fingers together. “You’re unbelievable.”
“Unbelievably in love with you.”
The café was buzzing with the late-morning crowd—students in hoodies and slippers, laptops open, espresso machines hissing nonstop. The smell of fresh coffee and buttery pastries wrapped around them as they stepped inside, hand in hand.
She was scanning the pastry case when someone called out from the corner.
“Hey! There she is!”
She turned, instinctively smiling—two girls from her environmental chem class waving her over. One had a UPenn tote slung over her shoulder, the other was halfway through a matcha.
“Didn’t think you were making it out of your dorm today,” one of them said, smirking as they walked up.
“We saw your notes on the group doc,” the other chimed in. “So organized, as always. You’re a lifesaver.”
“Thanks,” she said, tucking a piece of hair behind her ear. “I was just—”
That’s when one of them paused, eyes zeroing in just below her jaw.
“Oh my god, is that a—”
Her friend leaned in. “Yep. That’s a hickey.”
The grin that bloomed on their faces was instant. They turned their gaze—like radar—toward Luigi, who was standing right behind her, hands casually resting on her hips, expression completely unbothered.
“Hi,” one said, lips twitching. “You must be Luigi.”
“Guilty,” he said smoothly, not even trying to hide the smug little grin tugging at his lips.
She let out a scandalized laugh and covered her neck with one hand. “You guys are so annoying—”
“Oh, we’re annoying?” one of them shot back, grinning. “You’re the one walking around like you just got ruined.”
Luigi let out a low chuckle behind her, pressing his mouth to her temple like he might say something—but she cut him off by grabbing his hand and dragging him toward the counter.
“Okay, that’s enough,” she muttered, cheeks flaming as she half-hid her face in his chest. “They’re not gonna let me live.”
He wrapped his arms around her from behind, hands resting just above her stomach.
“You’re cute when you’re embarrassed,” he whispered in her ear. “Also… that was 100% on purpose. That spot under your ear? Mine now.”
“Luigi.”
“Say it.”
“No.”
He grinned into her hair. “Fine. I’ll earn another one later.”
She elbowed him lightly, stepping up to the counter to order. Still half-curled into him, still red-faced. But she didn’t pull away.
If anything, she held him tighter.
3:17 p.m. — Van Pelt Library, Third Floor Study Room
The study group was deep in work mode—laptops open, highlighters out, phones face-down, cold brew sweating on the table. A mix of bio majors, engineering kids, and one poli sci friend pretending to belong. Pages rustled, keyboards clicked, and the occasional ugh punctuated the low hum of productivity.
Luigi sat directly across from her.
He wore his glasses now—thin-framed, slightly crooked from being shoved in his backpack—and his curls were pulled back with a lazy claw clip she’d given him. He was focused, lips pursed, typing with sharp precision as his code scrolled fast.
She was beside him, eyes flicking between her textbook and her laptop, pen tapping absently.
For a while, they behaved.
Then it started.
It was subtle at first—his knee brushing hers under the table, then staying there. Her ankle slid between his legs a few minutes later. His foot nudged hers in response, and she didn’t look up, didn’t smile—just let it happen.
Ten minutes later, her phone buzzed beside her.
from Luigi:
you’re not slick with that foot.
but don’t stop.
She smirked, typed without looking at him.
to Luigi:
you’re already hard again, aren’t you?
She saw his throat move as he swallowed, then shifted in his seat. He didn’t reply. Just looked down at his screen, but she could see the flush creeping up his neck.
Five minutes passed. Then—
from Luigi:
stop.
i’m trying to not get caught.
you’re evil.
i want you so bad it’s actually painful.
She bit the inside of her cheek to keep from laughing, then wrote one last message.
to Luigi:
keep your hands to yourself, or I’ll take you to the bathroom and make it worse.
He blinked. Set his phone down. Adjusted his glasses. Looked at her like she’d just whispered filth in his ear in front of everyone.
That’s when one of the girls from the group looked up.
“Okay,” she said, pointing between them, “what is going on right now?”
They both froze.
“What?” she said innocently, scribbling a note in the margin of her reading.
“You two keep texting each other and blushing. Luigi hasn’t looked up in twenty minutes, and you keep kicking him under the table.”
Luigi sat back slowly, blinking behind his glasses.
“Studying,” he said too quickly. “Just—concentrating.”
The poli sci friend raised an eyebrow. “You’re vibrating, bro.”
“I—I code fast,” he said, adjusting his glasses again. “It’s a thing.”
One of the guys snorted. “Y’all are so not slick.”
She leaned into Luigi’s side, her hand brushing his thigh under the table as she looked up at the group.
“We’re just productive,” she said sweetly. “Right, Lu?”
He turned scarlet. “Mmhmm.”
She reached under the table again. He choked on air.
“Studying,” she reminded him with a grin, voice low.
“I hate you,” he muttered, eyes squeezed shut, shifting in his seat again.
She kissed his cheek. “Liar.”
•
The study group had scattered—half to the vending machines, a couple to refill water bottles, and one kid muttering something about protein bars and disappearing entirely. The break window opened like a gift.
She grabbed Luigi’s hand and tugged.
“C’mon.”
He blinked, flustered. “Wait—where are we—?”
“Five minutes.”
That was all it took.
They slipped down the narrow stairwell, past the half-lit corridors of second-floor stacks, weaving between dusty shelves and untouched archives. She pulled him into a back corner with no cameras, no windows, and just enough shadow.
The second they stopped moving, she pushed him back against the shelf and kissed him—hard.
His hands flew to her waist like instinct, but he was already breathless, already undone just from the look in her eyes.
“God, I’ve been going crazy,” he murmured between kisses. “You can’t just text me shit like that and expect me to focus.”
“You weren’t supposed to focus,” she said, kissing down his jaw. “I wanted you desperate.”
“You succeeded.”
She kissed him again—deeper this time. Tongue brushing his, slow and hot.
Then she sucked it into her mouth, moaning low in her throat.
Luigi whimpered.
Actually whimpered.
His hips twitched forward against her, and she felt it—long, hard, straining through his gym shorts.
She pulled back just enough to glance down, eyes going right to the prominent outline pressing against the thin fabric. Clear as day.
“Lu,” she whispered, tilting her head, smirking. “You’re already this hard?”
“You—fuck, babe—”
He rocked into her slightly, hands gripping her hips now, eyes fluttering. His head hit the shelf behind him with a dull thunk.
She reached down, palmed him through his shorts, just once.
He gasped.
“Someone’s sensitive,” she teased. “Still sore from this morning?”
He groaned, biting his lip hard. “Yes. And you’re making it worse.”
She leaned in, kissed just below his ear, voice like velvet.
“Good.”
Then her teeth grazed his neck—lightly—and her hand gave him one more slow, teasing stroke over his waistband.
He was panting now, trying to keep his voice down, hips shifting like he couldn’t help it. “You’re gonna kill me in a library.”
She pressed her body into his, lips brushing his again.
“Then die quiet.”
Luigi was flushed, breathing hard, his glasses sliding slightly down his nose as her hand left him aching and half-hard beneath his shorts. Her lips were swollen, pupils wide, and for a second—just a second—he thought maybe she’d give in.
He leaned in, hands sliding to her hips, thumbs slipping just beneath the hem of her shirt.
“What if,” he whispered, lips brushing hers, “I just pulled these down—” one thumb slid under the waistband of her shorts “—and ate you out right here?”
Her breath caught.
Her hand flew up to his chest, firm. “Lu.”
“No one would hear. You’d stay quiet for me, right?” he said, voice low and smug, mouth at her jaw now. “Just five minutes. I’d make you cum so hard you’d forget what class you’re in.”
Her thighs clenched. Hard.
But she shoved him back—lightly, but serious.
“Absolutely not. We’re not getting kicked out of the damn library because your dick can’t wait,” she hissed, adjusting her clothes, eyes still wild. “I’m not that crazy.”
He grinned, all mischief and flushed lips. “I think you’re a little crazy.”
“Luigi.”
“Okay, okay,” he said, hands raised in surrender, though his eyes were still locked on her like she was the only thing that existed. “I’ll behave.”
She gave him one last look—stern, heated, flushed—and turned on her heel, leading him back out of the stacks.
They walked fast, not speaking.
He trailed behind her, smiling to himself.
•
4:21 p.m. — Back in the Study Room
They slipped back into the room like nothing happened—her brushing a hand through her hair, him adjusting his hoodie. A few people glanced up. One girl clocked the way Luigi was definitely red in the face.
She sat down first. He took the seat beside her.
For a few seconds, it was quiet.
Then he leaned over, mouth close to her ear.
Voice like sin.
“Can’t wait to get you back in my mouth tonight.”
Her pen slipped right out of her hand.
She turned to glare at him, but he was already looking at his screen, completely composed, like he hadn’t just whispered something that set her whole body on fire.
She stared ahead, trying to focus.
Her ears were bright red.
And across the table, someone muttered under their breath, “Y’all are insufferable.”
Luigi smiled without looking up.
“Productive,” he said smoothly. “We’re just productive.”
.・゜゜・.・゜゜・.・゜゜・.・゜゜・.・゜゜・.・゜゜
It hit the limit so I’ll post a part 2 in a few days. I already have it done, but I won’t keep yall waiting too long. Thanks for reading 💖
#luigi mangione#free luigi#luigi mangione fanfiction#luigi mangione fic#luigi mangione x reader#luigi mangione x yn#luigi mangione smut
139 notes
·
View notes
Text
Well guess I made it even more yellow (code below !)
#footer .group,
.post fieldset fieldset,
fieldset fieldset {
background: none;
}
#header {
background: #000 url('https://media.archiveofourown.org/news/milestones/2024-08-seventeen-years-otw/2024-08-seventeen-years-otw-pattern.jpg');
background-size: 350px;
}
#header .heading a,
#header .primary .dropdown a:focus,
#header .heading a:visited,
#main .pagination .current,
h2 {
color: #ffe8b4;
}
#header .clear,
#footer {
border-color: #000000;
}
#header .actions a[href="/menu/fandoms"],
#header .actions a[href="/menu/browse"],
#header .actions a[href="/menu/search"],
#header .actions a[href="/menu/about"] {
color: #DEB887;
}
#footer ul {
background: url('https://live.staticflickr.com/7284/9616997915_4194b6c6f7_h.jpg');
background-size: 350px;
}
#footer ul li:nth-child(1) ul,
#footer ul li:nth-child(2) ul,
#footer ul li:nth-child(3) ul,
#footer ul li:nth-child(4) ul {
background: rgba(0, 0, 0, 0.0);
}
#header .primary {
background: #8a1a10;
}
#footer {
background: #8a1a10;
}
input[type="text"],
textarea,
select {
background: #191919;
color: #DEB887;
}
select:focus {
background: #2a2a2a;
}
option {
background: #191919;
color: #DEB887;
}
#work form fieldset.work.meta dl dd.warning.required fieldset,
#main form fieldset.work.meta dl dd.warning.required fieldset {
color: #DEB887;
}
#bookmark-form form {
background: #2a2a2a;
color: #DEB887;
}
#error {
color: #000000;
}
fieldset,
.verbose fieldset {
border-color: #404040;
background: #000000;
border: 1px solid #595959;
}
.search [role=tooltip] {
background: #333;
border: 1px solid #666;
}
#main a:visited {
color: #c88937;
}
#main a.tag:visited:hover {
color: #111;
}
body,
.group,
.group .group,
.region,
.flash,
form dl,
#main .verbose legend,
.notice,
ul.notes,
table,
th,
td:hover,
tr:hover,
.symbol .question:hover,
#modal,
.ui-sortable li,
.required .autocomplete,
.autocomplete .notice,
.system .intro,
.comment_error,
.kudos_error,
div.dynamic,
.dynamic form,
#ui-datepicker-div,
.ui-datepicker table {
background: #000000;
color: #FFE4B5;
border-color: #800000;
outline: #111;
box-shadow: none;
}
#header .actions a:hover,
#header .actions a:focus,
#header .dropdown:hover a,
#header .open a,
#header .menu,
#small_login,
.group.listbox,
fieldset fieldset.listbox,
.listbox,
form blockquote.userstuff,
input:focus,
textarea:focus,
li.relationships a,
.group.listbox .index,
.dashboard fieldset fieldset.listbox .index,
#dashboard a:hover,
th,
#dashboard .secondary,
.secondary,
.thread .even,
.system .tweet_list li,
.ui-datepicker tr:hover {
background: #191919;
}
a,
a.tag,
a:link,
#header a:visited,
#header .primary .open a,
#header .primary .dropdown:hover a,
#header #search input:focus,
#header #search input:hover,
.userstuff h2,
#dashboard a,
#dashboard span,
#dashboard .current,
.group .heading,
.filters dt a:hover {
color: #DEB887;
}
#header .dropdown .menu a:hover,
#header .dropdown .menu a:focus,
.splash .favorite li:nth-of-type(odd) a,
.ui-datepicker td:hover,
#tos_prompt .heading,
#tos_prompt [disabled] {
background: #111;
color: #ffe8b4;
}
#outer,
.javascript,
.statistics .index li:nth-of-type(even),
#tos_prompt,
.announcement input[type="submit"] {
background: #000000;
}
#dashboard ul,
dl.meta,
.group.listbox,
fieldset fieldset.listbox,
#main li.blurb,
form blockquote.userstuff,
div.comment,
li.comment,
.toggled form,
form dl dt,
form.single fieldset,
#inner .module .heading,
.bookmark .status span,
.splash .news li,
.filters .group dt.bookmarker {
border-color: #2a2a2a;
}
.group.listbox,
fieldset fieldset.listbox,
#main li.blurb,
.wrapper,
#dashboard .secondary,
.secondary,
form blockquote.userstuff,
.thread .comment,
.toggled form {
box-shadow: 1px 1px 3px #000;
}
#dashboard .current,
.actions a:active,
a.current,
.current a:visited,
span.unread,
.replied,
span.claimed,
dl.index dd,
.own,
.draft,
.draft .unread,
.child,
.unwrangled,
.unreviewed,
.ui-sortable li:hover {
background: #000;
border-color: #191919;
box-shadow: -1px -1px 3px #000;
}
input,
textarea {
box-shadow: inset 0 1px 2px #000;
}
li.blurb,
.blurb .blurb,
.listbox .index,
fieldset fieldset.listbox,
.dashboard .listbox .index {
box-shadow: inset 1px 1px 3px #000;
}
#footer a:hover,
#footer a:focus,
.autocomplete .dropdown ul li:hover,
.autocomplete .dropdown li.selected,
a.tag:hover,
.listbox .heading a.tag:visited:hover,
.symbol .question {
background: #ffedc5;
border-color: #988352;
color: #111;
}
#header #greeting img,
#header .user a:hover,
#header .user a:focus,
#header fieldset,
#header form,
#header p,
#dashboard a:hover,
.actions a:hover,
.actions input:hover,
.delete a,
span.delete,
span.unread,
.replied,
span.claimed,
.draggable,
.droppable,
span.requested,
a.work,
.blurb h4 a:link,
.blurb h4 img,
.splash .module h3,
.splash .browse li a:before,
.required,
.error,
.comment_error,
.kudos_error,
a.cloud7,
a.cloud8,
#tos_prompt .heading {
color: #ffe8b4;
}
#greeting .icon,
#dashboard,
#dashboard.own,
.error,
.comment_error,
.kudos_error,
.LV_invalid,
.LV_invalid_field,
input.LV_invalid_field:hover,
input.LV_invalid_field:active,
textarea.LV_invalid_field:hover,
textarea.LV_invalid_field:active,
.qtip-content {
border-color: #8a1a10;
}
.splash .favorite li:nth-of-type(odd) a:hover,
.splash .favorite li:nth-of-type(odd) a:focus .splash .favorite li:nth-of-type(odd) a:visited:hover,
.splash .favorite li:nth-of-type(odd) a:visited:focus {
background: #ffe8b4;
color: #111;
}
a:visited,
.actions a:visited,
.action a:link,
.action a:visited,
.listbox .heading a:visited,
span.series .divider {
color: #BC8F8F;
}
.actions a,
.actions a:link,
.action,
.action:link,
.actions input,
input[type="submit"],
button,
.current,
.actions label,
#header .actions a,
#outer .current {
background: #191919;
border-color: #222;
color: #eee;
box-shadow: inset 0 -8px 4px #232323, inset 0 8px 7px #191919;
text-shadow: none;
}
.actions a:hover,
.actions input:hover,
#dashboard a:hover,
.actions a:focus,
.actions input:focus,
#dashboard a:focus,
.actions .disabled select {
color: #999;
border-color: #000;
box-shadow: inset 2px 2px 2px #000;
}
.actions a:active,
.current,
a.current,
.current a:visited {
color: #DEB887;
background: #191919;
border-color: #DEB887;
box-shadow: inset 1px 1px 3px #000000;
}
.delete a,
span.delete {
box-shadow: -1px -1px 2px rgba(255,255,255.25);
}
.actions label.disabled {
background: #222;
box-shadow: none;
}
ul.required-tags,
.bookmark .status span,
.blurb .icon {
opacity: 0.9;
border: 0;
}
#outer .group .heading,
#header .actions a,
fieldset.listbox .heading,
.userstuff .heading {
text-shadow: none;
color: #DEB887;
background: none;
}
#header .actions a,
fieldset fieldset,
.mce-container button,
.filters .expander,
.actions .disabled select {
box-shadow: none;
}
fieldset fieldset.listbox {
outline: none;
}
form dd.required {
color: #eee;
}
.mce-container input:focus {
background: #F3EFEC;
}
.announcement .userstuff a,
.announcement .userstuff a:link,
.announcement .userstuff a:visited:hover {
color: #111;
}
.announcement .userstuff a:visited {
color: #666;
}
.announcement .userstuff a:hover,
.announcement .userstuff a:focus {
color: #999;
}
.event.announcement .userstuff a,
.filters .expander {
color: #eee;
}
169 notes
·
View notes
Note
Tulip please 🌷🌷🌷🌷
love - luigi mangione
♡ flower prompt: tulip - an act of affection so blatant everyone notices - meaning: declaration of love ♡ w.c.: 1.1k ♡ a/n: thank you, anon! hope you enjoy!
♡ send me a flower & i'll write a drabble based off the prompt !
An art gallery wasn’t exactly Luigi’s scene, and you knew it. He made it clear enough when you mentioned the event to him last week. His exact words were, “I’d rather get lost in a JavaScript rabbit hole for 8 hours than stand around with pretentious people pretending they understand abstract art.”
So, when he showed up at your door the evening of the show–hair still slightly damp from a rushed shower, wearing a crisply ironed button-up that actually made him look like he belonged at a high-end gallery–needless to say, you were more than surprised. Still, you were grateful except–
“You hate places like the gallery,” you had said, folding your arms in skepticism. He leaned against your doorway with a grin.
“Not entirely true,” he countered cheekily. “Besides, I would never leave my beautiful girlfriend to fend for herself against these rich snobs.”
“You’re rich, Luigi,” you pointed out.
“Okay, but this is different.”
“I can handle myself,” you said, locking up your apartment door. Your hard expression softens when you look over his outfit once more. He really put in the effort for you.
“You really didn’t have to come,” you sighed, feeling slightly guilty.
In reality, you were sure he had only agreed because you had talked about the exhibit for weeks. It wasn’t some random outing; your good friend from college had artwork in the show. You had even planned to go alone, determined not to let his lack of interest deter you. Somehow, though, Luigi still showed, drove you, and stayed at your side like he wasn’t bored in the slightest.
He didn’t make any snide comments. Didn’t crack a single joke about the ridiculously priced paintings or showy titles. He just listened when you explained why a certain piece caught your attention, nodding in a way that made you feel like he was genuinely paying attention.
“You’re really trying, huh?” you ask him. You’re paused in front of an acrylic piece titled Two Bodies, One Heart, a portrait of two people splashed in color. Their bodies are melded together– a melting, golden heart in the center of their jointed figures.
“Trying what?” he asks, shoving his hands in his pockets, staring at the piece.
“To not say anything snarky.”
He gives you a sidelong glance. “You know, if you didn’t want me to behave myself tonight, you should have just said so.”
You roll your eyes, laughing. “You’re unbelievable, Mangione.”
From the corner of your eye, you spot another piece. “I’ll be back,” you say, already drifting away from him. “That one looks so gorgeous.”
He gives a lazy wave, staying behind as you disappear into the crowd. You don’t mind, Luigi isn’t one to follow you like a lost puppy, but after about ten minutes, you realize he hasn’t joined you. You scan the crowd for his figure, but when you don’t spot his curly hair towering over everyone else, you frown.
“You’re awfully quiet tonight.”
Luigi appears by your side, hands behind his back. A casual smile rests on his face, one you recognize all too well. You turn your back to the large, abstract painting you had been admiring. He has his hands behind his back, but you pay the detail no mind, shrugging.
“Just taking it in,” you say, turning your attention back to the painting. “Not everything needs commentary, you know.”
“Says you,” he teases. His arm brushes against yours as he leans closer. “But okay, I’ll let you have your moment.”
It wasn’t unusual for Luigi to stand so close to you in moments like these. But there is something about the way he shifts his weight, the way his eyes dart to yours and then back to the crowd, that causes suspicion to rise.
“What are you up to?” you ask, narrowing your eyes.
“Who?” he asks, feigning innocence. “Me?”
“Yes, you.”
“Nothing,” he shrugs, “just wanted to…” He trails off, bringing his hands from behind his back, revealing a bright bouquet of tulips. They bloom with color, bright with shades of reds, yellows, and pinks. Their petals are vivid against the otherwise muted tones of the gallery. They stand out. They remind you of Luigi.
The sight of them catches you off guard, mouth falling open. You barely have time to react before he holds them out to you. A soft murmur shifts through the room as people begin to whisper and exchange glances, turning their heads to look at you two. You accept them, holding them delicately by the stems, laughing.
“Luigi,” you whisper, cheeks flushing. “What are you doing?”
He takes a step closer, his height forcing you to tilt your head up to meet his gaze. “Making a point.”
“A point?” you echo, clutching the flowers to your chest.
“I’m sorry you have to find out this way, (Name),” he begins, sighing dramatically. “I have a really, really big crush on you.”
Your lips twitch, before you burst into a fit of giggles, slapping his chest lightly. “Luigi, we’re dating,” you cry through your laughter. “You’re so ridiculous.”
“Ridiculously in love with you,” he replies with no hesitation, grin widening. It’s so corny, cliche and sweet–you can feel your tooth ache. Your cheeks are burning, but you don’t care. The tulips feel a bit heavier with his declaration. You clutch them tighter, stepping closer to him.
“You didn’t have to make a scene, baby,” you say gently, although the small smile that lingers on your lips betrays your humility. Luigi knows you love the idea of romantic gestures.
“Of course I had to,” he says, tone lightening as he leans in to you. “How else could I have let everyone know you’re the most important thing in this room?”
Overwhelmed with love for him, you lift yourself onto your toes and kiss his cheek. “Thank you,” you whisper, fondly.
“I love you,” he says gently, kissing the temple of your forehead. With that, he steps back, arm slipping casually around your waist. The crowd gradually returns to their conversations, though a few people continue to glance your way with unmasked interest.
“Now,” he says, “let’s go find your friend’s painting before she accuses me of stealing everyone’s attention.”
“You did hijack it,” you say, but the warmth in your tone betrays you and exposes your appreciation. “You’re lucky I love you.”
“Lucky doesn’t even begin to cover it, baby.”
You shake your head, laughing as he guides you through the gallery. For the rest of the evening, the art fades into the background, eclipsed by the warmth of the man at your side.
#luigi mangione#luigi mangione x reader#luigi mangione fanfic#luigi mangione fanfiction#angst#real person fiction#luigi mangione imagine#luigi mangione x y/n#luigi mangione x yn#fanfiction#free luigi#luigi mangione fluff#fluff#flower prompt#mrsmangiwrks
232 notes
·
View notes
Text
at last…. the final header:
this blog is a promotional site for a hole-in-the-wall cocktail bar on a commercial starliner in the year 2202, headed to the inner Oort cloud on a two-year sightseeing cruise. people from all over the globe have bought, earned, or snuck their way onboard its maiden voyage, and all seems well until the ship loses contact with Earth, very far away from home…
all the characters will be bar staff or ‘frequent flier’ patrons, and each will have their own usernames, icons, and ‘about me’ pages. i’m sticking to pixel art for this project because it’s fun, cute, and doesn’t take forever! character communications will mainly run through posts and comments, with chat rooms and hidden messages later on, if i Get Good at coding 👍 most of the groundwork is done - now i just need to paint lots of cool futuristic cocktails :)
draft header for an html blog project 🌟
#my post and comment system is just way too many nested divs 😔 BUT IT WORKS! AND IT KICKS ASS#it’s fully html and css rn but i’m learning javascript to make it even cooler#gonna put it up on neocities soon#science fiction#html css
196 notes
·
View notes
Text
dark flat ao3 skin v2.0
1. log in and go HERE
2. click button "Create Site Skin"
3. name it whatever
4. copy/paste code from below in "CSS" field
5. "Submit"
6. make sure you clicked button "Use" HERE in the list of skins
7. change it as you like
CSS:
outer .region,
footer .group,
.post fieldset fieldset, fieldset fieldset { background: none; }
body, .group, .group .group, .region, .flash, fieldset, fieldset fieldset ul, form dl, textarea,
main .verbose legend,
.verbose fieldset, .notice, ul.notes, input, textarea, table, th, td:hover, tr:hover, .symbol .question:hover,
modal,
.ui-sortable li, .required .autocomplete, .autocomplete .notice, .system .intro, .comment_error, .kudos_error, div.dynamic, .dynamic form,
ui-datepicker-div,
.ui-datepicker table { color: #eee; border-color: #151619; outline: #111; box-shadow: none; }
form .notice, form ul.notes { box-shadow: none; }
workskin {
font-size: 1.2em; margin: auto; padding: 0 0.25em; max-width: 60em; overflow-x: auto; overflow-y: hidden; position: relative; }
.actions a, .actions a:link, .action, .action:link, .actions input, input[type="submit"], button, .current, .actions label { border-radius: 0; }
header ul.primary,
outer #footer,
.toggled form { background: #1a1b1f; }
header .primary {
background: none; padding: 10px 0; width: 100%; box-shadow: none; }
fieldset, form dl, fieldset dl dl, fieldset fieldset fieldset, fieldset fieldset dl dl, dd.hideme, form blockquote.userstuff { background: #1a1b1f !important; }
.user.navigation.actions>li { margin-top: 0.3em !important; }
header .menu,
small_login {
border: 1px solid #1f2126; box-shadow: none; padding: 0; }
.tags.group, .more.group { margin-top: 0.6em; }
header .actions a:hover,
header .actions a:focus,
header .dropdown:hover a,
header .open a,
header .menu,
small_login,
.group.listbox, fieldset fieldset.listbox, form blockquote.userstuff, input:focus, textarea:focus, li.relationships a, .group.listbox .index, .dashboard fieldset fieldset.listbox .index,
dashboard a:hover,
th,
dashboard .secondary,
.secondary, .thread .even, .system .tweet_list li, .ui-datepicker tr:hover { background: #151619; }
.userstuff p { text-align: justify; margin: 1.286em auto; padding: 0; line-height: 1.5; }
.tags.commas { margin: 1.5em auto; }
header .dropdown .menu a:hover,
header .dropdown .menu a:focus,
.splash .favorite li:nth-of-type(odd) a, .ui-datepicker td:hover,
tos_prompt .heading,
tos_prompt [disabled] {
background: #22262a; }
outer,
.javascript, .statistics .index li:nth-of-type(even),
tos_prompt,
.announcement input[type="submit"] { background: #151619; }
.filters .submit input { border: 1px solid #202227; background-color: #202227; height: 110%; margin: 1em 0; min-height: 2.286em; padding-left: 0; padding-right: 0; text-align: center; white-space: normal; }
header ul.primary,
footer,
dashboard ul,
dl.meta, .group.listbox, fieldset fieldset.listbox,
main li.blurb,
form blockquote.userstuff, div.comment, li.comment, .toggled form, form dl dt, form.single fieldset,
inner .module .heading,
.bookmark .status span, .splash .news li, .filters .group dt.bookmarker { border-color: #1a1b1f; }
.work.navigation.actions { width: 100%; }
dl.meta { border: none; }
.splash .news li { padding: 1em; }
fieldset, form dl, fieldset dl dl, fieldset fieldset fieldset, fieldset fieldset dl dl, dd.hideme, form blockquote.userstuff { padding: 1em; }
.logged-in .splash>.module { width: 100% !important; }
dl.meta { max-width: 75em; margin: auto; clear: right; padding: 2em 1.75em; position: relative; overflow: hidden; }
.group.listbox, fieldset fieldset.listbox,
main li.blurb,
.wrapper,
dashboard .secondary,
.secondary, form blockquote.userstuff, .thread .comment, .toggled form { box-shadow: none; }
dashboard .current,
.actions a:active,
outer .current,
a.current, .current a:visited, span.unread, .replied, span.claimed, dl.index dd, .own, .draft, .draft .unread, .child, .unwrangled, .unreviewed, .ui-sortable li:hover { background: #1a1b1f; border-color: #1f2126; }
greeting .menu {
right: 0; border: 1px solid #1f2126; box-shadow: none; }
select { background-color: #202227; color: #fff; border: 1px solid #202227; min-height: 3em; border-radius: 0; padding: 0 0.6em; }
input:focus, select:focus, textarea:focus { background: #202227; }
body, .toggled form, .dynamic form, .secondary, .dropdown { background: #202227; color: #fff; margin: 0; padding: 0; }
footer a:hover,
footer a:focus,
.autocomplete .dropdown ul li:hover, .autocomplete .dropdown li.selected, a.tag:hover, .listbox .heading a.tag:visited:hover, .symbol .question, .qtip-content { background: #a7a7a7; color: #111; }
.splash .favorite li:nth-of-type(odd) a:hover, .splash .favorite li:nth-of-type(odd) a:focus { background: #a7a7a7; color: #111; }
header #greeting img,
header .heading a,
header .heading a:visited,
header .user a:hover,
header .user a:focus,
header fieldset,
header form,
header p,
dashboard a:hover,
.actions a:hover, .actions input:hover, .delete a, span.delete, span.unread, .replied, span.claimed, .draggable, .droppable, span.requested, a.work, .blurb h4 a:link, .blurb h4 img, .splash .module h3, .splash .browse li a:before, .required, .error, .comment_error, .kudos_error, a.cloud7, a.cloud8,
tos_prompt .heading {
color: #a7a7a7; }
header .menu li {
border-bottom: 1px solid #2c2c2c; margin: 0; text-align: left; }
greeting .icon,
dashboard,
dashboard.own,
.error, .comment_error, .kudos_error, .LV_invalid, .LV_invalid_field, input.LV_invalid_field:hover, input.LV_invalid_field:active, textarea.LV_invalid_field:hover, textarea.LV_invalid_field:active, .qtip-content { border-color: #151619; }
dashboard.own {
border: none; }
form.filters dl { margin-left: 0; margin-right: 0; }
.filters .expander:focus { outline: none; }
.filters .expander { padding: 0.45em 0 0.45em 14px; }
.filters .group dt.search, .filters .range dt { padding: 1.25em 0 0.4em 0; }
a.tag { border-bottom: 1px dotted !important; }
a, a:link, a.tag,
header a,
header a:visited,
header .primary .open a,
header .primary .dropdown:hover a,
header .primary .dropdown a:focus,
header #search input:focus,
header #search input:hover,
dashboard a,
dashboard span,
dashboard .current,
.heading, .group .heading, .filters dt a:hover { color: #fff; }
header .dropdown .menu a {
padding: .75em .5em .75em; }
header #search .text {
background: #151619 !important; border-radius: 0; margin: 0.2857em 0.429em; }
a:visited, .actions a:visited, .action a:link, .action a:visited, .listbox .heading a:visited, span.series .divider { color: #999; }
a:active, a:focus, button:focus { outline: none; }
.actions a, .actions a:link, .action, .action:link, .actions input, input[type="submit"], button, .current, .actions label,
header .actions a {
background: #23252a; border-color: #23252a; color: #eee; box-shadow: none; text-shadow: none; }
.actions a:hover, .actions input:hover,
dashboard a:hover,
.actions a:focus, .actions input:focus,
dashboard a:focus {
color: #fff; border-color: #101214; box-shadow: none; background-color: #101214; }
.actions a:active, .current, a.current, .current a:visited { color: #fff; background: #101214; border-color: #101214; box-shadow: none; }
.delete a, span.delete { box-shadow: none; }
ul.required-tags, .bookmark .status span, .blurb .icon { opacity: 0.9; border: 0; }
outer .group .heading,
header .actions a,
fieldset.listbox .heading, .userstuff .heading, .heading, .userstuff h2 { text-shadow: none; color: #fff; background: none; }
header .actions a,
fieldset fieldset, .mce-container button, .filters .expander { box-shadow: none; }
fieldset fieldset.listbox { outline: none; }
form dd.required { color: #eee; }
.mce-container input:focus { background: #F3EFEC; }
.announcement .userstuff a, .announcement .userstuff a:link, .announcement .userstuff a:visited:hover { color: #fff; }
a, a:link, a:visited:hover { color: #fff; text-decoration: none; }
.announcement .userstuff a:visited { color: #666; }
.announcement .userstuff a:hover, .announcement .userstuff a:focus { color: #999; }
.event.announcement .userstuff a, .filters .expander { color: #eee; }
form.verbose legend, .verbose form legend { background: #151619; }
.listbox li.blurb { box-shadow: none; background: #1a1b1f; }
li.blurb, fieldset, form dl { border: none; }
li.blurb, .blurb .blurb { display: block; position: relative; clear: left; padding: 1em 1.4em; overflow: visible; background: #1a1b1f; }
dashboard ul {
float: none; display: block; padding: 0.26em 0; text-align: right; position: relative; background: none; }
user-fandoms {
padding: 1.4em 0; background: #1a1b1f; }
.listbox .index { padding: 0.6em 0; }
.bookmark div.user { background-color: #151619; }
.bookmark dl.stats { margin-bottom: 1.5em; margin-top: 1.5em; }
.dashboard .own, .comment span.unreviewed { background: #1a1b1f; opacity: 1.0; }
.own, .draft, .draft .wrapper, .unread, .child, .unwrangled, .unreviewed { background: #1a1b1f; opacity: 0.95; }
.actions a, .actions a:link, .action, .action:link, .actions input, input[type="submit"], button, .current, .actions label { padding: 0.5em 1em; border-radius: 0; }
header {
margin: 0 0 3em; }
.tags.group, .more.group { padding: 0.6em; }
dashboard a,
dashboard span {
line-height: 2.2; padding: 0 0.5em; }
.listbox>.heading, .listbox .heading a:visited { margin-left: .6em; }
.listbox, fieldset fieldset.listbox { border: 1px solid #1a1b1f; margin: 0.5em auto; box-shadow: none; }
.reading .user { margin-top: 1.5em; padding-top: 0.5em; border-top: 1px solid #23252a !important; }
.comment .userstuff { background-color: #1a1b1f !important; }
input, textarea { box-shadow: none; background: #151619; padding: 0.4em; }
.filters .indicator:before { background: #404248; color: #aaa; display: inline-block; border: 1px solid #404248; margin-right: 0.25em; background-image: none; }
.filters [type="checkbox"]+.indicator:before { padding: 0 0.25em; border-radius: 2px; }
.filters [type="checkbox"]:checked+.indicator:before { background: #970000; color: #ffffff; background-image: none; }
.filters input:checked+.indicator:before { border-color: #1a1b1f; }
.filters input:checked+.indicator+span { font-weight: 500; }
.filters .exclude [type="checkbox"]:checked+.indicator:before { background: #970000; color: #ffffff; background-image: none; }
.filters [type="radio"]:checked+.indicator:before { background: #970000; background-image: none; }
ui-datepicker-div,
.ui-datepicker table { background: #1a1b1f; }
.ui-datepicker td { border: 1px solid #23252a; }
.notice, .comment_notice, .kudos_notice, ul.notes, .caution, .error, .comment_error, .kudos_error, .alert.flash { background: #2e3138; border: 1px solid #2e3138; margin: 0.6em auto; padding: 1em; box-shadow: none; border-radius: 0; }
.listbox .index { padding: 0.6em; box-shadow: none; }
dl.meta { max-width: 75em; background: #1a1b1f; margin-top: 1em; }
dl.index dd { background: #151619 !important; }
form.search input[type="text"] { border-top-color: #151619; background-color: #202227; padding: 0.45em 0.45em; border-radius: 0; }
modal {
background: #1a1b1f; border: 10px solid #1a1b1f; margin: 3% 0; max-width: 800px; min-width: 200px; padding-bottom: 44px; position: relative; text-align: left; width: 80%; z-index: 501; }
.post .meta dd ul li { display: block; padding-bottom: 0.6em; }
workskin {
font-size: 1.2em; max-width: 52em; }
div.comment, li.comment { padding: 0.6em; background: #1a1b1f !important; }
193 notes
·
View notes
Note
komaedas have you tried straw.page?
(i hope you don't mind if i make a big ollllle webdev post off this!)
i have never tried straw.page but it looks similar to carrd and other WYSIWYG editors (which is unappealing to me, since i know html/css/js and want full control of the code. and can't hide secrets in code comments.....)
my 2 cents as a web designer is if you're looking to learn web design or host long-term web projects, WYSIWYG editors suck doodooass. you don't learn the basics of coding, someone else does it for you! however, if you're just looking to quickly host images, links to your other social medias, write text entries/blogposts, WYSIWYG can be nice.
toyhouse, tumblr, deviantart, a lot of sites implement WYSIWYG for their post editors as well, but then you can run into issues relying on their main site features for things like the search system, user profiles, comments, etc. but it can be nice to just login to your account and host your information in one place, especially on a platform that's geared towards that specific type of information. (toyhouse is a better example of this, since you have a lot of control of how your profile/character pages look, even without a premium account) carrd can be nice if you just want to say "here's where to find me on other sites," for example. but sometimes you want a full website!
---------------------------------------
neocities hosting
currently, i host my website on neocities, but i would say the web2.0sphere has sucked some doodooass right now and i'm fiending for something better than it. it's a static web host, e.g. you can upload text, image, audio, and client-side (mostly javascript and css) files, and html pages. for the past few years, neocities' servers have gotten slower and slower and had total blackouts with no notices about why it's happening... and i'm realizing they host a lot of crypto sites that have crypto miners that eat up a ton of server resources. i don't think they're doing anything to limit bot or crypto mining activity and regular users are taking a hit.
↑ page 1 on neocitie's most viewed sites we find this site. this site has a crypto miner on it, just so i'm not making up claims without proof here. there is also a very populated #crypto tag on neocities (has porn in it tho so be warned...).
---------------------------------------
dynamic/server-side web hosting
$5/mo for neocities premium seems cheap until you realize... The Beautiful World of Server-side Web Hosting!
client-side AKA static web hosting (neocities, geocities) means you can upload images, audio, video, and other files that do not interact with the server where the website is hosted, like html, css, and javascript. the user reading your webpage does not send any information to the server like a username, password, their favourite colour, etc. - any variables handled by scripts like javascript will be forgotten when the page is reloaded, since there's no way to save it to the web server. server-side AKA dynamic web hosting can utilize any script like php, ruby, python, or perl, and has an SQL database to store variables like the aforementioned that would have previously had nowhere to be stored.
there are many places in 2024 you can host a website for free, including: infinityfree (i use this for my test websites :B has tons of subdomains to choose from) [unlimited sites, 5gb/unlimited storage], googiehost [1 site, 1gb/1mb storage], freehostia [5 sites/1 database, 250mb storage], freehosting [1 site, 10gb/unlimited storage]
if you want more features like extra websites, more storage, a dedicated e-mail, PHP configuration, etc, you can look into paying a lil shmoney for web hosting: there's hostinger (this is my promocode so i get. shmoney. if you. um. 🗿🗿🗿) [$2.40-3.99+/mo, 100 sites/300 databases, 100gb storage, 25k visits/mo], a2hosting [$1.75-12.99+/mo, 1 site/5 databases, 10gb/1gb storage], and cloudways [$10-11+/mo, 25gb/1gb]. i'm seeing people say to stay away from godaddy and hostgator. before you purchase a plan, look up coupons, too! (i usually renew my plan ahead of time when hostinger runs good sales/coupons LOL)
here's a big webhost comparison chart from r/HostingHostel circa jan 2024.
---------------------------------------
domain names
most of the free website hosts will give you a subdomain like yoursite.has-a-cool-website-69.org, and usually paid hosts expect you to bring your own domain name. i got my domain on namecheap (enticing registration prices, mid renewal prices), there's also porkbun, cloudflare, namesilo, and amazon route 53. don't use godaddy or squarespace. make sure you double check the promo price vs. the actual renewal price and don't get charged $120/mo when you thought it was $4/mo during a promo, certain TLDs (endings like .com, .org, .cool, etc) cost more and have a base price (.car costs $2,300?!?). look up coupons before you purchase these as well!
namecheap and porkbun offer something called "handshake domains," DO NOT BUY THESE. 🤣🤣🤣 they're usually cheaper and offer more appealing, hyper-specific endings like .iloveu, .8888, .catgirl, .dookie, .gethigh, .♥, .❣, and .✟. I WISH WE COULD HAVE THEM but they're literally unusable. in order to access a page using a handshake domain, you need to download a handshake resolver. every time the user connects to the site, they have to provide proof of work. aside from it being incredibly wasteful, you LITERALLY cannot just type in the URL and go to your own website, you need to download a handshake resolver, meaning everyday internet users cannot access your site.
---------------------------------------
hosting a static site on a dynamic webhost
you can host a static (html/css/js only) website on a dynamic web server without having to learn PHP and SQL! if you're coming from somewhere like neocities, the only thing you need to do is configure your website's properties. your hosting service will probably have tutorials to follow for this, and possibly already did some steps for you. you need to point the nameserver to your domain, install an SSL certificate, and connect to your site using FTP for future uploads. FTP is a faster, alternative way to upload files to your website instead of your webhost's file upload system; programs like WinSCP or FileZilla can upload using FTP for you.
if you wanna learn PHP and SQL and really get into webdev, i wrote a forum post at Mysidia Adoptables here, tho it's sorted geared at the mysidia script library itself (Mysidia Adoptables is a free virtual pet site script, tiny community. go check it out!)
---------------------------------------
file storage & backups
a problem i have run into a lot in my past like, 20 years of internet usage (/OLD) is that a site that is free, has a small community, and maybe sounds too good/cheap to be true, has a higher chance of going under. sometimes this happens to bigger sites like tinypic, photobucket, and imageshack, but for every site like that, there's like a million of baby sites that died with people's files. host your files/websites on a well-known site, or at least back it up and expect it to go under!
i used to host my images on something called "imgjoe" during the tinypic/imageshack era, it lasted about 3 years, and i lost everything hosted on there. more recently, komaedalovemail had its webpages hosted here on tumblr, and tumblr changed its UI so custom pages don't allow javascript, which prevented any new pages from being edited/added. another test site i made a couple years ago on hostinger's site called 000webhost went under/became a part of hostinger's paid-only plans, so i had to look very quickly for a new host or i'd lose my test site.
if you're broke like me, looking into physical file storage can be expensive. anything related to computers has gone through baaaaad inflation due to crypto, which again, I Freaquing Hate, and is killing mother nature. STOP MINING CRYPTO this is gonna be you in 1 year
...um i digress. ANYWAYS, you can archive your websites, which'll save your static assets on The Internet Archive (which could use your lovely donations right now btw), and/or archive.today (also taking donations). having a webhost service with lots of storage and automatic backups can be nice if you're worried about file loss or corruption, or just don't have enough storage on your computer at home!
if you're buying physical storage, be it hard drive, solid state drive, USB stick, whatever... get an actual brand like Western Digital or Seagate and don't fall for those cheap ones on Amazon that claim to have 8,000GB for $40 or you're going to spend 13 days in windows command prompt trying to repair the disk and thenthe power is gong to go out in your shit ass neighvborhood and you have to run it tagain and then Windows 10 tryes to update and itresets the /chkdsk agin while you're awayfrom town nad you're goig to start crytypting and kts just hnot going tot br the same aever agai nikt jus not ggiog to be the saeme
---------------------------------------
further webhosting options
there are other Advanced options when it comes to web hosting. for example, you can physically own and run your own webserver, e.g. with a computer or a raspberry pi. r/selfhosted might be a good place if you're looking into that!
if you know or are learning PHP, SQL, and other server-side languages, you can host a webserver on your computer using something like XAMPP (Apache, MariaDB, PHP, & Perl) with minimal storage space (the latest version takes up a little under 1gb on my computer rn). then, you can test your website without needing an internet connection or worrying about finding a hosting plan that can support your project until you've set everything up!
there's also many PHP frameworks which can be useful for beginners and wizards of the web alike. WordPress is one which you're no doubt familiar with for creating blog posts, and Bluehost is a decent hosting service tailored to WordPress specifically. there's full frameworks like Laravel, CakePHP, and Slim, which will usually handle security, user authentication, web routing, and database interactions that you can build off of. Laravel in particular is noob-friendly imo, and is used by a large populace, and it has many tutorials, example sites built with it, and specific app frameworks.
---------------------------------------
addendum: storing sensitive data
if you decide to host a server-side website, you'll most likely have a login/out functionality (user authentication), and have to store things like usernames, passwords, and e-mails. PLEASE don't launch your website until you're sure your site security is up to snuff!
when trying to check if your data is hackable... It's time to get into the Mind of a Hacker. OWASP has some good cheat sheets that list some of the bigger security concerns and how to mitigate them as a site owner, and you can look up filtered security issues on the Exploit Database.
this is kind of its own topic if you're coding a PHP website from scratch; most frameworks securely store sensitive data for you already. if you're writing your own PHP framework, refer to php.net's security articles and this guide on writing an .htaccess file.
---------------------------------------
but. i be on that phone... :(
ok one thing i see about straw.page that seems nice is that it advertises the ability to make webpages from your phone. WYSIWYG editors in general are more capable of this. i only started looking into this yesterday, but there ARE source code editor apps for mobile devices! if you have a webhosting plan, you can download/upload assets/code from your phone and whatnot and code on the go. i downloaded Runecode for iphone. it might suck ass to keep typing those brackets.... we'll see..... but sometimes you're stuck in the car and you're like damn i wanna code my site GRRRR I WANNA CODE MY SITE!!!


↑ code written in Runecode, then uploaded to Hostinger. Runecode didn't tell me i forgot a semicolon but Hostinger did... i guess you can code from your webhost's file uploader on mobile but i don't trust them since they tend not to autosave or prompt you before closing, and if the wifi dies idk what happens to your code.
---------------------------------------
ANYWAYS! HAPPY WEBSITE BUILDING~! HOPE THIS HELPS~!~!~!
-Mod 12 @eeyes
198 notes
·
View notes