Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
We will now use this function (in addition to "parseEmoticons") to parse already UTF-8 encoded unicode emoticons (instead of the ASCII emoticons for which "parseEmoticons" is responsible) from the markdown content.
|
|
This function wraps all the UTF-8 encoded emoticons (from "getUnicodeEmoticons") found in $string into a "span" element with a "title" attribute, which will contain the emoticon explanation text.
|
|
|
|
|
|
This function returns an associative array with the UTF-8 encoded emoticon character as key and the corresponding explanation text as value.
|
|
|
|
|
|
If you browse in a browser tab through some websites and want to go back to the previous page, post or user, you can either click the history back button, press the corresponding key on your mouse or even press <alt>+<arrow-left> on your keyboard. But if you only press <arrow-left> on a page, post or user, the callback function of the "keyup" event will change the location in the desired direction on the blog if there is a previous page, post or user, and if neither <ctrl> nor <shift> is pressed. This is a functionality of the javascript from the template and not a functionality of your browser.
Pressing <alt>+<arrow-left> IS a functionality of the browser and should not conflict with the behavior when <arrow-left> is pressed alone. This commit fixes this problem by adding the condition that <alt> should not be pressed either.
|
|
|
|
This commit updates the Parsedown library to the latest version 1.7.1. The patch to prevent that tab indentations in code blocks are being converted to spaces (see 78c5974cd34559d0130d8be509935e2c992cd9ca) is already applied here. In addition, the patch file itself is now shipped within the same directory where the Parsedown.php resides.
|
|
|
|
Each option can be set to "TRUE" or "FALSE" (the default value is "FALSE"). For example, if you only have one user and "USER.SINGLE_REDIRECT" is set to "TRUE", then requests to "/user/" will be automatically redirected to "/user/username/".
|
|
|
|
If the first word from $string was longer than $length characters, then the regular expression had not truncated the string at all (for example, a string with a total length of 2000 characters was displayed without any cut, but with the $replace string at the end).
This bug has been reported by Markus Hackspacher (https://github.com/MarkusHackspacher).
|
|
addition, the $replace parameter is now an empty string by default.
|
|
whitespace between the truncated text and the $replace string ("[…]") if the truncated text from the regular expression had contained whitespace at the end (before it was concatenated with $replace). This issue has been fixed by passing the truncated text directly after truncation to the "trim" function (before the truncated text is concatenated with $replace). In addition, the now unnecessary "trim" call within the "excerpt" function has been removed.
|
|
It's called "override" instead of "overwrite" in those contexts.
|
|
|
|
$_SERVER['REQUEST_SCHEME'] is not defined (https://github.com/Nerdmind/Blog/issues/8). In addition, the default value for "PATHINFO.HOST" is now "localhost" if $_SERVER['HTTP_HOST'] is not defined.
|
|
being converted to spaces:
For example, if you had used the markdown syntax for displaying source code in your post, Parsedown had replaced your semantically correct tab indentations with hard spaces. This behavior meant that the code that was displayed after parsing was no longer exactly the code you inserted into the content editor. If someone had copied source code from your post into his IDE, then your tab indentations were gone because of the spaces.
That's why I hacked the Parsedown library and created a patch:
https://github.com/erusev/parsedown/issues/508
|
|
optimized to give them a new look.
|
|
|
|
are already such links within the navigation.
|
|
|
|
the <strong> tags. A CSS optimization was additionally made.
|
|
|
|
|
|
contains the basic HTML framework) for pages, posts and users. This makes it possible to use the optional argument field in the content editor to add additional HTML <meta> tags (or something else) for a specific page, post or user if you implement this functionality into your template. The following snippet shows how you can access the item data in the main.php template and which parameters are defined for each type of item (currently, there are three types: PAGE, POST and USER):
if(isset($TYPE)) {
switch($TYPE) {
case 'PAGE':
# $PAGE and associated $USER is accessible
var_dump($PAGE['ARGV']);
break;
case 'POST':
# $POST and associated $USER is accessible
var_dump($POST['ARGV']);
break;
case 'USER':
# $USER is accessible
var_dump($USER['ARGV']);
break;
default:
# Nothing
}
}
|
|
been increased from 100 to 250.
Database update to version 2.4.1 (no existing data will be lost or changed):
ALTER TABLE `page` MODIFY `argv` VARCHAR(250);
ALTER TABLE `post` MODIFY `argv` VARCHAR(250);
ALTER TABLE `user` MODIFY `argv` VARCHAR(250);
|
|
files was removed and some missing PHP closing tags were added.
|
|
|
|
|
|
implemented. This makes the configuration.php much cleaner and you only have to define configuration values if the default values doesn't satisfy you. In addition, it makes it easier to implement new configuration values to the core without the need, that the users have to update their personal configuration.php files manually.
|
|
|
|
administration area. In addition, some markup within the "/*/index.php" files of the admin template was re-formatted.
|
|
later for the coming search function in the administration area.
|
|
MyISAM to InnoDB and results in version 2.4. The only reason why the post table originally used MyISAM instead of InnoDB as engine was because the post table had a FULLTEXT index, which was only possible with MyISAM tables on MySQL versions smaller than 5.6 and MariaDB versions smaller than 10.0.5. However, MyISAM tables do not know foreign keys, so no relationship between the post and the user table could be established (which is bad for data integrity). In newer versions of MySQL or MariaDB are FULLTEXT indexes also possible on InnoDB tables. So, we can now update the post table to InnoDB to keep the FULLTEXT search functionality and we can add a foreign key for data integrity.
This means for you: If you are already using a recent version of MySQL or MariaDB, you can safely make the update (always make a backup first). If you are not using at least MariaDB 10.0.5 or MySQL 5.6, you will have to wait with this (and all further) commits / updates until you have upgraded your database server to a more recent version.
Database update to version 2.4 (no existing data will be lost or changed):
ALTER TABLE `post` ENGINE=InnoDB;
ALTER TABLE `post` DROP INDEX `body`;
ALTER TABLE `page` ADD FULLTEXT KEY `search` (`name`, `body`);
ALTER TABLE `post` ADD FULLTEXT KEY `search` (`name`, `body`);
ALTER TABLE `post` ADD CONSTRAINT `post_user` FOREIGN KEY (`user`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
from Fontello.com, which contains only the absolutely necessary icons. This reduces the size of the font file to download to approximately 70 kilobytes. This is beneficial for smartphone users who have an extremely throttled data connection (for example, 32 KBit/s – yes, no joke!), which is not unusual in Germany where mobile internet is still expensive. On the other hand, it is always a good idea to load only what is really necessary. And why always (with cold browser cache) download unnecessary 70 kilobytes, when it is not necessary?
|
|
longer displayed within a <h2> element and have been moved to the underlying <div> element.
|
|
|
|
"const" and "let" from ECMAScript 6 (2015), which scopes the variables to the nearest enclosing block instead of the nearest function block.
|
|
main navigation of the admin template have been removed.
|
|
admin template so that users who do not have CSS enabled or using a web browser such as "Lynx" are able to understand and click the links (instead of seeing an empty and unclickable list item with no further information).
|
|
<article> element is more correct for the purpose of an item list, because real lists should only be used if the order of the items would change the meaning. This is not the case, because each item is a self-contained area which has nothing to do with the other items).
|
|
the "title" attribute was added to every heading link in the item list.
|
|
instead of the existing index "FULLNAME". This problem has existed since the first initial commit and was only present when more than one user had existed (it did not have affected the functionality of the navigation itself).
|
|
container element is only used for the CSS and has no semantic meaning, then a <section> element is definitely wrong for this purpose.
|