GithubHelp home page GithubHelp logo

saleem-hadad / blogged Goto Github PK

View Code? Open in Web Editor NEW
128.0 128.0 26.0 3.43 MB

๐Ÿ– Write beautiful blog articles using Markdown inside your Laravel app.

Home Page: https://blogged.binarytorch.com.my/

License: MIT License

PHP 24.47% JavaScript 8.81% HTML 8.76% CSS 40.49% Vue 17.47%
articles blog blogged blogging-platform laravel

blogged's People

Contributors

amaelftah avatar arcesilas avatar dependabot[bot] avatar saleem-hadad avatar willgoldstein 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blogged's Issues

Laravel 7.x: Installation error caused by invalid Process() parameter

Describe the bug
The install command fails with a TypeError caused by wrong Process() parameter usage here (it expects an array as first parameter):

$process = new Process($composer.' dump-autoload');

To Reproduce
Steps to reproduce the behavior:

  1. execute php artisan blogged:install in a fresh Laravel 7.x installation.
  2. See error

Expected behavior
The execution of composer dump-autoload.

Screenshots
If applicable, add screenshots to help explain your problem.

The error occures at least with Laravel 7.x because it uses Symfony Process 5.x which requires the array usage as descripted here:
https://symfony.com/doc/5.0/components/process.html#usage

Support for Laravel ^6.0

I've branched and upgraded to Laravel ^6.0 and all the unit tests passed:

image

I'll create a PR for this issue

Completely remove stylesheet

Hi all,

is there a way to completely remove the default stylesheet. This package consider everybody use bootstrap but there are many other framework out there.

Disabling the 'blogged_css' option on config doesn't prevent the injection of this block of code:

<style>
    .btn-primary, .bg-primary, .badge-primary, .btn-primary:hover, .btn-outline-primary:hover, .btn-outline-primary:active, .dropdown-item:active {
        background-color: #ab3f61 !important;
        border-color: #ab3f61 !important;
    }
    .btn-outline-primary {
        border-color: #ab3f61;
    }
    article h1 {
        border-left: 2px solid #ab3f61 !important;
    }
    .btn-outline-primary, article h2 a:before, article :not(pre)>code, a {
        color: #ab3f61;
    }
    article .sidebar>ul>li>ul>li.is-active {
        border-left: 2px solid #ab3f61;
    }
    .custom-toggle input:checked+.custom-toggle-slider {
        border: 1px solid #ab3f61;
    }
    .custom-toggle input:checked + .custom-toggle-slider::before, .alert-primary, .badge-primary {
        background: #ab3f61;
    }
    :not(pre)>code[class*=language-], pre[class*=language-] {
        border-top: 3px solid #ab3f61;
    }
    .bg-gradient-primary {
        background: linear-gradient(87deg, #ab3f61 0,  100%) !important;
    }
    ::-moz-selection {
        background: ;
    }
    ::selection {
        background: ;
    }

    .navbar-vertical.navbar-expand-md .navbar-nav .nav-link.active:before {
        border-left: 2px solid #ab3f61;
    }

    .text-primary {
        color: #ab3f61 !important;
    }
</style>

how can I get rid of this code?
Thank you guys

Markdown parse and preview went wrong

I have write some article on vscode and others, and I paste it to blogged, I got 2 issues:

  1. preview code block isn't high light.
  2. the greater than symbol will be transform to &gt;

screen shot 2018-11-20 at 10 51 48 am

and the index page will be showing wrong
screen shot 2018-11-20 at 10 52 34 am

Using custom vue components

Is your feature request related to a problem? Please describe.
Sort of - if you try to import a vue component in the config, you get an error on load saying:

Uncaught SyntaxError: Unexpected token <

which is happening to me because my vue component in question has a <template> tag.

Describe the solution you'd like
Similar to Larecipe, it would be awesome if you could import your own vue components. In this particular case, I think the sidebar is best used to have a way for users to sign up to a newsletter. I can rebuild it all to work within the context of sidebar.blade.php, but I'd rather have one component/code base to manage for newsletter sign ups.

Describe alternatives you've considered
None really, except copy pasta code.

Installation Requirements Conflict with LaRecipe

The requirement in composer.json of:

 "erusev/parsedown-extra": "^0.7.1"

contradicts that of LaRecipe your other package, which requires 0.8.1

Consequently, they cannot both be used.

Would appreciate if you can upgrade the requirement to 0.8.1

Add possibility to change models

I would like to be able to use custom models.

Like spatie/laravel-permissions it could be configurable in the package's config file.

If you think this is a good feature to implement i could do a PR

404 after changing blog route.

Describe the bug
Changing the routes in blogged.php kills all pages with the exception of the public blog route.

To Reproduce
Changed routes to:

    'routes'        => [
        'blog'      => '', // ie. domain route
        'dashboard' => 'blog/dashboard',
        'login'     => 'login',
    ],

After doing this `/blog/dashboard/' and '/login/' throw a 404.

Looking at the source I can't see why this would happen.

Expected behavior
I'd expect to be able to go to domain route and see the blog, and blog/dashboard to access the back-end.

Comments about this very nice package

Hi,

I like this package in that it is not a complete application, but an extension to add to our own application.

I've got some comments to help improve (and I can provide some PR, if needed):

  • the documentation about authorization should provide with an example of middleware (I know, it's very basic, but it makes things more clear) (done in PR #1)
  • we should be able to use our own css, in replacement of the original one, not only in addition
  • helpers should be loaded with composer (defined in composer.json), not in the service provider
  • I think it's possible to use artisan (vendor:publish) to also publish policies files with something like: artisan vendor:publish --tag=blogged.policies (done with #8)
  • when testing, I've noticed a blog featured image is required. It should be optional (and maybe configurable). By the way, the error message should more explicit than "Please make sure the entered data is valid" (since the information are sent with the json response, I guess it's possible)
  • the documentation does not mention the publishable files (assets, config, views), I guess that it's because they are published when running the blogged:install command. I think it's a good thing to remind they are published and what it's possible to do when overriding them.
  • the image in the post form is, in my opinion, much to big
  • next level would be to add tags to posts

As I said, I can provide PRs, so I'm not just requesting some features: I'm posting this issue to discuss whether you want them added or not. The only feature I'm not sure I can work on is the error message in the Vue component, since I'm not familiar at all with Vue and JS in general (but I may learn).

PS: sorry for not using the issue template, I wanted to avoid opening many issues at once.

Font Awesome Icons don't work with alerts

Alerts like:

> {success.fa-quote-left} "something"

Do not work and look like this:
image

They only work if you don't include .fa-ICON. And for some reason, > {primary} text doesn't work either, but > {success} text does. In order to use the primary alert, you have to just do > text

Fontawesome Sharing Icons in share.blade are out of date

Describe the bug
Noticing that all of the share icons seem to be out of date with fontawesome's current library.

My package.json:

    "@fortawesome/fontawesome-svg-core": "^1.2.2",
    "@fortawesome/pro-light-svg-icons": "^5.10.2",
    "@fortawesome/pro-regular-svg-icons": "^5.10.2",
    "@fortawesome/pro-solid-svg-icons": "^5.10.2",
    "@fortawesome/pro-duotone-svg-icons": "^5.10.2",

Laravel 5.8 compatibility

Blogged is currently not compatible with Laravel 5.8.

orchestra/database is not completely compatible with Laravel 5.8 too, the compatible version is 3.8.x-dev.

Compatibility should be prepared:

  • update the dependencies in composer.json
  • fix code (tests do not pass)

I may work on it, but anyway, to have a stable release, we need to wait for orchestra/database 3.8 to be released. Should be a matter of days now, since orchestra/testbench 3.8 has been released on Feb 25.

Can't save a draft if it was not first published

Describe the bug
I saved a draft blog post, then went back to edit it, and I cannot save it because publish_date is sometimes|required|date, but the published_date being sent up from the client UI to the server via ajax is "NA", not null.

Expected behavior
Should be able to save the draft post.

Your requirements could not be resolved to an installable set of packages. (Laravel 6.10)

Hi,

I get the following error if I fire the "composer require binarytorch/blogged" command on terminal:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: don't install binarytorch/blogged v1.2.1
- Conclusion: remove laravel/framework v6.11.0
- Installation request for binarytorch/blogged ^1.2 -> satisfiable by binarytorch/blogged[v1.2, v1.2.1].
- Conclusion: don't install laravel/framework v6.11.0
- binarytorch/blogged v1.2 requires illuminate/support 5.4.0| ...

My laravel version is: 6.10.1

Thanks in advanced

Events

Using events would allow user to easily add custom functionalities.

Simple example: when an article is displayed, increment a counter and use this value to select the X most popular articles. They can also be used to notify an admin that an author has published an article, etc.

Back-end events:

  • ArticleIsCreated
  • ArticleIsDeleted
  • ArticleIsModified
  • ArticleIsPublished
  • CategoryIsCreated
  • CategoryIsDeleted
  • CategoryIsModified

Front-end events:

  • ArticleIsDisplayed
  • CategoryIsDisplayed
  • IndexIsDisplayed

I think that only the Request is required to access time, query parameters, IP, etc.

As for my previous suggestions, I can work on this feature and provide a PR.

error creating new article

Using the latest version downloaded following your install instructions.

Tried first whit Laravel 6.4, but displayed dependency errors. Directory removed.

Then with 5.8.*. Worked ok.

A test category added ok.

Buen when create a new article no matter what content it's entered when clicking Publish Now or Save Draft always shows the same warning:

Oops! Please make sure the entered data is valid.

Captura de pantalla 2019-10-25 a las 23 46 11 (2)

Installation failed with version incompatible with laravel 8.0

Installation failed with version incompatible with laravel 8.0

Bug:

Problem 1
- Root composer.json requires binarytorch/blogged ^1.4 -> satisfiable by binarytorch/blogged[v1.4.0].
- binarytorch/blogged v1.4.0 requires illuminate/support ~5.4.0|~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0 -> found illuminate/support[v5.4.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev] but it conflicts with another require.

Os:
Windows 10

Installation:
Composer version 2.0-dev ,laravel version 8.0

Search Feature much like Larecipe

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
I would like to have search capability so users can search and find results based on the Title or Body of the blog post.

Describe alternatives you've considered
I may look into trying to implement what you did in Larecipe.

Additional context
No really, no. But great job and love what you've done thus far!

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.