GithubHelp home page GithubHelp logo

v17development / flarum-blog Goto Github PK

View Code? Open in Web Editor NEW
44.0 44.0 20.0 1.95 MB

The Flarum Blog extension

Home Page: https://discuss.flarum.org/d/25392-blog-adds-a-blog-section-to-your-community

License: MIT License

PHP 25.71% JavaScript 52.71% Less 15.08% TypeScript 6.51%
blog extiverse flarum flarum-blog flarum-forum

flarum-blog's People

Contributors

askvortsov1 avatar datlechin avatar davideiadeluca avatar davwheat avatar flarum-bot avatar iamdarkle avatar imorland avatar ipurpl3x avatar jaspervriends avatar luceos avatar pboschma avatar ralkage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flarum-blog's Issues

Back Button Header Navigation redirects to blog

If I click on a blog post that is visible from the discussions page, I cannot use the flarum back button in the header navigation, I guess because of the redirect used to take you to the blog it will just redirect you back to the blog again. The only way to get back to the discussion page I could find was to use a header link (site logo), which may not be obvious for normal users.

Discussion Post: https://discuss.flarum.org/d/25392-blog-adds-a-blog-section-to-your-community/28

Set blog homepage

Flarum logs:

[2021-01-22 10:03:52] flarum.ERROR: Exception: V17Development\FlarumSeo\Extend::setTitle(..): Container was not yet initialized. in /home/oyundede/beta15.quzz.net/vendor/v17development/flarum-seo/src/Extend.php:196
Stack trace:
#0 /home/oyundede/beta15.quzz.net/vendor/v17development/flarum-seo/src/Extend.php(36): V17Development\FlarumSeo\Extend::throwError('setTitle')
#1 /home/oyundede/beta15.quzz.net/vendor/v17development/flarum-blog/src/Controller/BlogOverviewController.php(30): V17Development\FlarumSeo\Extend::setTitle('Blog')
#2 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Frontend/Frontend.php(63): V17Development\FlarumBlog\Controller\BlogOverviewController->__invoke(Object(Flarum\Frontend\Document), Object(Laminas\Diactoros\ServerRequest))
#3 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Frontend/Frontend.php(55): Flarum\Frontend\Frontend->populate(Object(Flarum\Frontend\Document), Object(Laminas\Diactoros\ServerRequest))
#4 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Frontend/Controller.php(32): Flarum\Frontend\Frontend->document(Object(Laminas\Diactoros\ServerRequest))
#5 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): Flarum\Frontend\Controller->handle(Object(Laminas\Diactoros\ServerRequest))
#6 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Laminas\Diactoros\ServerRequest), Array)
#7 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure))
#8 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/ShareErrorsFromSession.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#9 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ShareErrorsFromSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#10 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(40): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#11 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#12 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(67): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#13 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#14 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#15 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#16 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#17 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#18 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#19 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#20 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#21 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#22 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/CollectGarbage.php(46): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#23 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\CollectGarbage->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#24 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#25 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#26 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#27 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#28 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#29 /home/oyundede/beta15.quzz.net/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#30 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /home/oyundede/beta15.quzz.net/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#32 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#33 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /home/oyundede/beta15.quzz.net/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#36 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#37 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#38 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#39 /home/oyundede/beta15.quzz.net/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#40 /home/oyundede/beta15.quzz.net/vendor/flarum/core/src/Http/Server.php(42): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
#41 /home/oyundede/beta15.quzz.net/index.php(26): Flarum\Http\Server->listen()
#42 {main}  

image

image

image

No support for FoF/nightmode

Could easily be resolved with custom CSS or LESS, although it makes sense to include support for popular extensions

Composer cut off on mobile

When commenting on a blog post on mobile, the composer loads too far to the left and is cut off.

Device details:
iPhone 12 Pro
iOS 14.2
Safari

Screenshot:

Primary blog tags removed from tags list/page

If I select a primary tag for the blog tag, it gets removed from the tag list on the sidebar, and the tag page, so the only way I could figure out how to get to the blog page was to find a discussion matching the blog tags. I am not sure if that is intentional, because a secondary tag could be beneath a non blog primary tag, but a primary tag consists of only blog posts, however it is a little confusing to navigate as a result.

A shortcut to the blog overview, or perhaps optionally leave the tags in the tag list (perhaps some unique way to display them with other tags) to keep them discoverable would be nice.

Discussion Post: https://discuss.flarum.org/d/25392-blog-adds-a-blog-section-to-your-community/28

Bio text leaks out.

I have a link in my bio and it leaks out of the bio on blog posts. Image attached
Screen Shot 2021-01-19 at 4 58 33 PM

Moving dsicsussion to Blog doesn't work

When there is a discussions in the forum and it is on a normal discussion tag, when you then move it to a blog tag, then click on the discussion from the list, you get the redirect page and then the following error :

 Exception
V17Development\FlarumSeo\Extend::setTitle(..): Container was not yet initialized.

Blog posts and avatars

