Giter Club home page Giter Club logo

pine's People

Contributors

deadsuperhero avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pine's Issues

User Profile fields do not currently save.

I suspect this is happening because of an incorrect usage of Permitted Params, which I am a bit unfamiliar with in Rails 4+. Basically, I have two fields that do not update, and currently do not render:

  • Name (string)
  • Avatar (string, via CarrierWave)

Currently trying to figure out the right place to tweak this.

Start writing tests

This is something I have little experience in, but I want to learn. This app is going to need some basic tests, as it grows more complex a TDD approach will be necessary.

Drafts in Dashboard

Currently, posts are only public if the boolean for Public is marked. It would be great to display a list of Drafts for any article that isn't public, with the exception that only the author can view it.

Tags

It would be nice to allow articles to be tagged by the original author for categories.

This can be accomplished by using the acts_as_taggable_on gem. The other half of this will probably require an appropriate jquery plugin of some sort.

Need to correctly set permissions on edit options

Semi-minor thing, but I need to check that Devise permissions are properly set on articles. We don't just want to check that authors are signed in, we also only want to permit such actions to the original author.

Control Panel for Site Configuration

Currently, Pine does not allow for basic customization of itself. Specifically, I should focus on these things:

  • Name for the site
  • Description for the site
  • Brand logo
  • Allow signups?
  • Approval queue for registrations?
  • Copy for footer text

Initial create attempt in article fails

Weird bug, basically saving the form the first time on a create action for a new article seems to submit blank content for title and body fields of the article.

Editing seems to update the article without any problems, but for now when someone makes their initial article, they lose all of their work, and can't view the post without using the edit action.

Need to come up with a fix, a little clueless on this one.

Use guids for article and author models

This actually requires more investigation. I can see some benefits in doing this to play nice with other servers, but I'm also holding some assumptions about how other OStatus servers would react to a conversation that relies on a GUID string as a conversation_id.

Publications

Publications are a model that belong to authors, that have many articles. A publication basically acts as a list of articles, authors can declare which publication an article gets assigned to.

Publications should also have an endpoint similar to users, allowing them to be followed through OStatus subscriptions. What would be really cool is if a feed could somehow preserve attribution of the original author for each individual article - the question then becomes: how does one do that exactly? Is every article in a Publication's feed effectively a "reshare"?

Create / Edit forms have ugly visual issues

Turns out that textarea and input elements have some fun limitations. Need to figure out:

  • How to increase the height of the article name field when more than 1 row sits in the textarea
  • How to set sane default fallbacks for scenarios when someone is either writing a new article, or editing an old one.

Basic Federation (Atom Feeds for Authors)

So, time to do a little bit of planning. This is pretty new territory, but in principle it seems simple.

The OStatus2 Gem is what Mastodon uses for OStatus-based federation. Since it's Ruby-based, it will work with our Ruby on Rails app.

This issue seeks to explore and plan out the different aspects of this gem, and consider methods of implementation in Pine. The docs seem a bit cryptic, so figuring out the "correct Rails 4+ way" to do this will be less-than-obvious.

So we need to:

  • Construct an XML-based Atom Feed that features Articles (showing each Title and Body)
  • Make sure that each entry references the Article author (useful for multi-author publication feeds)
  • Create an hCard for Authors and possibly Publications
  • Do something with Salmon so that interaction is possible. This is perhaps the part I currently know least about

Concepts:

  • Every Author has their own feed, with stream entries that are the contents of articles.
  • Each Article should have comments, which are federated.
  • Entries should concatenate the title and body field, and truncate the result for the stream entry
  • A Publication might represent a collection of authors, and would need attribution for each individual article. Does this mean that

Articles should have header images

Shouldn't be that hard to add support for. This just basically requires a quick migration and some CarrierWave assignment. Would be really nice to make some kind of AJAXy button for a smooth upload of image.

As a bonus, that image can be passed as the og:image value for any article post.

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.