mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 09:47:35 +08:00
@ -43,6 +43,7 @@ settings:
|
||||
text: Every note has some metadata which is stored in a YAML Header as follows -
|
||||
enableHeader: Enable YAML Header
|
||||
modified: Modified Field
|
||||
created: Created Field
|
||||
example:
|
||||
title: Example Title
|
||||
titleMetaData:
|
||||
|
@ -18,7 +18,7 @@ var emojiParser = EmojiParser();
|
||||
|
||||
class NoteSerializationSettings {
|
||||
String modifiedKey = Settings.instance.yamlModifiedKey;
|
||||
String createdKey = "created";
|
||||
String createdKey = Settings.instance.yamlCreatedKey;
|
||||
String titleKey = "title";
|
||||
String typeKey = "type";
|
||||
String tagsKey = "tags";
|
||||
@ -87,18 +87,29 @@ class NoteSerializer implements NoteSerializerInterface {
|
||||
"lastmodified",
|
||||
"lastmod",
|
||||
];
|
||||
for (var i = 0; i < modifiedKeyOptions.length; i++) {
|
||||
var possibleKey = modifiedKeyOptions[i];
|
||||
var modifiedVal = data.props[possibleKey];
|
||||
if (modifiedVal != null) {
|
||||
note.modified = parseDateTime(modifiedVal.toString());
|
||||
for (var possibleKey in modifiedKeyOptions) {
|
||||
var val = data.props[possibleKey];
|
||||
if (val != null) {
|
||||
note.modified = parseDateTime(val.toString());
|
||||
settings.modifiedKey = possibleKey;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
note.body = emojiParser.emojify(data.body);
|
||||
note.created = parseDateTime(data.props[settings.createdKey]?.toString());
|
||||
|
||||
var createdKeyOptions = [
|
||||
"created",
|
||||
"date",
|
||||
];
|
||||
for (var possibleKey in createdKeyOptions) {
|
||||
var val = data.props[possibleKey];
|
||||
if (val != null) {
|
||||
note.created = parseDateTime(val.toString());
|
||||
settings.createdKey = possibleKey;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Title parsing
|
||||
|
@ -77,6 +77,23 @@ class _NoteMetadataSettingsScreenState
|
||||
enabled: Settings.instance.yamlHeaderEnabled,
|
||||
),
|
||||
),
|
||||
ProOverlay(
|
||||
child: ListPreference(
|
||||
title: tr("settings.noteMetaData.created"),
|
||||
options: [
|
||||
"created",
|
||||
"date",
|
||||
],
|
||||
currentOption: Settings.instance.yamlCreatedKey,
|
||||
onChange: (String newVal) {
|
||||
setState(() {
|
||||
Settings.instance.yamlCreatedKey = newVal;
|
||||
Settings.instance.save();
|
||||
});
|
||||
},
|
||||
enabled: Settings.instance.yamlHeaderEnabled,
|
||||
),
|
||||
),
|
||||
ProOverlay(
|
||||
child: ListPreference(
|
||||
title: tr("settings.noteMetaData.titleMetaData.title"),
|
||||
|
@ -21,6 +21,8 @@ class Settings {
|
||||
bool collectCrashReports = true;
|
||||
|
||||
String yamlModifiedKey = "modified";
|
||||
String yamlCreatedKey = "created";
|
||||
|
||||
bool yamlHeaderEnabled = true;
|
||||
String defaultNewNoteFolderSpec = "";
|
||||
String journalEditordefaultNewNoteFolderSpec = "";
|
||||
@ -68,6 +70,8 @@ class Settings {
|
||||
pref.getBool("collectCrashReports") ?? collectCrashReports;
|
||||
|
||||
yamlModifiedKey = pref.getString("yamlModifiedKey") ?? yamlModifiedKey;
|
||||
yamlCreatedKey = pref.getString("yamlCreatedKey") ?? yamlCreatedKey;
|
||||
|
||||
yamlHeaderEnabled = pref.getBool("yamlHeaderEnabled") ?? yamlHeaderEnabled;
|
||||
defaultNewNoteFolderSpec =
|
||||
pref.getString("defaultNewNoteFolderSpec") ?? defaultNewNoteFolderSpec;
|
||||
@ -140,6 +144,8 @@ class Settings {
|
||||
defaultSet.collectCrashReports);
|
||||
_setString(
|
||||
pref, "yamlModifiedKey", yamlModifiedKey, defaultSet.yamlModifiedKey);
|
||||
_setString(
|
||||
pref, "yamlCreatedKey", yamlCreatedKey, defaultSet.yamlCreatedKey);
|
||||
_setBool(pref, "yamlHeaderEnabled", yamlHeaderEnabled,
|
||||
defaultSet.yamlHeaderEnabled);
|
||||
_setString(pref, "defaultNewNoteFolderSpec", defaultNewNoteFolderSpec,
|
||||
@ -225,6 +231,7 @@ class Settings {
|
||||
"collectUsageStatistics": collectUsageStatistics.toString(),
|
||||
"collectCrashReports": collectCrashReports.toString(),
|
||||
"yamlModifiedKey": yamlModifiedKey,
|
||||
"yamlCreatedKey": yamlCreatedKey,
|
||||
"yamlHeaderEnabled": yamlHeaderEnabled.toString(),
|
||||
"defaultNewNoteFolderSpec": defaultNewNoteFolderSpec,
|
||||
"journalEditordefaultNewNoteFolderSpec":
|
||||
|
Reference in New Issue
Block a user