Hello,
It could be interesting if we could select if we want to display blog posts author avatar, author name or both πŸ’‘

Article summary for BlogList-items

There are already extensions to do the same in discussions, in the case of blogs it is more typical to have a summary/small description of each post containing the first few lines of text of the article.

Integration with Flarum scheduler

Feature request - the ability to schedule post blog articles. I suspect the Flarum scheduler can be leveraged for this in much the same way as fof/drafts does ?

pinned blogs

Perhaps as an enhancement, the blank column below the categories on the blog overview page could be used for a list of pinned blogs.

New blog posts shouldn't be auto featured on blog

This is an enhancement suggestion.

On top of the front page, now the three most recent posts are featured. That's a wrong practice. Usually, that's the spot where you want to place more important stuff. There should be an option to mark posts featured.

Post titles need more distinction

The post title looks no different then heading text in a post. If you have a heading as your first text in a post the post title matches it and it just looks odd.

Screen Shot 2021-01-19 at 6 39 26 PM

Bug? with FoF Reactions

Captura de pantalla 2021-02-05 185034

A friend passed me this image, which I confirmed, that left: -28% is for some reason? it is guilty of not allowing to react to the posts, being so far away it hides the reactions menu. Really it is very easy to solve, but it has called my attention that this inside the styles of the div, I don't know if this for some reason and can cause other problems.

Related posts in post footer

This is an enhancement suggestion.

It would be useful to have a related posts list in the post footer. It should be the three most recent posts based on tags used.

Example:
related posts

Flarum Blog as homepage

This extension is incredible and undoubtedly deserves to be the homepage of many websites that use flarum, in the "basics" section it doesn't give the option to put the blog extension as the homepage as it does with FoF Pages for example.

I'm not sure if extension developers can modify this configuration section or if it depends on the official versions of Flarum, but it would be nice to have it or to add the option directly in the blog extension configuration.

Switch to hide posts

I would like to have the possibility of having a switch like the one that allows us to make a highlighted post, that allows us to hide a post, so that the only way to see that post is via url.

Post composer link redirection

The post composer link redirection seems to go to the /d/{id} which causing a hard redirect to /blog/{id} and losing the changes in the composer.

articlePost undefined

Error in BlogPostController.js line 39

Uncaught TypeError: can't access property "canEdit", articlePost is undefined

Blog article Composer

It would be nice to have a dedicated composer for blog articles. Where you can directly define things like summary and teaser image. (also maybe use the naming "teaser image" in the UI?...)

Links to article authors profiles

It would be nice to have the author's link in their name or avatar within the post so you can visit their profile to see their publications etc.

Enhance Recent blog posts

Hello,
It could be a very great feature if we could have many options to design the recent blog posts πŸ‘
I think a "news carousel" (eg. https://bootsnipp.com/snippets/9xGW for example) or an input to choose the number of blog posts to display could be a powerful option to customize our blogs πŸ˜ƒ

this.article.user(...).bio is not a function

Thanks for your nice work. When I enable the plugin with the default setting, I got the error:

BlogItem.js:168 Uncaught TypeError: this.article.user(...).bio is not a function
    at e.a.view (BlogItem.js:168)
    at e.render (Component.js:100)
    at Object.o [as view] (Component.js:186)
    at mithril.js:1568
    at b (mithril.js:189)
    at ut (mithril.js:1563)
    at Function.y.redraw (mithril.js:1547)
    at Function.y.endComputation (mithril.js:417)
    at Function.n.lazyRedraw (patchMithril.js:41)
    at e.a.show (BlogItem.js:79)
BlogItem.js:168 Uncaught TypeError: this.article.user(...).bio is not a function
    at e.a.view (BlogItem.js:168)
    at e.render (Component.js:100)
    at Object.o [as view] (Component.js:186)
    at mithril.js:1568
    at b (mithril.js:189)
    at ut (mithril.js:1563)
    at Function.y.redraw (mithril.js:1547)
    at Image.t.onload (User.js:92)

No header or hero on "blog" page slug

Having the ability to include the hero section on the blog page would be great. It looks odd when discussions are loaded that have a header, and the blog page doesn't.

Dark theme, text hard to read on images

In the bar at the top of the main blog page, it is hard to read text on images when a dark theme is used:

Screen Shot 2021-01-19 at 6 23 42 PM

Also for some reason that one post (far right image) doesn't have a tag show up on it for some reason...

Incompatibility with FoF Formatting

Autoimage, Autovideo and MediaEmbed do not work, although for images there is no problem as they can still be attached and it is for convenience, in the case of videos I think it is a problem as as far as I know no other way to attach videos.

When a tag is delete it still appears in the blogTags list

This prevent from using the compose to create new articles as there is the following error :

Uncaught TypeError: can't access property "isChild", a is undefined
    newArticle BlogOverview.js:237
    newArticle BlogOverview.js:234
    onclick BlogOverview.js:92
    L/t[e]< mithril.js:1286
BlogOverview.js:237:25

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.