src/client/components/pages/contribute.tsx
/*
* Copyright (C) 2015 Ben Ockmore
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
import React from 'react';
/**
* Renders the the document and displays the 'Contribute' page.
* @returns {JSX.Element} a React JSX Element
*/
function ContributePage(): JSX.Element {
const IRCLink = 'https://kiwiirc.com/nextclient/irc.libera.chat/?#bookbrainz';
const styleLink = 'https://bookbrainz-user-guide.readthedocs.io/';
return (
<div>
<div className="page-header">
<h1>Contributing to BookBrainz</h1>
</div>
<p className="lead">
There are many ways that you can contribute to the
BookBrainz online encyclopedia, depending on where your
particular skills lie.
</p>
<h2>Editing</h2>
<p>
If you come to BookBrainz with new information about a
particular book, you’ll want to edit the database.<br/>
To do that, you’ll first need an account, which you
can get by
<a href="/register">
registering
</a>. Then, you’ll be able to add your new
information by editing an entity.<br/>
</p>
<p>
Please follow the
<a href={styleLink}>
BookBrainz style guidelines
</a> when adding data.<br/> They are still a work in progress
and should they not cover some cases, please refer to the
<a href="http://musicbrainz.org/doc/Style">
MusicBrainz ones
</a>, adapting as necessary.
</p>
<p>
If you find duplicates, instead of deleting them, please follow
<a href="https://bookbrainz-user-guide.readthedocs.io/en/latest/tutorials/merge/">
this tutorial
</a>
to learn how to merge them, so that any resource pointing
to a merged item will be redirected properly.
</p>
<h2>Programming</h2>
<p>
If you’re someone who’s good at using
JavaScript, NodeJS, SQL or LESS/SASS, we’d love to
have your help developing BookBrainz. Take a look at our
<a href="https://wiki.musicbrainz.org/Development/Priorities#BookBrainz">
roadmap
</a>
to see if there are any issues
or project that interests you.
Our code is all open source and hosted
<a href="https://github.com/metabrainz?q=bookbrainz">
on GitHub
</a>
</p>
<h2>Community</h2>
<p>
No matter whether you feel like you fit in one of these
categories, think you can contribute in a different area, or
just want to chat, feel free to drop in and meet us on the
MetaBrainz
<a href={IRCLink}>
IRC channel
</a>!
</p>
<p>
You can also get in touch and discuss with the community
<a href="https://community.metabrainz.org/c/bookbrainz"> on our forums,</a>
or send us
<a href="mailto:bookbrainz@metabrainz.org"> an email.</a>
</p>
</div>
);
}
ContributePage.displayName = 'ContributePage';
export default ContributePage;