Update to latest Jetzig
This commit is contained in:
parent
0c59f29509
commit
348545949a
5 changed files with 11 additions and 95 deletions
|
|
@ -1,52 +0,0 @@
|
|||
const std = @import("std");
|
||||
const jetzig = @import("jetzig");
|
||||
const queries = @import("../lib/db.zig");
|
||||
const sqlite = @import("sqlite");
|
||||
|
||||
pub fn index(request: *jetzig.Request, data: *jetzig.Data) !jetzig.View {
|
||||
var root = try data.array();
|
||||
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
|
||||
const allocator = gpa.allocator();
|
||||
var arena = std.heap.ArenaAllocator.init(allocator);
|
||||
defer arena.deinit();
|
||||
var db = try sqlite.Db.init(.{
|
||||
.mode = sqlite.Db.Mode{ .File = "/home/swebb/Source/zuletzt/src/app/database/data.db" },
|
||||
.open_flags = .{
|
||||
.write = true,
|
||||
.create = true,
|
||||
},
|
||||
.threading_mode = .MultiThread,
|
||||
});
|
||||
const params = try request.params();
|
||||
const queryOrNull: ?[]const u8 = if (params.get("q")) |param| param.string.value else null;
|
||||
if (queryOrNull) |query| {
|
||||
// sql.search(query, db);
|
||||
var artistSearch = try db.prepare(queries.total_search);
|
||||
defer artistSearch.deinit();
|
||||
|
||||
const artistResults = try artistSearch.all(
|
||||
struct {
|
||||
artist: []u8,
|
||||
url: []u8,
|
||||
form: []u8,
|
||||
},
|
||||
arena.allocator(),
|
||||
.{},
|
||||
.{ .artist = query, .album = query, .track = query },
|
||||
);
|
||||
|
||||
for (artistResults) |r| {
|
||||
std.log.debug("artist: {s}, url: {s}", .{ r.artist, r.url });
|
||||
try root.append(data.string(r.artist));
|
||||
try root.append(data.string(r.url));
|
||||
try root.append(data.string(r.form));
|
||||
//std.log.debug("{s}", .{r});
|
||||
}
|
||||
} else {
|
||||
return request.render(.bad_request);
|
||||
}
|
||||
//const query = params.get("q");
|
||||
//try root.put("q",query);
|
||||
//try root.put("q", data.string("Welcome"));
|
||||
return request.render(.ok);
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<table>
|
||||
<tr>
|
||||
<th>Artist</th>
|
||||
<th>Album</th>
|
||||
<th>Track</th>
|
||||
</tr>
|
||||
@zig {
|
||||
for (zmpl.items(.array), 0..) |u,i| {
|
||||
if(@mod(i,3)==0){
|
||||
<tr>
|
||||
<td id={{zmpl.items(.array)[i+2].string.value}}><a href={{zmpl.items(.array)[i+1].string.value}}>{{u}}</a></td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
}
|
||||
</table>
|
||||
12
src/main.zig
12
src/main.zig
|
|
@ -1,10 +1,10 @@
|
|||
const std = @import("std");
|
||||
|
||||
pub const jetzig = @import("jetzig");
|
||||
|
||||
const jetzig = @import("jetzig");
|
||||
pub const routes = @import("routes");
|
||||
const zmd = @import("zmd");
|
||||
const builtin = @import("builtin");
|
||||
pub const static = @import("static");
|
||||
|
||||
pub const sqlite = @import("sqlite");
|
||||
|
||||
// Override default settings in `jetzig.config` here:
|
||||
pub const jetzig_options = struct {
|
||||
|
|
@ -72,13 +72,13 @@ pub const jetzig_options = struct {
|
|||
"</ul>",
|
||||
};
|
||||
|
||||
pub fn block(allocator: std.mem.Allocator, node: jetzig.zmd.Node) ![]const u8 {
|
||||
pub fn block(allocator: std.mem.Allocator, node: zmd.Node) ![]const u8 {
|
||||
return try std.fmt.allocPrint(allocator,
|
||||
\\<pre class="w-1/2 font-mono mt-4 ms-3 bg-gray-900 p-2 text-white"><code class="language-{?s}">{s}</code></pre>
|
||||
, .{ node.meta, node.content });
|
||||
}
|
||||
|
||||
pub fn link(allocator: std.mem.Allocator, node: jetzig.zmd.Node) ![]const u8 {
|
||||
pub fn link(allocator: std.mem.Allocator, node: zmd.Node) ![]const u8 {
|
||||
return try std.fmt.allocPrint(allocator,
|
||||
\\<a class="underline decoration-sky-500" href="{0s}" title={1s}>{1s}</a>
|
||||
, .{ node.href.?, node.title.? });
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue