Postleaf / postleaf

Simple, beautiful publishing with Node.js.
https://www.postleaf.org/
MIT License
505 stars 203 forks source link

Feature request: Add new tag on the fly when creating/editing post #40

Closed jerwre closed 7 years ago

jerwre commented 7 years ago

Be able to create new tag(s) on the fly when creating/editing a post. Instead of having to go into tags and create it in there.

claviska commented 7 years ago

I really don't like this idea. In fact, it was intentionally removed from the first version for a number of reasons. The name is really a misnomer and I understand why that causes confusion. We expect "tags" to work a certain way in a CMS, and that's not the case here.

In Postleaf, tags are more than just keywords separated by commas. Each one has its own name, description, slug, image, and metadata. To compare apples to apples with WordPress, tags would really be more like "categories."

That said, tags aren't something one should create arbitrarily on the fly. They require more thought about how you want to organize your website. Adding too many will just confuse visitors and reduce their effectiveness.

Even if it were possible to add tags on the fly, it's unlikely users will take the time to properly configure each one after they're created. In the first version, I was guilty of this myself (and I'm very detail oriented, yet still managed to forget at times).

I'm open to hearing more feedback and I encourage the community to 👍 and 👎 to vote, but I really don't see this happening anytime soon.

claviska commented 7 years ago

Reopening for voting.

sfranke commented 7 years ago

Or remove the ability to type at all from the metadata tags section and replace it with a select box and some more info about what tags are in Postleaf. #49

I like this suggestion! A list of tags/categories presented in a list/dropdown selection for users to choose from and have the creation of those only available for mods/admins (users with higher permissions?). Otherwise it might get messy really quick.

claviska commented 7 years ago

I'm definitely open to removing Selectize if we're not going to create tags on the fly. It's 37KB just for one control. 😕

lukewatts commented 7 years ago

Perhaps Select2 would be better seeing as you're already using jQuery. It's also got autocomplete and it's keyboard accessible.

claviska commented 7 years ago

Select2 is 65KB 😭 (minified dist)

lukewatts commented 7 years ago

Are you not building into a single file with Webpack or something? 65kb is totally worth it for select2's features. The accessibility alone.

claviska commented 7 years ago

They get bundled. The sizes I'm comparing are the minified sizes that affect the bundle. Their source files are even larger.

dgrammatiko commented 7 years ago

Try choices: https://github.com/jshjohnson/Choices It's also vanilla ;)

claviska commented 7 years ago

Choices is 19KB minified. Nice find, I'll keep it in mind.

dgrammatiko commented 7 years ago

I leave two more essential links here: https://plainjs.com http://www.vanillalist.com

You can find modern scripts (usually lighter) for almost anything UI related

By the way if it's only styling, maybe https://github.com/HubSpot/select is a better fit

claviska commented 7 years ago

More importantly, are we OK with leaving this feature out given my explanation? If not, I'll leave it open for voting for awhile.

lukewatts commented 7 years ago

I'm not sure the voting is a valid way of deciding. How many people even read this if they're not directly involved in the discussion?

claviska commented 7 years ago

I'm trying to be democratic, but the project is still in its infancy so there aren't as many people involved at this point. If it were up to me, I'd just close the issue for the reasons I mentioned above. Since it was brought up again, I reopened it for more feedback and to make it more visible.

Postleaf is an interesting project because people are used to doing things a certain way and I'm trying to change some of those behaviors. Opening up the source has made maintaining it a balancing act.

On one hand, I'm trying to be considerate by explaining my reasoning for various decisions and listening to feedback. I don't want to alienate people or produce a negative vibe for the project. On the other hand, a lot of the requests I get seem to revolve around "[some other platform] does it this way" or personal preferences that don't necessarily align with my vision for the project. At the end of the day, I need to stay focused and I can't please everyone. 🤷‍♂️

Although I try to keep an open mind and make an effort to understand how people are using the software, I'm already very familiar with how many people [mis]use similar apps. As a result, a lot of my bias comes from not wanting Postleaf to turn into those projects.

But again, I don't want to produce a negative vibe. I want people to get involved and not get discouraged just because their idea was rejected "by one developer." Explaining that doesn't always work. If I close every issue I disagree with, I become the asshole. But if I implement every idea that gets suggested, the project suffers from bloat and a blurred vision.

Voting gives people who want to be involved with the project a way of saying "hey this is a good idea", especially lurkers who'd rather click a 👍 or 👎 than actually voice their opinion. Later on, if the issue doesn't get many 👍 and gets closed, it softens the blow. Alternatively, if it gets lots of 👍 I'll be more apt to adjust my stance and implement it.

I'm sure as the project grows I'll have to iron fist a lot of "ideas" that don't align with my vision even if they do have a lot of 👍 . It's hard to get people to understand that the reason Postleaf is awesome is because it's not like other apps. I know I'm not always right, but so far I must be doing something right based on the positive feedback.

Maybe being the asshole is my job and I should just accept it. 🤔

dgrammatiko commented 7 years ago

Actually reading your comment https://github.com/Postleaf/postleaf/issues/40#issuecomment-298473436 I think you should not include this feature unless you find a pretty straightforward workflow that will cover all the needed data (image, etc). Long story sort I'm fine without this feature

lukewatts commented 7 years ago

Hey, you're doing great work. Don't get me wrong. I really like the overall direction Postleaf is going.

But...perhaps early on is the time to have more a set system for discussing these issues. Perhaps Github isn't the right place for discussing features. Maybe over on the forum having polls or something like a dedicated site for people to check the status of some of these things.

I completely understand you're one person and all of those options are additional work aside from actually building Postleaf. Anyways, I don't want to get too far off topic.

If I knew Dust, Node, express better I'd try be more active in actually helping withe these issues. I feel bad just submitting feature requests and issues without really contributing :/

lukewatts commented 7 years ago

What if they were just renamed to Categories which by definition hold more weight in peoples minds. Tags leads me to want to treat them like tags...which are often a secondary organisational method after categories.

I dunno. If it's a big issue I can live without it too. I'm just concerned it will frustrate users and they'll be put off Postleaf.

claviska commented 7 years ago

Thanks @dgt41 😀

@lukewatts I'm really more concerned about people getting discouraged. I don't mind the issues as long as folks take the time to read the reasoning behind my decisions.

I'm not accusing anyone here, but in the open source world we get a lot of "I want this feature" without regard to the project's vision or how it affects others. It's a difficult balancing act sometimes.

What if they were just renamed to Categories which by definition hold more weight in peoples minds. Tags leads me to want to treat them like tags...which are often a secondary organisational method after categories.

This is true and a bit unfortunate. It's one of the learned behaviors I'm hoping to change. At this point, renaming everything would be more of a pain than I feel it's worth. With the absence of another way to categorize posts, I think it will become more obvious as people build out their sites.

Closing this again because I really do feel that "tags" require a bit more thought. Thanks for everyone's feedback!