[doc] Rework introduction page

This commit is contained in:
Andreas Dangel
2017-08-18 10:33:43 +02:00
parent b3f76562a3
commit dda923fe1e
5 changed files with 92 additions and 17 deletions

View File

@ -2,6 +2,7 @@ repository: pmd/pmd
pmd:
version: 6.0.0
date: to-be-defined
output: web
# this property is useful for conditional filtering of content that is separate from the PDF.

View File

@ -120,6 +120,9 @@ entries:
- title: Developer Documentation
output: web, pdf
folderitems:
- title: Developer Resources
url: /pmd_devdocs_development.html
output: web, pdf
- title: Code Style
url: /pmd_devdocs_codestyle.html
output: web, pdf

View File

@ -6,7 +6,11 @@
{% for folder in entry.folders %}
{% if folder.output contains "web" %}
<li>
{% if folder.url %}
<a href="{{ folder.url | remove: "/" }}">{{ folder.title }}</a>
{% else %}
<a href="#">{{ folder.title }}</a>
{% endif %}
<ul>
{% for folderitem in folder.folderitems %}
{% if folderitem.output contains "web" %}

View File

@ -2,38 +2,94 @@
title: PMD Introduction
keywords: java
tags: [getting_started]
sidebar: pmd_sidebar
permalink: index.html
summary: Welcome to PMD, an extensible cross-language static code analyzer.
toc: false
summary: >
Welcome to PMD, an extensible cross-language static code analyzer.
It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation,
and so forth. Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code.
last_updated: August 2017
---
{% include image.html file="pmd-logo-big.png" alt="PMD Logo" %}
# Welcome to PMD
PMD scans source code in Java and other languages and looks for potential problems like:
**PMD** scans source code in Java and other languages and looks for potential problems like:
* Possible bugs - empty try/catch/finally/switch statements
* Dead code - unused local variables, parameters and private methods
* Suboptimal code - wasteful String/StringBuffer usage
* Overcomplicated expressions - unnecessary if statements, for loops that could be while loops
* Duplicate code - copied/pasted code means copied/pasted bugs
## Download
**CPD**, the copy-pase-detector, finds duplicated code in many languages:
You can [download everything from here](https://github.com/pmd/pmd/releases).
* Duplicate code is often just copied and pasted. This means, the bugs are also copied and pasted. Fixing
them means, fix all duplicated code locations.
You can get an overview of all the rules for e.g. Java at the [rulesets index](pmd_rules_java.html) page.
## Features
PMD is [integrated](pmd_userdocs_tools.html) with JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java Studio Enterprise/Creator, IntelliJ IDEA, TextPad, Maven, Ant, Gel, JCreator, and Emacs.
{::options parse_block_html="true" /}
<div class="row"><div class="col-lg-6">
### PMD
Features:
* Supporting 8 languages
* Many ready-to-use built-in rules.
* Custom rules can be written in Java
* Custom rules can be written using XPath expression that query the AST of the sources
* Many output formats
* Many integrations into IDEs, build tools
Supported Languages:
* [Java](pmd_rules_java.html)
* [JavaScript](pmd_rules_ecmascript.html)
* [Salesforce.com Apex](pmd_rules_apex.html) and [Visualforce](pmd_rules_vf.html)
* [PLSQL](pmd_rules_plsql.html)
* [Apache Velocity](pmd_rules_vm.html)
* [XML](pmd_rules_xml.html) and [Maven POM](pmd_rules_pom.html)
* [XSL](pmd_rules_xsl.html)
</div><div class="col-lg-6">
### CPD
Features:
* Supporting 19 languages
* Simple GUI
* Fast
* Many integrations
Supported Languages:
* Java
* C, C++
* C#
* Groovy
* PHP
* Ruby
* Fortran
* JavaScript
* PLSQL
* Apache Velocity
* Scala
* Objective C
* Matlab
* Python
* Go
* Swift
* Salesforce.com Apex and Visualforce
</div></div>
## Download PMD {{ site.pmd.version }}
Latest Version: {{ site.pmd.version }} ({{ site.pmd.date }})
* [Release Notes](pmd_release_notes.html)
* [Download](https://github.com/pmd/pmd/releases)
## Future Releases
The next version of PMD will be developed in parallel with this release. We will release additional bugfix versions as needed.
A [snapshot](http://pmd.sourceforge.net/snapshot) of the web site for the new version is generated daily by our continuous integration server.
Maven packages are also generated regularly and uploaded to [Sonatypes OSS snapshot repository](https://oss.sonatype.org/content/repositories/snapshots/net/sourceforge/pmd/pmd/).
{% include links.html %}

View File

@ -0,0 +1,11 @@
---
title: Developer Resources
permalink: pmd_devdocs_development.html
---
The next version of PMD will be developed in parallel with this release. We will release additional bugfix versions as needed.
A [snapshot](http://pmd.sourceforge.net/snapshot) of the web site for the new version is generated daily by our continuous integration server.
Maven packages are also generated regularly and uploaded to [Sonatypes OSS snapshot repository](https://oss.sonatype.org/content/repositories/snapshots/net/sourceforge/pmd/pmd/).