Skip to content

Commit

Permalink
Content, design, data updates
Browse files Browse the repository at this point in the history
  • Loading branch information
Gary Mann committed Aug 31, 2019
1 parent 7aa8187 commit 2b46afb
Show file tree
Hide file tree
Showing 20 changed files with 215 additions and 33 deletions.
14 changes: 14 additions & 0 deletions assets/css/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
module.exports = {
theme: {
extend: {
colors: {
gray: {
'50': '#fafafa',
'100': '#f5f5f5',
'200': '#eeeeee',
'300': '#e0e0e0',
'400': '#bdbdbd',
'500': '#9e9e9e',
'600': '#757575',
'700': '#616161',
'800': '#424242',
'900': '#212121',
}
},
fontFamily: {
mono: [
'SFMono-Medium',
Expand Down
2 changes: 1 addition & 1 deletion bin/merge-rules
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ for file in glob.glob('./build/json/**/index.json', recursive=True):
name = name[0].upper() + name[1:]
data[name] = json.load(f)

print(json.dumps(data))
print(json.dumps(data, sort_keys=True, indent=2))
14 changes: 10 additions & 4 deletions content/docs/listings/guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,27 @@ Review this guide for tips about creating a package that works well with Typedes

# General guidelines

* Only English language projects are being considered because this is what our editorial staff and moderation team understand.

* Only C# projects are eligible to be analyzed fully. Not all of Typedescriptor's features are supported by Visual Basic and F#.

* A project must be at least 30 days old for its original listing to be created on Typedescriptor.

* A project must be updated at least in the last two years. This includes pushing to source and publishing to NuGet.

* Only English language projects are being considered because this is what our editorial staff and moderation team understand.

## Nuspec files

* Use the MSBuild properties that are used by the [pack target][1]. Particularly important are:

* `Description`
* `PackageIconUrl`
* `PackageLicenseUrl`
* `PackageProjectUrl`

## GitHub repositories
## GitHub

* Only GitHub is supported today for linking a package to its source code
* Use a common file name for your license such as `LICENSE.md`
* Use a common file name for your license such as `LICENSE.md`. The license must be open source to list on Typedescriptor
* Prefer setting up the project in a GitHub organization.

[1]: https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target
8 changes: 0 additions & 8 deletions content/docs/listings/how-to-fix-listings.md

This file was deleted.

3 changes: 2 additions & 1 deletion content/docs/listings/moderators.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ In order to assure high quality on Typedescriptor, we have [several rules](../ru

> **Beta Software** Typedescriptor Listings is in beta.
During the beta period, a limited number of projects will be added to Typedescriptor.
During the beta period, a limited number of projects will be added to Typedescriptor, and Typedescriptor moderators will probably allow more listings to be unblocked when there are problems.

<a name="suppress-problems"> </a>
# Moderators can suppress problems
Expand All @@ -21,3 +21,4 @@ When problems occur in a listing, a moderator might suppress them in order to un
* **Feedback from Typedescriptor users**
* **Dependency management** &nbsp;&nbsp; Some packages are transitive dependencies of other packages. We generally try to list dependencies
* [**Sponsorships**](../sponsorships)
* During the beta, we'll allow moderators to suppress more problems than usual to help grow Typedescriptor's listing base.
4 changes: 2 additions & 2 deletions content/docs/listings/rules/archived.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ outputs:
- json
---

Project can't be archived.
Looks like this project is archived.

Normally, owners archive projects when they are no longer interested in maintaining them.

## Why Typedescriptor checks for it

Typedescriptor doesn't list dead projects unless they are particularly vital to the .NET ecosystem. Archived projects are a very good sign that the project is dead.
Typedescriptor doesn't list dead projects unless they are particularly vital to the .NET ecosystem or are the transitive dependencies of other listed projects. Archived projects are a very good sign that the project is dead.

## How to fix this problem

Expand Down
21 changes: 21 additions & 0 deletions content/docs/listings/rules/code-too-new.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: 'Code too new'
rule_type: blocker
outputs:
- html
- json
---

Projects must be at least 30 days old

It looks like this project is newly created or has been published for the first time within the last 30 days. To list on Typedescriptor, a project must be at least 30 days old.

## Why Typedescriptor checks for it

Typedescriptor sets a minimum age of 30 days for new NuGet packages and new source code pushed to source control. This is to help decrease churn from projects that are created and become popular quickly but don't continue to sustain development.

## How to fix this problem

Normally, it is sufficient to wait thirty days and the project will be eligible to be listed.

If the project was renamed or moved, it may take a moderator to help with this problem if it is a false positive.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: 'Language unsupported by moderation team'
rule_type: blocker
outputs:
- html
- json
---

Typedescriptor doesn't have moderators for this language.

It looks like the source code or documentation for the project is primarily in a langauge other than English. The Typedescriptor moderation team and editorial staff only review English language projects today.

This detection uses a heuristic and could be a false positive. Please send feedback if this rule matches your project unexpectedly.
25 changes: 25 additions & 0 deletions content/docs/listings/rules/license-url-required.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: 'License URL required'
rule_type: blocker
outputs:
- html
- json
---

The NuGet package must specify a license.

Typedescriptor wasn't able to detect the license for the package.

## Why Typedescriptor checks for it

Typedescriptor needs to be able to detect the license being used for the source code to make sure it is eligible for copyright and other legal reasons.

## How to fix this problem

* If you're creating the package manifest yourself or using the NuGet tools, check the value for the `licenseUrl` field. It should point to a URL on a working website.

* If you're using MSBuild to generate the package via the [pack target][1], you should ensure that there is a value for `PackageLicenseUrl` being set in your project file.

> **Note** Typedescriptor currently doesn't detect licenses packed as files in the NuGet manifest.
[1]: https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target
19 changes: 19 additions & 0 deletions content/docs/listings/rules/must-host-at-github.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: 'Must host at GitHub'
rule_type: blocker
outputs:
- html
- json
---

The project is not using a supported source control website.

## Why Typedescriptor checks for it

Typedescriptor only works with GitHub.

Today, the source code repository for a package must be on GitHub. We may revisit whether other popular source code services can be used in the future.

## How to fix this problem

If you can, move the project to GitHub. Moderators will not be able to ignore this problem, so unfortunately, if the project does not have mirror on GitHub, it won't be able to list on Typedescriptor.
17 changes: 17 additions & 0 deletions content/docs/listings/rules/open-source-license-required.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: 'Open source license required'
rule_type: blocker
outputs:
- html
- json
---

License for the package or in the repository doesn't look like open source.

## Why Typedescriptor checks for it

Typedescriptor only lists open source software.

## How to fix this problem

* **Use the text of an approved open source license.** You normally copy the text of the open source license template and fill in the copyright information. Be careful to avoid editing the text of the license in other places because that may prevent it from being detected as a common open source license.
19 changes: 19 additions & 0 deletions content/docs/listings/rules/organization-required.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Organization required
rule_type: warning
outputs:
- html
- json
---

Project is owned by a user instead of an organization

Generally, only projects within organizations should be listed on Typedescriptor.

## Why Typedescriptor checks for it

Organizations are more likely to have a sustainable, group contibution model that can keep the project high quality, secure, and viable over the long run.

## How to fix this problem

Consider moving the project from a user account to an organization.
31 changes: 31 additions & 0 deletions content/docs/listings/rules/project-site-required.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: 'Project site required'
rule_type: blocker
outputs:
- html
- json
---

Project site must be up and running

Typedescriptor tried to connect to the project site that is listed in the NuGet package but wasn't able to.

> **Note** Typedescriptor uses the information in the NuGet package, not the information in the GitHub repository to determine the home page for a project.
This problem can also be detected if the project site looks or acts like a malware website or if it is a DNS parking website. It could also be detected if the project website has very little content on it.

Typedescriptor will automatically retry this test later to make sure that it wasn't a temporary issue.

## Why Typedescriptor checks for it

Packages must have a home page to list on Typedescriptor. If it isn't working, this could be a sign that the project is no longer being maintained.

## How to fix this problem

* If you're creating the package manifest yourself or using the NuGet tools, check the value for the `projectUrl` field. It should point to a URL on a working website. The easiest thing to use is the GitHub repository page or GitHub Sites.

* If you're using MSBuild to generate the package via the [pack target][1], you should ensure that there is a value for `PackageProjectUrl` being set in your project file.

* Whatever website you choose, make sure that it responds to connections within a reasonable amount of time.

[1]: https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#pack-target
21 changes: 21 additions & 0 deletions content/docs/listings/rules/repository-license-required.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: 'Repository license required'
rule_type: blocker
outputs:
- html
- json
---

Code in the repository must contain a license.

Typedescriptor wasn't able to detect the license of the project.

## Why Typedescriptor checks for it

Typedescriptor needs to be able to detect the license being used for the source code to make sure it is eligible for copyright and other legal reasons.

## How to fix this problem

Use a conventional name for the license file such as `LICENSE.md` or `LICENSE` in the root directory of the project.

It isn't enough for it to be in the `README` or in the source code itself.
2 changes: 1 addition & 1 deletion layouts/_default/baseof.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="{{ .Site.Language.Lang }}">
<html lang="{{ .Site.Language.Lang }}" class="bg-gray-100">
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
Expand Down
4 changes: 2 additions & 2 deletions layouts/docs/baseof.html
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<!DOCTYPE html>
<html lang="{{ .Site.Language.Lang }}">
<html lang="{{ .Site.Language.Lang }}" class="bg-gray-100">
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
<main class="inter container p-4 mx-auto sm:flex flex-x">

<aside class="sm:w-1/4 mr-2 border-r border-gray-200 pb-4 flex-none pr-2">
<aside class="sm:w-1/4 mr-2 border-r border-gray-400 pb-4 flex-none pr-2">
{{ partial "docs/menu" . }}
</aside>

Expand Down
2 changes: 1 addition & 1 deletion layouts/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{ define "main" }}
<div class="container mx-auto">
<div class="container home-content mx-auto">
{{ .Content }}
</div>
{{ end }}
1 change: 0 additions & 1 deletion layouts/partials/docs/git-footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
<div class="text-right">
{{ $date := .AuthorDate.Local.Format (default "January 2, 2006" $.Site.Params.DateFormat) }}
<a href="{{ $.Site.Params.GitRepoURL }}/commit/{{ .Hash }}"
title='Last modified {{ $date }}'
target="_blank"
class="nav-link text-sm text-gray-500"
rel="noopener">
Expand Down
2 changes: 1 addition & 1 deletion layouts/partials/docs/toc.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<div class="text-sm border-t border-b border-gray-300 sm:border-white sm:py-0 pl-6 py-6 my-2 text-gray-700">
<div class="text-sm border-t border-b border-gray-300 sm:border-transparent sm:py-0 pl-6 py-6 my-2 text-gray-700">
<h2 class="font-semibold">In This Article</h2>
<div class="font-light"> {{ .Page.Title }} </div>
<div class="pl-2">
Expand Down
26 changes: 15 additions & 11 deletions layouts/partials/footer.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
<footer class="w-full text-center p-4 text-sm">
<p class="text-gray-800">
Copyright &copy; 2019 Typedescriptor
<footer class="w-full text-center p-4 text-sm text-gray-800">

<span class="px-6 text-gray-600">/</span>
<p>
<a class="mx-4 content-link" href="https://github.com/Typedescriptor/org-website">
View source on GitHub
</a>

Built using
<a href="https://gohugo.io" class="content-link">Hugo</a> and <a href="https://tailwindcss.com" class="content-link">Tailwind CSS</a>
<a class="mx-4 content-link" href="https://github.com/Typedescriptor/feedback/issues">
Send feedback
</a>
</p>

<span class="px-4 text-gray-600">/</span>
<p class="pt-2 text-xs">
Copyright &copy; 2019 Typedescriptor

<a class="content-link" href="https://github.com/Typedescriptor/org-website">
View source on GitHub
</a>
</p>
<span class="px-4 text-gray-600">/</span>
Built using
<a href="https://gohugo.io" class="content-link">Hugo</a> and <a href="https://tailwindcss.com" class="content-link">Tailwind CSS</a>
</p>
</footer>

0 comments on commit 2b46afb

Please sign in to comment.