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