mirror of
https://github.com/osmarks/mycorrhiza.git
synced 2025-03-10 13:38:20 +00:00

Didn't have the chance to migrate //all// templates just yet. We'll get there. * Implement yet another template system * Move orphans to the new system and fix a bug in it * Link orphans in the admin panel * Move the backlink handlers to the web package * Move auth routing to web * Move /user-list to the new system * Move change password and translate it * Move stuff * Move admin-related stuff to the web * Move a lot of files into internal dir Outside of it are web and stuff that needs further refactoring * Fix static not loading and de-qtpl tree * Move tree to internal * Keep the globe on the same line #230 * Revert "Keep the globe on the same line #230" This reverts commit ae78e5e459b1e980ba89bf29e61f75c0625ed2c7. * Migrate templates from hypview: delete, edit, start empty and existing WIP The delete media view was removed, I didn't even know it still existed as a GET. A rudiment. * Make views multi-file and break compilation * Megarefactoring of hypha views * Auth-related stuffs * Fix some of those weird imports * Migrate cat views * Fix cat js * Lower standards * Internalize trauma
52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
package migration
|
|
|
|
import (
|
|
"git.sr.ht/~bouncepaw/mycomarkup/v5/tools"
|
|
"github.com/bouncepaw/mycorrhiza/internal/files"
|
|
"io/ioutil"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
var rocketMarkerPath string
|
|
|
|
// MigrateRocketsMaybe checks if the rocket link migration marker exists. If it exists, nothing is done. If it does not, the migration takes place.
|
|
//
|
|
// This function writes logs and might terminate the program. Tons of side-effects, stay safe.
|
|
func MigrateRocketsMaybe() {
|
|
rocketMarkerPath = files.FileInRoot(".mycomarkup-rocket-link-migration-marker.txt")
|
|
if !shouldMigrateRockets() {
|
|
return
|
|
}
|
|
|
|
genericLineMigrator(
|
|
"Migrate rocket links to the new syntax",
|
|
tools.MigrateRocketLinks,
|
|
"Something went wrong when commiting rocket link migration: ",
|
|
)
|
|
createRocketLinkMarker()
|
|
}
|
|
|
|
func shouldMigrateRockets() bool {
|
|
file, err := os.Open(rocketMarkerPath)
|
|
if os.IsNotExist(err) {
|
|
return true
|
|
}
|
|
if err != nil {
|
|
log.Fatalln("When checking if rocket migration is needed:", err.Error())
|
|
}
|
|
_ = file.Close()
|
|
return false
|
|
}
|
|
|
|
func createRocketLinkMarker() {
|
|
err := ioutil.WriteFile(
|
|
rocketMarkerPath,
|
|
[]byte(`This file is used to mark that the rocket link migration was made successfully. If this file is deleted, the migration might happen again depending on the version. You should probably not touch this file at all and let it be.`),
|
|
0766,
|
|
)
|
|
if err != nil {
|
|
log.Fatalln(err)
|
|
}
|
|
}
|