Skip to content

Commit e291247

Browse files
committed
tightened up landing page, minor fix, plus added winter 2026 survey
1 parent 177ef4b commit e291247

4 files changed

Lines changed: 280 additions & 7 deletions

File tree

docs/contributing.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,7 @@ We are inspired by the *[all contributors](https://github.com/all-contributors/a
1616
- **Test on different systems** and report compatibility
1717
- **Create educational content** like zines or video tutorials
1818
- **Develop add-on libraries** or document Lua ecosystem integration
19+
20+
## Winter 2026 L5 Survey
21+
22+
[The Winter 2026 L5 Survey is currently live](survey.md)

docs/index.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,7 @@ Where Java undergoes regular major updates and JavaScript is a fast-evolving and
6666

6767
## Getting Started
6868

69-
1. **Install Love2D** from [love2d.org](https://www.love2d.org/)
70-
2. [Download L5](https://raw.githubusercontent.com/L5lua/L5/main/L5.lua)
71-
3. **Create or edit main.lua** in the same directory as L5.lua
72-
4. **Require L5** at the top of your main.lua file with `require ("L5")`
73-
5. **Write** your program code in main.lua
74-
6. **Run** your program by dragging the directory holding your main.lua sketch onto Love2D icon or running `love .` in terminal from its root.
69+
Ready to try L5? Check out the [download](download.md) page for an installation guide and the [tutorials](tutorials/index.md) for easy ways to get started.
7570

7671
## Community and Support
7772

docs/survey.md

Lines changed: 274 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
## Winter 2026 L5 Survey
2+
3+
Thanks for trying out L5!
4+
5+
This is a survey to get initial feedback to help decide next steps for the language library. All questions are optional. When finished, the *Send Survey* button will open up your email client for you to send along your responses. Alternatively, there is also a [Google Forms survey](https://docs.google.com/forms/d/e/1FAIpQLSdhZtiS8NXF4T5nlNtxgrupdH21WxnIspmHZf8uskTTjBB5bw/viewform?usp=header) as well as instructions for browsers without JavaScript.
6+
7+
<div class="form-container">
8+
9+
<style>
10+
* {
11+
box-sizing: border-box;
12+
margin: 0;
13+
padding: 0;
14+
}
15+
16+
.form-container {
17+
margin: 0 auto;
18+
background: white;
19+
padding: 30px;
20+
border-radius: 8px;
21+
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
22+
}
23+
24+
.form-group {
25+
margin-bottom: 25px;
26+
}
27+
28+
.form-group label {
29+
display: block;
30+
margin-bottom: 8px;
31+
font-weight: 500;
32+
color: #555;
33+
}
34+
35+
.form-group input[type="text"],
36+
.form-group input[type="email"],
37+
.form-group textarea {
38+
width: 100%;
39+
padding: 10px;
40+
border: 1px solid #ddd;
41+
border-radius: 4px;
42+
font-size: 14px;
43+
font-family: inherit;
44+
}
45+
46+
.form-group input[type="text"]:focus,
47+
.form-group input[type="email"]:focus,
48+
.form-group textarea:focus {
49+
outline: none;
50+
border-color: #4CAF50;
51+
}
52+
53+
.form-group textarea {
54+
resize: vertical;
55+
min-height: 100px;
56+
}
57+
58+
.checkbox-group {
59+
margin-bottom: 10px;
60+
}
61+
62+
.checkbox-group input[type="checkbox"] {
63+
margin-right: 8px;
64+
}
65+
66+
.checkbox-group label {
67+
display: inline;
68+
font-weight: normal;
69+
}
70+
71+
.other-input {
72+
margin-left: 28px;
73+
margin-top: 5px;
74+
width: calc(100% - 28px);
75+
}
76+
77+
button {
78+
background: #4CAF50;
79+
color: white;
80+
padding: 12px 30px;
81+
border: none;
82+
border-radius: 4px;
83+
font-size: 16px;
84+
cursor: pointer;
85+
transition: background 0.3s;
86+
}
87+
88+
button:hover {
89+
background: #45a049;
90+
}
91+
92+
.note {
93+
margin-top: 15px;
94+
padding: 10px;
95+
background: #f0f0f0;
96+
border-radius: 4px;
97+
font-size: 14px;
98+
color: #666;
99+
}
100+
101+
.noscript-warning {
102+
margin-bottom: 20px;
103+
padding: 15px;
104+
background: #fff3cd;
105+
border: 1px solid #ffc107;
106+
border-radius: 4px;
107+
color: #856404;
108+
}
109+
</style>
110+
111+
<noscript>
112+
<div class="noscript-warning">
113+
<strong>Note:</strong> The form below requires JavaScript. Alternatively, please <a href="mailto:lee@leetusman.com?subject=L5%20Winter2026%20Survey%20Response">click here to open your email client</a> and answer the following questions:
114+
115+
<ol>
116+
<li>Name</li>
117+
<li>How have you tried out L5? (checked out website, checked out code/repo, installed and tried examples, wrote own programs, other)</li>
118+
<li>What most interests you about L5? (new Processing-like library, Lua syntax, small size, speed, resiliency, other)</li>
119+
<li>If you bounced off L5 or it doesn't appeal, why not?</li>
120+
<li>What is L5 missing right now?</li>
121+
<li>Any other feedback?</li>
122+
<li>If you'd be potentially interested in contributing (code, bug reports, tutorials, etc), how would you like to contribute?</li>
123+
<li>Your email address (to stay connected on all things L5)</li>
124+
</ol>
125+
</div>
126+
</noscript>
127+
128+
<form id="surveyForm">
129+
<div class="form-group">
130+
<label for="name">1. Name</label>
131+
<input type="text" id="name" name="Name">
132+
</div>
133+
134+
<div class="form-group">
135+
<label>2. How have you tried out L5?</label>
136+
<div class="checkbox-group">
137+
<input type="checkbox" id="tried1" name="tried" value="Checked out website">
138+
<label for="tried1">I checked out the website</label>
139+
</div>
140+
<div class="checkbox-group">
141+
<input type="checkbox" id="tried2" name="tried" value="Checked out code/repo">
142+
<label for="tried2">I checked out the L5.lua code file and/or Github repo</label>
143+
</div>
144+
<div class="checkbox-group">
145+
<input type="checkbox" id="tried3" name="tried" value="Installed and tried examples">
146+
<label for="tried3">I installed Love2d, downloaded L5 and tried out some examples</label>
147+
</div>
148+
<div class="checkbox-group">
149+
<input type="checkbox" id="tried4" name="tried" value="Wrote own programs">
150+
<label for="tried4">I wrote my own program(s)</label>
151+
</div>
152+
<div class="checkbox-group">
153+
<input type="checkbox" id="tried5" name="tried" value="Other">
154+
<label for="tried5">Other:</label>
155+
</div>
156+
<input type="text" class="other-input" id="triedOther" placeholder="Please specify...">
157+
</div>
158+
159+
<div class="form-group">
160+
<label>3. What most interests you about L5?</label>
161+
<div class="checkbox-group">
162+
<input type="checkbox" id="interest1" name="interest" value="New Processing-like library">
163+
<label for="interest1">Any new Processing-like library interests me</label>
164+
</div>
165+
<div class="checkbox-group">
166+
<input type="checkbox" id="interest2" name="interest" value="Lua syntax">
167+
<label for="interest2">Lua language's easy syntax</label>
168+
</div>
169+
<div class="checkbox-group">
170+
<input type="checkbox" id="interest3" name="interest" value="Small size">
171+
<label for="interest3">L5's small size and ability to work on older or underpowered machines</label>
172+
</div>
173+
<div class="checkbox-group">
174+
<input type="checkbox" id="interest4" name="interest" value="Speed">
175+
<label for="interest4">Speed!</label>
176+
</div>
177+
<div class="checkbox-group">
178+
<input type="checkbox" id="interest5" name="interest" value="Resiliency">
179+
<label for="interest5">Resiliency of the underlying system (Lua extremely slow to change, well-documented, easy to work with)</label>
180+
</div>
181+
<div class="checkbox-group">
182+
<input type="checkbox" id="interest6" name="interest" value="Other">
183+
<label for="interest6">Other:</label>
184+
</div>
185+
<input type="text" class="other-input" id="interestOther" placeholder="Please specify...">
186+
</div>
187+
188+
<div class="form-group">
189+
<label for="bounced">4. If you bounced off L5 or it doesn't appeal, why not?</label>
190+
<textarea id="bounced" name="bounced" rows="4"></textarea>
191+
</div>
192+
193+
<div class="form-group">
194+
<label for="missing">5. What is L5 missing right now?</label>
195+
<textarea id="missing" name="missing" rows="4"></textarea>
196+
</div>
197+
198+
<div class="form-group">
199+
<label for="feedback">6. Any other feedback?</label>
200+
<textarea id="feedback" name="feedback" rows="4"></textarea>
201+
</div>
202+
203+
<div class="form-group">
204+
<label for="contribute">7. If you'd be potentially interested in contributing (code, bug reports, tutorials, etc), how would you like to contribute?</label>
205+
<textarea id="contribute" name="contribute" rows="4"></textarea>
206+
</div>
207+
208+
<div class="form-group">
209+
<label for="email">8. Your email address (to stay connected on all things L5)</label>
210+
<input type="email" id="email" name="email">
211+
</div>
212+
213+
<button type="submit">Send Survey</button>
214+
215+
<div class="note">
216+
Note: This will open your default email client to send your responses.
217+
</div>
218+
</form>
219+
220+
<script>
221+
document.getElementById('surveyForm').addEventListener('submit', function(e) {
222+
e.preventDefault();
223+
224+
var name = document.getElementById('name').value || 'Anonymous';
225+
226+
// Get checked items for "How tried"
227+
var triedCheckboxes = document.querySelectorAll('input[name="tried"]:checked');
228+
var triedChecked = [];
229+
for (var i = 0; i < triedCheckboxes.length; i++) {
230+
triedChecked.push(triedCheckboxes[i].value);
231+
}
232+
var triedOther = document.getElementById('triedOther').value;
233+
if (triedOther) {
234+
triedChecked.push('Other: ' + triedOther);
235+
}
236+
var tried = triedChecked.length > 0 ? triedChecked.join(', ') : 'N/A';
237+
238+
// Get checked items for "What interests"
239+
var interestCheckboxes = document.querySelectorAll('input[name="interest"]:checked');
240+
var interestChecked = [];
241+
for (var j = 0; j < interestCheckboxes.length; j++) {
242+
interestChecked.push(interestCheckboxes[j].value);
243+
}
244+
var interestOther = document.getElementById('interestOther').value;
245+
if (interestOther) {
246+
interestChecked.push('Other: ' + interestOther);
247+
}
248+
var interest = interestChecked.length > 0 ? interestChecked.join(', ') : 'N/A';
249+
250+
var bounced = document.getElementById('bounced').value || 'N/A';
251+
var missing = document.getElementById('missing').value || 'N/A';
252+
var feedback = document.getElementById('feedback').value || 'N/A';
253+
var contribute = document.getElementById('contribute').value || 'N/A';
254+
var email = document.getElementById('email').value || 'N/A';
255+
256+
// Build email
257+
var subject = encodeURIComponent('L5 Survey Response - Winter 2026');
258+
var body = encodeURIComponent(
259+
'L5 Survey Response\n\n' +
260+
'1. Name: ' + name + '\n\n' +
261+
'2. How have you tried out L5?\n' + tried + '\n\n' +
262+
'3. What most interests you about L5?\n' + interest + '\n\n' +
263+
'4. If you bounced off L5 or it doesn\'t appeal, why not?\n' + bounced + '\n\n' +
264+
'5. What is L5 missing right now?\n' + missing + '\n\n' +
265+
'6. Any other feedback?\n' + feedback + '\n\n' +
266+
'7. How would you like to contribute?\n' + contribute + '\n\n' +
267+
'8. Email address:\n' + email
268+
);
269+
270+
window.location.href = 'mailto:lee@leetusman.com?subject=' + subject + '&body=' + body;
271+
});
272+
</script>
273+
274+
</div>

docs/tutorials/input.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ Here are some ideas:
321321
* Create a game where you move a character with the mouse
322322
* Make a program that changes background color based on mouse position
323323
* Create a "catch the circle" game where clicking a moving target gives you points
324-
* Create a program where the user controls a ball that bounces around the screen. Add acceleration, gravity, and braking. Instead of a circle, make it a spaceship (like from the game [Asteroids](https://en.wikipedia.org/wiki/Asteroids_(video_game))) [where](where) you control the direction and acceleration.
324+
* Create a program where the user controls a ball that bounces around the screen. Add acceleration, gravity, and braking. Instead of a circle, make it a spaceship (like from the game [Asteroids](https://en.wikipedia.org/wiki/Asteroids_(video_game))) where you control the direction and acceleration.
325325

326326
**Next tutorial**: [For Loops](for-loops.md)
327327

0 commit comments

Comments
 (0)