feat: Finish hosting enquiry page
All checks were successful
Build Docker / BuildImage (push) Successful in 2m12s
All checks were successful
Build Docker / BuildImage (push) Successful in 2m12s
This commit is contained in:
39
server.py
39
server.py
@@ -1043,6 +1043,45 @@ def download(path):
|
|||||||
def wellknown(path):
|
def wellknown(path):
|
||||||
return send_from_directory(".well-known", path)
|
return send_from_directory(".well-known", path)
|
||||||
|
|
||||||
|
@app.route("/hosting/send-enquiry", methods=["POST"])
|
||||||
|
def hosting_send_enquiry():
|
||||||
|
if not request.json:
|
||||||
|
return jsonify({"status": "error", "message": "No JSON data provided"}), 400
|
||||||
|
|
||||||
|
# Keys
|
||||||
|
# email, cpus, memory, disk, backups, message
|
||||||
|
required_keys = ["email", "cpus", "memory", "disk", "backups", "message"]
|
||||||
|
for key in required_keys:
|
||||||
|
if key not in request.json:
|
||||||
|
return jsonify({"status": "error", "message": f"Missing key: {key}"}), 400
|
||||||
|
email = request.json["email"]
|
||||||
|
cpus = request.json["cpus"]
|
||||||
|
memory = request.json["memory"]
|
||||||
|
disk = request.json["disk"]
|
||||||
|
backups = request.json["backups"]
|
||||||
|
message = request.json["message"]
|
||||||
|
# Send to Discord webhook
|
||||||
|
webhook_url = os.getenv("HOSTING_WEBHOOK")
|
||||||
|
if not webhook_url:
|
||||||
|
return jsonify({"status": "error", "message": "Hosting webhook not set"}), 500
|
||||||
|
data = {
|
||||||
|
"content": "",
|
||||||
|
"embeds": [
|
||||||
|
{
|
||||||
|
"title": "Hosting Enquiry",
|
||||||
|
"description": f"Email: {email}\nCPUs: {cpus}\nMemory: {memory}GB\nDisk: {disk}GB\nBackups: {backups}\nMessage: {message}",
|
||||||
|
"color": 16711680, # Red color
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
|
headers = {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
}
|
||||||
|
response = requests.post(webhook_url, json=data, headers=headers)
|
||||||
|
if response.status_code != 204 and response.status_code != 200:
|
||||||
|
return jsonify({"status": "error", "message": "Failed to send enquiry"}), 500
|
||||||
|
return jsonify({"status": "success", "message": "Enquiry sent successfully"}), 200
|
||||||
|
|
||||||
|
|
||||||
@app.route("/<path:path>")
|
@app.route("/<path:path>")
|
||||||
def catch_all(path: str):
|
def catch_all(path: str):
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find something interesting to read. Or maybe check one of my tutorials">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Find something interesting to read. Or maybe check one of my tutorials">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
@@ -99,7 +100,16 @@
|
|||||||
<div style="padding: 10px; font-weight: bold;">
|
<div style="padding: 10px; font-weight: bold;">
|
||||||
Monthly Cost: $<span id="monthlyCost" style="display:inline-block; min-width: 6ch; font-family: monospace; text-align: left;">0.00</span><br>
|
Monthly Cost: $<span id="monthlyCost" style="display:inline-block; min-width: 6ch; font-family: monospace; text-align: left;">0.00</span><br>
|
||||||
<small>All prices are in AUD</small>
|
<small>All prices are in AUD</small>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<input type="email" id="email" name="email" class="form-control" placeholder="Your Email" required style="margin-top: 10px;">
|
||||||
|
<!-- Allow message -->
|
||||||
|
<textarea id="message" name="message" class="form-control" placeholder="Your Message" rows="3" style="margin-top: 10px;"></textarea>
|
||||||
|
|
||||||
|
<button type="button" class="btn btn-primary" style="margin-top: 10px;" onclick="sendEnquiry()">Send Enquiry</button>
|
||||||
|
<small id="enquiryStatus" style="display: block; margin-top: 10px;"></small>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -109,6 +119,41 @@
|
|||||||
const diskRate = 0.1;
|
const diskRate = 0.1;
|
||||||
const backupRate = 1;
|
const backupRate = 1;
|
||||||
|
|
||||||
|
// On document load, initialize the values
|
||||||
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
// Check if parameters are in the URL
|
||||||
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
|
if (urlParams.has('cpus')) {
|
||||||
|
document.getElementById('cpus').value = urlParams.get('cpus');
|
||||||
|
}
|
||||||
|
if (urlParams.has('memory')) {
|
||||||
|
document.getElementById('memory').value = urlParams.get('memory');
|
||||||
|
}
|
||||||
|
if (urlParams.has('disk')) {
|
||||||
|
document.getElementById('disk').value = urlParams.get('disk');
|
||||||
|
}
|
||||||
|
if (urlParams.has('backups')) {
|
||||||
|
document.getElementById('backups').checked = urlParams.get('backups') === 'true';
|
||||||
|
}
|
||||||
|
if (urlParams.has('email')) {
|
||||||
|
document.getElementById('email').value = urlParams.get('email');
|
||||||
|
}
|
||||||
|
if (urlParams.has('message')) {
|
||||||
|
document.getElementById('message').value = urlParams.get('message');
|
||||||
|
}
|
||||||
|
// Update the displayed values
|
||||||
|
updateValue('cpus');
|
||||||
|
updateValue('memory');
|
||||||
|
updateValue('disk');
|
||||||
|
calculateCost();
|
||||||
|
// Send the enquiry if the form is submitted
|
||||||
|
document.getElementById('costForm').addEventListener('submit', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
sendEnquiry();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
function updateValue(field) {
|
function updateValue(field) {
|
||||||
const value = document.getElementById(field).value;
|
const value = document.getElementById(field).value;
|
||||||
document.getElementById(field + 'Value').textContent = value;
|
document.getElementById(field + 'Value').textContent = value;
|
||||||
@@ -130,6 +175,54 @@
|
|||||||
document.getElementById('monthlyCost').textContent = monthlyCost.toFixed(2);
|
document.getElementById('monthlyCost').textContent = monthlyCost.toFixed(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sendEnquiry() {
|
||||||
|
// Ensure that the email field is filled
|
||||||
|
const email = document.getElementById('email').value;
|
||||||
|
if (!email) {
|
||||||
|
document.getElementById('enquiryStatus').textContent = 'Please enter your email address.';
|
||||||
|
document.getElementById('enquiryStatus').style.color = 'red';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Collect form data
|
||||||
|
const cpus = document.getElementById('cpus').value;
|
||||||
|
const memory = document.getElementById('memory').value;
|
||||||
|
const disk = document.getElementById('disk').value;
|
||||||
|
const backups = document.getElementById('backups').checked ? 'Yes' : 'No';
|
||||||
|
const message = document.getElementById('message').value;
|
||||||
|
const enquiryData = {
|
||||||
|
email: email,
|
||||||
|
cpus: cpus,
|
||||||
|
memory: memory,
|
||||||
|
disk: disk,
|
||||||
|
backups: backups,
|
||||||
|
message: message
|
||||||
|
};
|
||||||
|
// Send the enquiry data to the server
|
||||||
|
fetch('/hosting/send-enquiry', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify(enquiryData)
|
||||||
|
})
|
||||||
|
.then(response => {
|
||||||
|
if (response.ok) {
|
||||||
|
document.getElementById('enquiryStatus').textContent = 'Enquiry sent successfully!';
|
||||||
|
document.getElementById('enquiryStatus').style.color = 'green';
|
||||||
|
calculateCost();
|
||||||
|
} else {
|
||||||
|
document.getElementById('enquiryStatus').textContent = 'Failed to send enquiry. Please try again.';
|
||||||
|
document.getElementById('enquiryStatus').style.color = 'red';
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('Error sending enquiry:', error);
|
||||||
|
document.getElementById('enquiryStatus').textContent = 'Error sending enquiry. Please check your network connection.';
|
||||||
|
document.getElementById('enquiryStatus').style.color = 'red';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Initialize on load
|
// Initialize on load
|
||||||
calculateCost();
|
calculateCost();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ Find out what I've been up to in the last little bit">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Find out what I've been up to in the last week">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ Find out what I've been up to in the last little bit">
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/">Home</a></li>
|
||||||
|
<li class="nav-item nav-link"><a class="nav-link" href="/hosting">Hosting</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/projects">Projects</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/blog">Blog</a></li>
|
||||||
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
<li class="nav-item nav-link"><a class="nav-link" href="/now">Now</a></li>
|
||||||
|
|||||||
Reference in New Issue
Block a user