The Comments module adds the ability to include comments to any resource which can be commentable by users.
The Comments component is exposed as a Rails helper:
<%= comments_for @commentable %>
In order to use the helper in your templates you need to include the comments helpers in your application helper:
//= require decidim/comments/comments
Add this line to your application's Gemfile.
And then execute:
How to contribute
The technology stack used in this module is the following:
For the backend side:
- Ruby on Rails
For the frontend side:
- Typescript (introduced in #1001)
The frontend code can be found in the folder
app/frontend instead of
app/assets. We are using Webpack to build the React application so we are keeping the React files in a separate folder and then including the
bundle.js file using sprockets as usual.
Developing React components
You need to execute
npm start in a separate terminal, in the
decidim root folder while you are developing this module. When you are finished you can build the project for production like this:
npm run build:prod. We are checking in the bundle into the repository.
You can execute
npm run test:watch to listen for file changes.
GraphQL schema and Typescript
Since we are using Typescript we can generate interfaces and types from our schema using the following command:
npm run graphql:generate_schema_types
This command will create a file called
app/frontend/support/schema.ts that can be used to strict type checking in our components.
In order for this to work your Rails server must be running at
localhost:3000, if you're using a different host you can set it with
DECIDIM_HOST=myhost:3000 npm run graphql:generate_schema_types