diff --git a/.gitignore b/.gitignore index f475dc0..6efa2fd 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,8 @@ vendor datas/config.json datas/*/*/*/*.md datas/*/*.md -datas/template/*.php \ No newline at end of file +datas/template/*.php +datas/.sync_* +datas/.nextcloudsync.log +datas/.syncthing..sync_ef35b144b904.db-shm.tmp +launch.json \ No newline at end of file diff --git a/app/Blogs/Blogs.php b/app/Blogs/Blogs.php index b1124e4..a33cc4b 100644 --- a/app/Blogs/Blogs.php +++ b/app/Blogs/Blogs.php @@ -122,7 +122,8 @@ class Blogs { */ public function findPostBySlug(string $slug): string { - if ($this->mdFileCache[$slug] && file_exists($this->mdFileCache[$slug]['file'])) { + debug::n_print($slug); + if (!empty($this->mdFileCache[$slug]) && file_exists($this->mdFileCache[$slug]['file'])) { return file_get_contents($this->mdFileCache[$slug]['file']); } else { return file_get_contents($this->notFound['file']); @@ -173,7 +174,10 @@ class Blogs { * @return array The information of the markdown file */ public function returnPostInfo(string $slug): array { - return $this->mdFileCache[$slug]; + if (isset($this->mdFileCache[$slug])) { + return $this->mdFileCache[$slug]; + } + return []; } /** @@ -281,10 +285,13 @@ class Blogs { * @param string $markdownContent The markdown content to extract the lead paragraph from * @return string|null The extracted lead paragraph or null */ - static function extractLead(string $markdownContent): ?string { - $pattern = '/---\s*(.*?)\s*---/s'; - if (preg_match($pattern, $markdownContent, $matches)) { - return trim($matches[1]); + static function extractLead(string $markdownFile): ?string { + if (file_exists($markdownFile)) { + $markdownContent = file_get_contents($markdownFile); + $pattern = '/---\s*(.*?)\s*---/s'; + if (preg_match($pattern, $markdownContent, $matches)) { + return trim($matches[1]); + } } return null; } diff --git a/app/Cache.php b/app/Cache.php index a873b75..98439fe 100644 --- a/app/Cache.php +++ b/app/Cache.php @@ -46,19 +46,22 @@ class Cache { } elseif ($params['type'] === 'post') { $postList = new Blogs($params); $postAttr = $postList->returnPostInfo($params['slug']); - $mdModifiedTime = filemtime($postAttr['file']); + if (isset($postAttr['file']) && file_exists($postAttr['file'])) { + $mdModifiedTime = filemtime($postAttr['file']); + } else { + return false; + } } elseif ($params['type'] === 'posts') { $mdModifiedTime = 0; - } elseif(file_exists(self::$fileDir . '/' . $params['type'] . 's' . $params['requestUrl'] . '.md')) { + } elseif (file_exists(self::$fileDir . '/' . $params['type'] . 's' . $params['requestUrl'] . '.md')) { $mdModifiedTime = filemtime(self::$fileDir . '/' . $params['type'] . 's' . $params['requestUrl'] . '.md'); } $cacheModifiedTime = filemtime(self::$pathCacheDir[$params['type']] . '/' . $params['cacheName']); if ($mdModifiedTime > $cacheModifiedTime) { return false; - } else { - return true; } + return true; } /** diff --git a/app/Controllers/Home.php b/app/Controllers/Home.php index 340fc2b..4b74e43 100644 --- a/app/Controllers/Home.php +++ b/app/Controllers/Home.php @@ -6,7 +6,6 @@ use App\Blogs\Blogs; use App\Cache; use App\Fetching\Gitea; use App\Fetching\NanoGal; -use App\Utils\Debug; use App\Fetching\Shaarli; class Home { @@ -73,6 +72,12 @@ class Home { $lastPics = $nanogalCache; } + $homeContent = file_get_contents('../datas/pages/home.md'); + $homeContent = preg_replace("/<% lastPost %>/", $lastPost, $homeContent); + $homeContent = preg_replace("/<% lastShaare %>/", $lastShaare, $homeContent); + $homeContent = preg_replace("/<% lastAppsUpdates %>/", $lastAppsUpdates, $homeContent); + $homeContent = preg_replace("/<% lastPics %>/", $lastPics, $homeContent); + require __DIR__ . '/../../template/home.php'; $content = ob_get_contents(); ob_end_clean(); diff --git a/app/Fetching/NanoGal.php b/app/Fetching/NanoGal.php index 6287be5..c0089e1 100644 --- a/app/Fetching/NanoGal.php +++ b/app/Fetching/NanoGal.php @@ -58,7 +58,6 @@ class NanoGal { */ public function makeList(): ?string { if (!empty($this->bookmarkList)) { - $htmlBookmark = ''; foreach ($this->bookmarkList as $value) { $htmlBookmark .=' @@ -67,8 +66,6 @@ class NanoGal {
' . $value['title'] . '
'; } - $htmlBookmark .= ' - '; return $htmlBookmark; } return null; diff --git a/public/assets/css/app-min.css b/public/assets/css/app-min.css index ada76eb..31f6c16 100644 --- a/public/assets/css/app-min.css +++ b/public/assets/css/app-min.css @@ -1 +1 @@ -:root{color-scheme:dark light;--primary:#cc2027;--primary-darken:#8E161B;--primary-lighten:#D64C52;--primary-text-contrast:#FFF;--secondary:#20ccc5;--secondary-darken:#168E89;--secondary-lighten:#4CD6D0;--secondary-text-contrast:#000;--error:#c43933;--error-darken:#892723;--error-lighten:#CF605B;--error-text-contrast:#FFF;--info:#206ccc;--info-darken:#164B8E;--info-lighten:#4C89D6;--info-text-contrast:#FFF;--success:#7dcc20;--success-darken:#578E16;--success-lighten:#97D64C;--success-text-contrast:#000;--warning:#cc5e20;--warning-darken:#8E4116;--warning-lighten:#D67E4C;--warning-text-contrast:#FFF;--background-color:light-dark(#fffbfb,#171414);--background-color-darken:light-dark(#B2AFAF,#100E0E);--background-color-lighten:light-dark(#FFFBFB,#454343);--light-background-color:#fffbfb;--dark-background-color:#171414;--header-background-color:light-dark(#171414,#fffbfb);--header-background-color-darken:light-dark(#100E0E,#B2AFAF);--header-background-color-lighten:light-dark(#454343,#FFFBFB);--header-text-color:light-dark(#fffbfb,#171414);--header-text-color-secondary:#ffffffb3;--header-text-color-disable:light-dark(#ffffff80,#454343);--text-color:light-dark(#171414,#fffbfb);--text-color-secondary:#ffffffb3;--text-color-disable:light-dark(#454343,#ffffff80);--light-text-color:#171414;--dark-text-color:#fffbfb;--text-color-inverse:light-dark(#fffbfb,#171414);--text-color-secondary-inverse:#ffffffb3;--text-color-disable-inverse:light-dark(#ffffff80,#454343);--box-shadow-light:.4rem .4rem 0 .1rem #B2AFAF;--box-shadow-dark:.4rem .4rem 0 .1rem #454343;--box-shadow-auto:.4rem .4rem 0 .1rem light-dark(#B2AFAF,#454343);--h1-color:var(--primary);--h2-color:#c33d35;--h3-color:#b94f44;--h4-color:#ae5e52;--h5-color:#a16a61;--h6-color:#927671;--font-size:1.1em;--default-space:.2em;}[data-theme=dark]{color-scheme:dark;}[data-theme="light"]{color-scheme:light;}*,*::before,*::after{box-sizing:border-box;}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0;}ul[role='list'],ol[role='list']{list-style:none;}body{min-height:100vh;line-height:1.5;}h1,h2,h3,h4,h4,h5,h6,button,input,label{line-height:1.1;}h1,h2,h3,h4,h5,h6{text-wrap:balance;margin:calc(var(--default-space)*2);}input,button,textarea,select{font-family:inherit;font-size:inherit;}textarea:not([rows]){min-height:10em;}:target{scroll-margin-block:5ex;}a{color:var(--primary);text-decoration:none;}a:hover{color:var(--primary-lighten);text-decoration:underline var(--primary-darken);}a[target="_blank"]::after,a.external::after{content:'&nsp;';display:inline-block;width:1em;height:1em;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -6 24 28'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6H7a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-5m-6 0l7.5-7.5M15 3h6v6'/%3E%3C/svg%3E");background-color:currentColor;mask-image:var(--svg);mask-repeat:no-repeat;mask-size:100% 100%;}h1{color:var(--h1-color);font-size:calc(var(--font-size) * 1.6);}h2{color:var(--h2-color);font-size:calc(var(--font-size) * 1.5);}h3{color:var(--h3-color);font-size:calc(var(--font-size) * 1.4);}h4{color:var(--h4-color);font-size:calc(var(--font-size) * 1.3);}h5{color:var(--h5-color);font-size:calc(var(--font-size) * 1.2);}h6{color:var(--h6-color);font-size:calc(var(--font-size) * 1.1);}table{border-collapse:collapse;}table,th,td{border:1px solid var(--primary-darken);}th{padding:calc(var(--default-space)*2);background-color:var(--primary-lighten);color:var(--primary-text-contrast);}td{padding:var(--default-space)}html{background-color:var(--background-color);scroll-behavior:smooth;}body{width:80vw;margin:0 auto;min-height:100vh;min-height:100dvh;text-rendering:optimizeSpeed;font-size:var(--font-size);}header{background-color:transparent;}header h1 img{display:inline;}header h1{color:var(--primary);}header svg{fill:var(--primary-lighten);vertical-align:middle;}nav{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;}nav h1,nav ul{margin:0;}nav h1 img{margin-right:var(--default-space);vertical-align:middle;}nav ul{display:flex;gap:calc(var(--default-space) * 2);flex-wrap:wrap;padding:0;}nav li{margin:var(--default-space);list-style:none;font-size:calc(var(--font-size) * 1.2);}nav li a{color:var(--primary-lighten);}nav li a:hover,nav .active{color:var(--primary-lighten);text-decoration:underline var(--primary-darken);text-decoration-thickness:var(--default-space);}section h2{font-size:calc(var(--font-size) * 1.6);color:var(--h2-color);margin:0;}section,article{align-self:center;color:var(--light-text-color);background-color:var(--light-background-color);padding:calc(var(--default-space) * 2);border:1px solid var(--background-color-darken);border-radius:calc(var(--default-space) * 1.2);margin:calc(var(--default-space) *5) 0;box-shadow:var(--box-shadow-light);}.last-pics article{box-shadow:none;}.home{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(var(--default-space) *5);width:100%;height:100%;article{margin:var(--default-space) 0;padding:0}.last-pics article{display:flex;flex-wrap:wrap;justify-content:center;box-shadow:none;border:none}figure{width:min-content;display:grid}figcaption{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}}.blog{section{display:flex;flex-wrap:wrap;justify-content:center;justify-content:space-around;gap:calc(var(--default-space)*3)}.article-card article{width:24vw;padding:var(--default-space);border-radius:calc(var(--default-space) *2)}.breadcrumb{ul{gap:0}li{margin:auto 0}li:not(:last-child)::after{content:">"}}.blog-page-number{text-align:left;display:inherit}.card{box-shadow:none;width:25vw}}.pagination{gap:0;}.pagination li{border:1px solid var(--primary-darken);margin:0;}.pagination li a{padding:var(--default-space) calc(var(--default-space)*2);display:block;}.pagination li a:hover,.pagination li a.current{text-decoration:none;background-color:var(--primary-lighten);color:var(--primary-text-contrast);}.table-of-contents{float:right;width:25vw;background-color:rgb(178,175,175);border:1px solid var(--primary-lighten);border-radius:calc(var(--default-space) * 1.2);position:sticky;top:calc(var(--default-space) * 2);}.table-of-contents a{text-decoration:none;}.table-of-contents a:hover,.table-of-contents a:active{text-decoration:underline;}.article-footer{border-top:1px solid var(--light-text-color);margin-top:calc(var(--default-space)*3);font-size:1rem;}footer{text-align:center;margin:calc(var(--default-space) *2) auto 0 auto;background-color:transparent;width:fit-content;padding:var(--default-space);}footer .a{color:var(--primary-lighten);}footer p{margin:var(--default-space);font-size:.9rem;}pre{background-color:var(--dark-background-color);color:var(--dark-text-color);padding:calc(var(--default-space) * 4);}@media (max-width:992px){.table-of-contents{float:none;width:auto}.home{grid-template-columns:1fr}.what-is-this{grid-area:1 / 1 / 2 / 2}.social-networks{grid-area:2 / 1 / 3 / 2}.last-posts{grid-area:3 / 1 / 4 / 2}.last-shaares{grid-area:4 / 1 / 5 / 2}.last-apps-updates{grid-area:5 / 1 / 6 / 2}.last-pics{grid-area:6 / 1 / 7 / 2}}@media (min-width:992px){.home{grid-template-columns:repeat(7,1fr)}.what-is-this{grid-area:1 / 1 / 2 / 6}.social-networks{grid-area:1 / 6 / 2 / 8}.last-posts{grid-area:2 / 1 / 4 / 4}.last-shaares{grid-area:2 / 5 / 4 / 8}.last-apps-updates{grid-area:4 / 1 / 5 / 2}.last-pics{grid-area:4 / 2 / 5 / 8}} \ No newline at end of file +*,*::before,*::after{box-sizing:border-box;}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0;}ul[role='list'],ol[role='list']{list-style:none;}body{min-height:100vh;line-height:1.5;}h1,h2,h3,h4,h4,h5,h6,button,input,label{line-height:1.1;}h1,h2,h3,h4,h5,h6{text-wrap:balance;margin:calc(var(--default-space)*2);}input,button,textarea,select{font-family:inherit;font-size:inherit;}textarea:not([rows]){min-height:10em;}:target{scroll-margin-block:5ex;}a{color:var(--primary);text-decoration:none;}a:hover{color:var(--primary-lighten);text-decoration:underline var(--primary-darken);}a[target="_blank"]::after,a.external::after{content:'&nsp;';display:inline-block;width:1em;height:1em;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -6 24 28'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6H7a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-5m-6 0l7.5-7.5M15 3h6v6'/%3E%3C/svg%3E");background-color:currentColor;mask-image:var(--svg);mask-repeat:no-repeat;mask-size:100% 100%;}h1{color:var(--h1-color);font-size:calc(var(--font-size) * 1.6);}h2{color:var(--h2-color);font-size:calc(var(--font-size) * 1.5);}h3{color:var(--h3-color);font-size:calc(var(--font-size) * 1.4);}h4{color:var(--h4-color);font-size:calc(var(--font-size) * 1.3);}h5{color:var(--h5-color);font-size:calc(var(--font-size) * 1.2);}h6{color:var(--h6-color);font-size:calc(var(--font-size) * 1.1);}table{border-collapse:collapse;}table,th,td{border:1px solid var(--primary-darken);}th{padding:calc(var(--default-space)*2);background-color:var(--primary-lighten);color:var(--primary-text-contrast);}td{padding:var(--default-space)}html{background-color:var(--background-color);scroll-behavior:smooth;}body{width:80vw;margin:0 auto;min-height:100vh;min-height:100dvh;text-rendering:optimizeSpeed;font-size:var(--font-size);}header{background-color:transparent;}header h1 img{display:inline;}header h1{color:var(--primary);}header svg{fill:var(--primary-lighten);vertical-align:middle;}nav{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;}nav h1,nav ul{margin:0;}nav h1 img{margin-right:var(--default-space);vertical-align:middle;}nav ul{display:flex;gap:calc(var(--default-space) * 2);flex-wrap:wrap;padding:0;}nav li{margin:var(--default-space);list-style:none;font-size:calc(var(--font-size) * 1.2);}nav li a{color:var(--primary-lighten);}nav li a:hover,nav .active{color:var(--primary-lighten);text-decoration:underline var(--primary-darken);text-decoration-thickness:var(--default-space);}section h2{font-size:calc(var(--font-size) * 1.6);color:var(--h2-color);margin:0;}section,article{align-self:center;color:var(--light-text-color);background-color:var(--light-background-color);padding:calc(var(--default-space) * 2);border:1px solid var(--background-color-darken);border-radius:calc(var(--default-space) * 1.2);margin:calc(var(--default-space) *5) 0;box-shadow:var(--box-shadow-light);}.last-pics article{box-shadow:none;}.home{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(var(--default-space) *5);width:100%;height:100%;article{margin:var(--default-space) 0;padding:0}.last-pics article{display:flex;flex-wrap:wrap;justify-content:center;box-shadow:none;border:none}figure{width:min-content;display:grid}figcaption{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}}.blog{section{display:flex;flex-wrap:wrap;justify-content:center;justify-content:space-around;gap:calc(var(--default-space)*3)}.article-card article{width:24vw;padding:var(--default-space);border-radius:calc(var(--default-space) *2)}.breadcrumb{ul{gap:0}li{margin:auto 0}li:not(:last-child)::after{content:">"}}.blog-page-number{text-align:left;display:inherit}.card{box-shadow:none;width:25vw}}.pagination{gap:0;}.pagination li{border:1px solid var(--primary-darken);margin:0;}.pagination li a{padding:var(--default-space) calc(var(--default-space)*2);display:block;}.pagination li a:hover,.pagination li a.current{text-decoration:none;background-color:var(--primary-lighten);color:var(--primary-text-contrast);}.table-of-contents{float:right;width:25vw;background-color:rgb(178,175,175);border:1px solid var(--primary-lighten);border-radius:calc(var(--default-space) * 1.2);position:sticky;top:calc(var(--default-space) * 2);}.table-of-contents a{text-decoration:none;}.table-of-contents a:hover,.table-of-contents a:active{text-decoration:underline;}.article-footer{border-top:1px solid var(--light-text-color);margin-top:calc(var(--default-space)*3);font-size:1rem;}footer{text-align:center;margin:calc(var(--default-space) *2) auto 0 auto;background-color:transparent;width:fit-content;padding:var(--default-space);}footer .a{color:var(--primary-lighten);}footer p{margin:var(--default-space);font-size:.9rem;}pre{background-color:var(--dark-background-color);color:var(--dark-text-color);padding:calc(var(--default-space) * 4);}@media (max-width:992px){.table-of-contents{float:none;width:auto}.home{grid-template-columns:1fr}.what-is-this{grid-area:1 / 1 / 2 / 2}.social-networks{grid-area:2 / 1 / 3 / 2}.last-posts{grid-area:3 / 1 / 4 / 2}.last-shaares{grid-area:4 / 1 / 5 / 2}.last-apps-updates{grid-area:5 / 1 / 6 / 2}.last-pics{grid-area:6 / 1 / 7 / 2}}@media (min-width:992px){.home{grid-template-columns:repeat(7,1fr)}.what-is-this{grid-area:1 / 1 / 2 / 6}.social-networks{grid-area:1 / 6 / 2 / 8}.last-posts{grid-area:2 / 1 / 4 / 4}.last-shaares{grid-area:2 / 5 / 4 / 8}.last-apps-updates{grid-area:4 / 1 / 5 / 2}.last-pics{grid-area:4 / 2 / 5 / 8}} \ No newline at end of file diff --git a/public/assets/css/app.css b/public/assets/css/app.css index d1c5769..9ed1f07 100644 --- a/public/assets/css/app.css +++ b/public/assets/css/app.css @@ -1,86 +1,3 @@ -:root { - color-scheme: dark light; - - --primary: #cc2027; - --primary-darken: #8E161B; - --primary-lighten: #D64C52; - --primary-text-contrast: #FFF; - - --secondary: #20ccc5; - --secondary-darken: #168E89; - --secondary-lighten: #4CD6D0; - --secondary-text-contrast: #000; - - --error: #c43933; - --error-darken: #892723; - --error-lighten: #CF605B; - --error-text-contrast: #FFF; - - --info: #206ccc; - --info-darken: #164B8E; - --info-lighten: #4C89D6; - --info-text-contrast: #FFF; - - --success: #7dcc20; - --success-darken: #578E16; - --success-lighten: #97D64C; - --success-text-contrast: #000; - - --warning: #cc5e20; - --warning-darken: #8E4116; - --warning-lighten: #D67E4C; - --warning-text-contrast: #FFF; - - --background-color: light-dark(#fffbfb, #171414); - --background-color-darken: light-dark(#B2AFAF, #100E0E); - --background-color-lighten: light-dark(#FFFBFB, #454343); - - --light-background-color: #fffbfb; - --dark-background-color: #171414; - - --header-background-color: light-dark(#171414, #fffbfb); - --header-background-color-darken: light-dark(#100E0E, #B2AFAF); - --header-background-color-lighten: light-dark(#454343, #FFFBFB); - - --header-text-color: light-dark(#fffbfb, #171414); - --header-text-color-secondary: #ffffffb3; - --header-text-color-disable: light-dark(#ffffff80, #454343); - - --text-color: light-dark(#171414, #fffbfb); - --text-color-secondary: #ffffffb3; - --text-color-disable: light-dark(#454343, #ffffff80); - - --light-text-color: #171414; - --dark-text-color: #fffbfb; - - --text-color-inverse: light-dark(#fffbfb, #171414); - --text-color-secondary-inverse: #ffffffb3; - --text-color-disable-inverse: light-dark(#ffffff80, #454343); - - --box-shadow-light: .4rem .4rem 0px .1rem #B2AFAF; - --box-shadow-dark: .4rem .4rem 0px .1rem #454343; - --box-shadow-auto: .4rem .4rem 0px .1rem light-dark(#B2AFAF, #454343); - - --h1-color: var(--primary); - --h2-color: #c33d35; - --h3-color: #b94f44; - --h4-color: #ae5e52; - --h5-color: #a16a61; - --h6-color: #927671; - - --font-size: 1.1em; - --default-space: .2em; -} - -[data-theme=dark] { - color-scheme: dark; -} - -[data-theme="light"] { - color-scheme: light; -} - - /* RESET CSS BY Piccalil.li */ /* https://piccalil.li/blog/a-more-modern-css-reset/ */ /* License https://creativecommons.org/licenses/by/3.0/ */ diff --git a/template/head.php b/template/head.php index b245a5e..10b1792 100644 --- a/template/head.php +++ b/template/head.php @@ -24,6 +24,8 @@ + + diff --git a/template/home.php b/template/home.php index 03984f4..61521f5 100644 --- a/template/home.php +++ b/template/home.php @@ -1,73 +1,3 @@
-
-

C'est quoi ici ?!

-

- C'est ma page d'accueil, mon petit coin de web à moi, ça renvoie vers d'autres trucs, n'hésitez pas à fouiller. -

- -
-

- J'ai réellement découvert internet en 1999 avec un Pentium 166mhz et un modem 33k sur un port ISA. J'ai tout de suite adoré ça, même un peu trop au vu de mes factures téléphonique de l'époque :-( . - Depuis je n'ai jamais quitté internet. -

-

- Je n'ai qu'un seul pseudonyme (parfois écrit Knah-Tsaeb, quand les sites n'autorisent pas les espaces) et un seul avatar. Donc si vous croisez un Knah Tsaeb quelque part sur le web, il y a de forte chance que ce soit moi. -

-

- Si vous voulez plus d'info, la page /about ou à propos en français est faite pour ça. -

-
-
- -
-

Réseaux sociaux

-

- J'ai un compte Masto, pis c'est tout et je n'y suis pas très actif : -

-

-
- -
-

Derniers billets

-

- Quelques articles écrits plus ou moins récemment. -

- -

- Tous mes posts -

-
- -
-

Derniers marque-pages partagés

-

- Ce sont mes derniers marque-pages partagés, l'ensemble est disponible sur mon Shaarli. -

- - Tous mes partages -
- -
-

Dernières mise à jours

-

- Les dernières mise à jours de mes apps. -

- - Toutes les mises à jours -
- -
-

Dernières images partagées

-

- Ma galerie d'image et de photos. -

-
- -
- Toutes mes images/photos -
+
\ No newline at end of file diff --git a/template/posts.php b/template/posts.php index d556255..511688d 100644 --- a/template/posts.php +++ b/template/posts.php @@ -20,7 +20,7 @@ use App\Blogs\Blogs;
- +