aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/edittemplate.pm20
-rw-r--r--doc/ikiwiki/directive/edittemplate.mdwn2
2 files changed, 14 insertions, 8 deletions
diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm
index b408dfcac..571accf1f 100644
--- a/IkiWiki/Plugin/edittemplate.pm
+++ b/IkiWiki/Plugin/edittemplate.pm
@@ -140,13 +140,19 @@ sub filltemplate ($$) {
$template->param(name => $page);
if ($template->query(name => 'uuid')) {
- eval {
- require UUID::Tiny;
- UUID::Tiny->import(':std');
- my $uuid;
- $uuid = create_uuid_as_string(UUID_V4());
- $template->param(uuid => $uuid);
- };
+ my $uuid;
+ if (open(my $fh, "<", "/proc/sys/kernel/random/uuid")) {
+ $uuid = <$fh>;
+ chomp $uuid;
+ close $fh;
+ }
+ else {
+ eval {
+ require UUID::Tiny;
+ $uuid = UUID::Tiny::create_uuid_as_string(UUID::Tiny::UUID_V4());
+ };
+ }
+ $template->param(uuid => $uuid);
}
return $template->output;
diff --git a/doc/ikiwiki/directive/edittemplate.mdwn b/doc/ikiwiki/directive/edittemplate.mdwn
index 151fd203a..63df23914 100644
--- a/doc/ikiwiki/directive/edittemplate.mdwn
+++ b/doc/ikiwiki/directive/edittemplate.mdwn
@@ -35,6 +35,6 @@ Two variables might be set:
created.
* `<TMPL_VAR uuid>` is replaced with a version 4 (random) UUID.
- (Requires the `UUID::Tiny` Perl module.)
+ (Requires the `UUID::Tiny` Perl module if not running on Linux.)
[[!meta robots="noindex, follow"]]