summaryrefslogtreecommitdiffstats
path: root/tpl
AgeCommit message (Expand)Author
2024-04-18tpl: Use erroridf for remote YouTube errorsBjørn Erik Pedersen
2024-04-15Pass .RenderShortcodes' Page to render hooks as .PageInnerBjørn Erik Pedersen
2024-04-14helpers: Fix TrimShortHTML when used with AsciiDoc contentJoe Mooring
2024-04-11all: Fix duplicate words in commentsEitan Adler
2024-04-04tpl/strings: Improve type checkingJoe Mooring
2024-04-04tpl/tplimpl: Improve youtube shortcodeJoe Mooring
2024-04-04errors: Return error from cast.ToStringE() consistentlyseiya
2024-04-02tpl/tplimpl: Improve embedded opengraph templateJoe Mooring
2024-04-02tpl/strings: Create strings.Diff template functionJoe Mooring
2024-04-02tpl/tplimpl: Optionally exclude content from sitemapJoe Mooring
2024-04-01tpl/tplimpl: Remove trailing slash from void elementsJoe Mooring
2024-03-30tpl/tplimpl: Update RSS templateJoe Mooring
2024-03-28tpl/tplimpl: Update schema templateJoe Mooring
2024-03-26Fix panic with debug.Dump with Page when running the serverBjørn Erik Pedersen
2024-03-26tpl/tplimpl: Update Google Analytics template and configJoe Mooring
2024-03-15hugolib: Deprecate site methods Author, Authors, and SocialJoe Mooring
2024-03-15Fix intersect and similar for term entry page collectionsBjørn Erik Pedersen
2024-03-15Upgrade to Go 1.22.1Bjørn Erik Pedersen
2024-03-14tpl/tplimpl: Remove deprecated method from sitemapindex.xmlJoe Mooring
2024-03-14tpl/tplimpl: Modify figure shortcode to look for page resourceJoe Mooring
2024-03-13Fix Name for nested resourced fetched in resources.ByName and similarBjørn Erik Pedersen
2024-03-07Fix resource name in resources.ByTypeBjørn Erik Pedersen
2024-03-07Fix global resource isn't published when using an uncommon code constructBjørn Erik Pedersen
2024-03-07tpl/tplimpl: Honor markdown attributes in embedded image render hookJoe Mooring
2024-03-01Fix resources.GetMatch, resources.Match, and resources.ByType to they don't n...Bjørn Erik Pedersen
2024-02-21tpl/tplimpl: Resolve fragments in link render hookJoe Mooring
2024-02-19Handle rebuilds when resources passed to transform.Unmarshal etc. changesBjørn Erik Pedersen
2024-02-11all: Fix typosChristian Oliff
2024-02-02tpl/tplimpl: Update embedded instagram, twitter, and vimeo shortcodesJoe Mooring
2024-02-01tpl/data: Fix GetCSV deprecation messageJoe Mooring
2024-01-30Create default link and image render hooksBjørn Erik Pedersen
2024-01-30Add warnidf template functionBjørn Erik Pedersen
2024-01-28all: Run gofumpt -l -w .Bjørn Erik Pedersen
2024-01-28testing: Simplify some integration testsBjørn Erik Pedersen
2024-01-28tpl/data: Deprecate data.GetJSON and data.GetCSVBjørn Erik Pedersen
2024-01-28testing: Rename integration_test.go to PACKAGE_integration_test.goBjørn Erik Pedersen
2024-01-27all: Rework page store, add a dynacache, improve partial rebuilds, and some g...develop2024Bjørn Erik Pedersen
2024-01-25tpl/tplimpl: Fix incorrect lastBuildDate Daniel Terhorst-North
2024-01-25tpl: fix incorrect lastBuildDateDaniel Terhorst-North
2024-01-16parser/metadecoders: Add CSV lazyQuotes option to transform.UnmarshalJoe Mooring
2023-12-29tpl/math: Add math.Rand template functionJoe Mooring
2023-12-18all: Remove unused codeBjørn Erik Pedersen
2023-12-04Pull in the latest code from Go's template packages (#11771)Bjørn Erik Pedersen
2023-12-04tpl: Allow using page resources on the images page parameter for `opengraph`,...Razon Yang
2023-12-04tpl/fmt: Print suppression help with erroridfJoe Mooring
2023-12-04tpl/transform: Display Chroma highlighting errorsJoe Mooring
2023-11-27tpl/transform: Add transform.XMLEscape template functionJoe Mooring
2023-11-27tpl/tplimpl: Remove superfluous type attr on script elementsJoe Mooring
2023-11-16helpers: Fix TrimShortHTML used by markdownify and RenderStringJoe Mooring
2023-11-01tpl/tplimpl: Fix deprecation logic in embedded templatesJoe Mooring
pan class="w"> 1000000ULL + start.ru_utime.tv_usec); fprintf(stderr, "Added %d entries in %llu nanoseconds: %llu inserts per second\n", max, dt, max * 1000000ULL / dt); fprintf(stderr, " > Dictionary: %llu inserts, %llu deletes, %llu searches\n\n", dict->stats->inserts, dict->stats->deletes, dict->stats->searches); // ------------------------------------------------------------------------ getrusage(RUSAGE_SELF, &start); dict->stats->inserts = dict->stats->deletes = dict->stats->searches = 0ULL; fprintf(stderr, "Retrieving %d entries from the dictionary\n", max); for(i = 0; i < max; i++) { value.i = i; snprintf(buf, 100, "%d", i); v = dictionary_get(dict, buf); if(!v) fprintf(stderr, "ERROR: cannot get value %d from the dictionary\n", i); else if(v->i != i) fprintf(stderr, "ERROR: expected %d but got %d\n", i, v->i); } getrusage(RUSAGE_SELF, &end); dt = (end.ru_utime.tv_sec * 1000000ULL + end.ru_utime.tv_usec) - (start.ru_utime.tv_sec * 1000000ULL + start.ru_utime.tv_usec); fprintf(stderr, "Read %d entries in %llu nanoseconds: %llu searches per second\n", max, dt, max * 1000000ULL / dt); fprintf(stderr, " > Dictionary: %llu inserts, %llu deletes, %llu searches\n\n", dict->stats->inserts, dict->stats->deletes, dict->stats->searches); // ------------------------------------------------------------------------ getrusage(RUSAGE_SELF, &start); dict->stats->inserts = dict->stats->deletes = dict->stats->searches = 0ULL; fprintf(stderr, "Resetting %d entries in the dictionary\n", max); for(i = 0; i < max; i++) { value.i = i; snprintf(buf, 100, "%d", i); dictionary_set(dict, buf, &value, sizeof(struct myvalue)); } getrusage(RUSAGE_SELF, &end); dt = (end.ru_utime.tv_sec * 1000000ULL + end.ru_utime.tv_usec) - (start.ru_utime.tv_sec * 1000000ULL + start.ru_utime.tv_usec); fprintf(stderr, "Reset %d entries in %llu nanoseconds: %llu resets per second\n", max, dt, max * 1000000ULL / dt); fprintf(stderr, " > Dictionary: %llu inserts, %llu deletes, %llu searches\n\n", dict->stats->inserts, dict->stats->deletes, dict->stats->searches); // ------------------------------------------------------------------------ getrusage(RUSAGE_SELF, &start); dict->stats->inserts = dict->stats->deletes = dict->stats->searches = 0ULL; fprintf(stderr, "Searching %d non-existing entries in the dictionary\n", max); max2 = max * 2; for(i = max; i < max2; i++) { value.i = i; snprintf(buf, 100, "%d", i); v = dictionary_get(dict, buf); if(v) fprintf(stderr, "ERROR: cannot got non-existing value %d from the dictionary\n", i); } getrusage(RUSAGE_SELF, &end); dt = (end.ru_utime.tv_sec * 1000000ULL + end.ru_utime.tv_usec) - (start.ru_utime.tv_sec * 1000000ULL + start.ru_utime.tv_usec); fprintf(stderr, "Searched %d non-existing entries in %llu nanoseconds: %llu not found searches per second\n", max, dt, max * 1000000ULL / dt); fprintf(stderr, " > Dictionary: %llu inserts, %llu deletes, %llu searches\n\n", dict->stats->inserts, dict->stats->deletes, dict->stats->searches); // ------------------------------------------------------------------------ getrusage(RUSAGE_SELF, &start); dict->stats->inserts = dict->stats->deletes = dict->stats->searches = 0ULL; fprintf(stderr, "Deleting %d entries from the dictionary\n", max); for(i = 0; i < max; i++) { value.i = i; snprintf(buf, 100, "%d", i); dictionary_del(dict, buf); } getrusage(RUSAGE_SELF, &end); dt = (end.ru_utime.tv_sec * 1000000ULL + end.ru_utime.tv_usec) - (start.ru_utime.tv_sec * 1000000ULL + start.ru_utime.tv_usec); fprintf(stderr, "Deleted %d entries in %llu nanoseconds: %llu deletes per second\n", max, dt, max * 1000000ULL / dt); fprintf(stderr, " > Dictionary: %llu inserts, %llu deletes, %llu searches\n\n", dict->stats->inserts, dict->stats->deletes, dict->stats->searches); // ------------------------------------------------------------------------ getrusage(RUSAGE_SELF, &start); dict->stats->inserts = dict->stats->deletes = dict->stats->searches = 0ULL; fprintf(stderr, "Destroying dictionary\n"); dictionary_destroy(dict); getrusage(RUSAGE_SELF, &end); dt = (end.ru_utime.tv_sec * 1000000ULL + end.ru_utime.tv_usec) - (start.ru_utime.tv_sec * 1000000ULL + start.ru_utime.tv_usec); fprintf(stderr, "Destroyed in %llu nanoseconds\n", dt); return 0; }