Age | Commit message (Collapse) | Author | Files | Lines |
|
Most of this is copied from v3. I did improve on a few aspects:
- db_edit() and db_entry() use VNDB::Schema rather than dynamically
querying the DB. This has the minor advantage of a faster startup.
- The Elm code generator now writes to multiple files, this avoids
the namespace pollution seen in v3's Lib.Gen and makes the dependency
graph a bit more lean (i.e. faster incremental builds).
- The Elm code generator doesn't update the timestamp of files that
haven't been modified. This also speeds up incremental builds, the elm
compiler can now skip rebuilding unmodified files.
- The Elm API response generator code now uses plain functions rather
than code references and all possible responses are now defined in
Elm.pm. Turns out most API responses were used from more than a single
place, so it makes sense to have them centrally defined.
The doc page preview function is also much nicer; I'd like to apply this
to all BBCode textareas as well.
(Elm.pm itself is ugly as hell though. And we will prolly need some HTML
form generation functions in Elm to make that part less verbose)
|
|
|
|
https://vndb.org/t12897.6
|
|
|
|
|
|
|
|
Introduced in caa61fc860b455ada9bf4f589f8d64307ce77314
|
|
Apparently the page background is not part of document.body.
|
|
Last time was a year ago: 14517ba2caaef7146044454b6dd2ce00e809261a
|
|
|
|
This gets rid of global.pl, config.pl and config3.pl and uses the
cleaner config3.pl format for the config file. The config is easily
accessible from anywhere by importing the new VNDB::Config module; The
global $VNDB::S,O,M,ROOT variables have been removed.
Sorry for all the churn...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I did create a function to export arrays, but ended up exporting them as
hashes. That ought to simplify a conversion to an enum type. Which will
likely never happen because I'd rather switch to dynamic user-defined
statuses, but that's quite a step further...
|
|
|
|
|
|
|
|
Part one in converting data/global.pl lists into a separate VNDB::Types
module. This is basically what I had started with VN3::Types, but it
looks like a gradual rewrite/cleanup may be more successful. At least
it'll be more useful on the short term.
|
|
|
|
I think this is the last one. 'make' in a development environment is now
beautifully fast and 'make prod' generates nicely small assets.
(arguably we could have an even faster dev setup by not generating an
icons.png in the first place, but then we'd need more code to
differentiate between dev & prod, which is also a pain)
This change does remove the "slow" option that would use the compressed
image size in the optimization algorithm, but I hadn't used that option
for a while anyway, it takes an hour and only saves about 100 bytes.
|
|
Similar to previous commit.
|
|
This rather significantly speeds up development builds. Also simplifies
skingen.pl and its config a bit.
The new compressed files are written to /s/*/style.min.css{,.gz}, it is
up to the web server to serve those instead of /s/*/style.css.
|
|
Should improve page loading time, reduce server load and speed up CSS
generation by a totally insignificant amount.
I did run into some trouble with the removal of boxbg.png, because
apparently there was something magical about that image that made
browsers render it in a different color than the one specified upon
creation. I've adjusted the boxbg color of the 'angel' skin accordingly,
but other skins may also have a slight color difference with this
change. Some details are at http://s.blicky.net/19/colortest.html
|
|
They're interesting from a historical perspective, but that's what a git
history is for. They're no substitute for actual documentation.
|
|
As suggested in https://vndb.org/t12755.15 - although this
implementation is a little bit quirky.
|
|
The current affiliate links format doesn't display as much information
as before but it's also a lot less messy.
|
|
|
|
|
|
|
|
|
|
This allows for easy insertion of affiliate referral tag.
|
|
|
|
+ Automatically fetch other links from Wikidata
|
|
I was getting tired of having to keep two branches up-to-date with the
latest developments, so decided to throw v3 into the same branch - just
different files (...which will get mostly rewritten again soon). The two
versions aren't very different in terms of dependencies, build system
and support code, so they can now properly share files. Added a section
to the README to avoid confusion.
This merge also makes it easier to quickly switch between the different
versions, which is handy for development. It's even possible to run both
at the same time, but my scripts use the same port so that needs a
workaround.
And it's amazing how often I break the Docker scripts.
|
|
This provides more control over when the dumps are being made and makes
it easier to generate quick dumps for debugging.
|
|
|
|
I initially wanted to move the static/.. files onto the Docker volume,
so that all dynamic site data is stored in a single place. But that
turned out to be impossible to do without some really ugly hacks. So
instead I went with the opposite approach: get rid of the 'vndb-data'
volume and instead store everything in the source directory. This also
requires running PostgreSQL as the 'devuser', but that's fine for a
development setup. All of this makes it more obvious what is going on
and simplifies the init script.
|
|
Fixes #4.
|
|
Fixes https://vndb.org/t12602.20
|
|
|
|
This is some ugly JS, but it'll do.
|
|
This also abstracts and changes the tag/trait filter selection interface
a little bit. Non-searchable tags/traits are now simply not listed
anymore in the dropdown search.
|
|
This is a bit experimental, not sure how the performance is going to be.
|
|
|
|
As discussed in https://vndb.org/t12507
TODO:
- Same conversion for traits
- Re-add mod ability to delete all votes for a particular tag?
|