浏览代码

Merge pull request #2857 from github/experiment-ecosystem-groupings

introduce community templates
Brendan Forster 6 年之前
父节点
当前提交
e41d8872a9

+ 42 - 35
Drupal.gitignore

@@ -1,39 +1,46 @@
-# Ignore configuration files that may contain sensitive information.
-sites/*/*settings*.php
-sites/example.sites.php
+# gitignore template for Drupal 8 projects
+#
+# earlier versions of Drupal are tracked in `community/Python/`
 
 
-# Ignore paths that contain generated content.
-files/
-sites/*/files
-sites/*/private
-sites/*/translations
+# Ignore configuration files that may contain sensitive information
+/sites/*/*settings*.php
+/sites/*/*services*.yml
 
 
-# Ignore default text files
-robots.txt
-/CHANGELOG.txt
-/COPYRIGHT.txt
-/INSTALL*.txt
+# Ignore paths that may contain user-generated content
+/sites/*/files
+/sites/*/public
+/sites/*/private
+/sites/*/files-public
+/sites/*/files-private
+
+# Ignore paths that may contain temporary files
+/sites/*/translations
+/sites/*/tmp
+/sites/*/cache
+
+# Ignore drupal core (if not versioning drupal sources)
+/core
+/modules/README.txt
+/profiles/README.txt
+/sites/README.txt
+/sites/example.sites.php
+/sites/example.settings.local.php
+/sites/development.services.yml
+/themes/README.txt
+/vendor
+/.csslintrc
+/.editorconfig
+/.eslintignore
+/.eslintrc.json
+/.gitattributes
+/.htaccess
+/autoload.php
+/composer.json
+/composer.lock
+/example.gitignore
+/index.php
 /LICENSE.txt
 /LICENSE.txt
-/MAINTAINERS.txt
-/UPGRADE.txt
 /README.txt
 /README.txt
-sites/README.txt
-sites/all/libraries/README.txt
-sites/all/modules/README.txt
-sites/all/themes/README.txt
-
-# Ignore everything but the "sites" folder ( for non core developer )
-.htaccess
-web.config
-authorize.php
-cron.php
-index.php
-install.php
-update.php
-xmlrpc.php
-/includes
-/misc
-/modules
-/profiles
-/scripts
-/themes
+/robots.txt
+/update.php
+/web.config

+ 86 - 14
README.md

@@ -18,10 +18,47 @@ the following resources are a great place to start:
 
 
 ## Folder structure
 ## Folder structure
 
 
-The files in the root directory are for `.gitignore` templates that are
-project-specific, such as language or framework specific templates.
-Global (operating system or editor specific) templates should go into the
-[`Global/`](./Global) directory.
+We support a collection of templates, organized in this way:
+
+- the root folder contains templates in common use, to help people get started
+  with popular programming languages and technologies. These define a meaningful
+  set of rules to help get started, and ensure you are not committing
+  unimportant files into your repository
+- [`Global`](./Global) contains templates for various editors, tools and
+  operating systems that can be used in different situations. It is recommended
+  that you either [add these to your global template](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore)
+  or merge these rules into your project-specific templates if you want to use
+  them permanently.
+- [`community`](./community) contains specialized templates for other popular
+  languages, tools and project, which don't currently belong in the mainstream
+  templates. These should be added to your project-specific templates when you
+  decide to adopt the framework or tool.
+
+## What makes a good template?
+
+A template should contain a set of rules to help Git repositories work with a
+specific programming language, framework, tool or environment.
+
+If it's not possible to curate a small set of useful rules for this situation,
+then the template is not a good fit for this collection.
+
+If a template is mostly a list of files installed by a particular version of
+some software (e.g. a PHP framework), it could live under the `community`
+directory. See [versioned templates](#versioned-templates) for more details.
+
+If you have a small set of rules, or want to support a technology that is not
+widely in use, and still believe this will be helpful to others, please read the
+section about [specialized templates](#specialized-templates) for more details.
+
+If you believe your template is important and should be highly visible, please
+add details about the impact of the technology when you open a pull request. We
+may not accept it immediately, but we can promote it to the root at a later date
+based on interest.
+
+Please also understand that we can’t list every tool that ever existed.
+Our aim is to curate a collection of the _most common and helpful_ templates,
+not to make sure we cover every project possible. If we choose not to
+include your language, tool, or project, it’s not because it’s not awesome.
 
 
 ## Contributing guidelines
 ## Contributing guidelines
 
 
@@ -39,7 +76,7 @@ high quality, we request that contributions adhere to the following guidelines.
 
 
 - **Explain why you’re making a change**. Even if it seems self-evident, please
 - **Explain why you’re making a change**. Even if it seems self-evident, please
   take a sentence or two to tell us why your change or addition should happen.
   take a sentence or two to tell us why your change or addition should happen.
-  It’s especially helpful to articulate why this change applies to *everyone*
+  It’s especially helpful to articulate why this change applies to _everyone_
   who works with the applicable technology, rather than just you or your team.
   who works with the applicable technology, rather than just you or your team.
 
 
 - **Please consider the scope of your change**. If your change is specific to a
 - **Please consider the scope of your change**. If your change is specific to a
@@ -47,21 +84,56 @@ high quality, we request that contributions adhere to the following guidelines.
   template for that language or framework, rather than to the template for an
   template for that language or framework, rather than to the template for an
   editor, tool, or operating system.
   editor, tool, or operating system.
 
 
-- **Please only modify *one template* per pull request**. This helps keep pull
+- **Please only modify _one template_ per pull request**. This helps keep pull
   requests and feedback focused on a specific project or technology.
   requests and feedback focused on a specific project or technology.
 
 
 In general, the more you can do to help us understand the change you’re making,
 In general, the more you can do to help us understand the change you’re making,
 the more likely we’ll be to accept your contribution quickly.
 the more likely we’ll be to accept your contribution quickly.
 
 
-If a template is mostly a list of files installed by a particular version of
-some software (e.g. a PHP framework) then it's brittle and probably no more
-helpful than a simple `ls`. If it's not possible to curate a small set of
-useful rules, then the template might not be a good fit for this collection.
+## Versioned templates
 
 
-Please also understand that we can’t list every tool that ever existed.
-Our aim is to curate a collection of the *most common and helpful* templates,
-not to make sure we cover every project possible. If we choose not to
-include your language, tool, or project, it’s not because it’s not awesome.
+Some templates can change greatly between versions, and if you wish to contribute
+to this repository we need to follow this specific flow:
+
+- the template at the root should be the current supported version
+- the template at the root should not have a version in the filename (i.e.
+  "evergreen")
+- previous versions of templates should live under `community/`
+- previous versions of the template should embed the version in the filename,
+  for readability
+
+This helps ensure users get the latest version (because they'll use whatever is
+at the root) but helps maintainers support older versions still in the wild.
+
+## Specialized templates
+
+If you have a template that you would like to contribute, but it isn't quite
+mainstream, please consider adding this to the `community` directory under a
+folder that best suits where it belongs.
+
+The rules in your specialized template should be specific to the framework or
+tool, and any additional templates should be mentioned in a comment in the
+header of the template
+
+For example, this template might live at `community/DotNet/InforCRM.gitignore`:
+
+```
+# gitignore template for InforCRM (formerly SalesLogix)
+# website: https://www.infor.com/product-summary/cx/infor-crm/
+#
+# Recommended: VisualStudio.gitignore
+
+# Ignore model files that are auto-generated
+ModelIndex.xml
+ExportedFiles.xml
+
+# Ignore deployment files
+[Mm]odel/[Dd]eployment
+
+# Force include portal SupportFiles
+!Model/Portal/*/SupportFiles/[Bb]in/
+!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in
+```
 
 
 ## Contributing workflow
 ## Contributing workflow
 
 

+ 15 - 0
community/DotNet/InforCMS.gitignore

@@ -0,0 +1,15 @@
+# gitignore template for InforCRM (formerly SalesLogix)
+# website: https://www.infor.com/product-summary/cx/infor-crm/
+#
+# Recommended: VisualStudio.gitignore
+
+# Ignore model files that are auto-generated
+ModelIndex.xml
+ExportedFiles.xml
+
+# Ignore deployment files
+[Mm]odel/[Dd]eployment
+
+# Force include portal SupportFiles
+!Model/Portal/*/SupportFiles/[Bb]in/
+!Model/Portal/PortalTemplates/*/SupportFiles/[Bb]in

+ 64 - 0
community/DotNet/Kentico.gitignore

@@ -0,0 +1,64 @@
+# gitignore template for using Kentico CMS
+# website: http://www.kentico.com/
+#
+# Recommended template: VisualStudio.gitignore
+
+# Include some Kentico folders excluded by Visual Studio rules
+!CMS/CMSAdminControls/*/
+!CMS/CMSModules/System/*/
+!CMS/App_Data/CIRepository/**
+
+# Kentico temporary/environment files
+CMS/App_Data/AzureCache
+CMS/App_Data/AzureTemp
+CMS/App_Data/CMSModules/DeviceProfile/logFiftyOne.txt
+CMS/App_Data/CMSModules/DeviceProfiles/logFiftyOne.txt
+CMS/App_Data/CMSModules/WebFarm/webfarm.sync
+CMS/App_Data/CMSTemp
+CMS/App_Data/Persistent
+CMS/CMSSiteUtils/Export
+CMS/CMSSiteUtils/Import
+
+# Ignore all smart search indexes, but not the other system folder contents
+CMS/App_Data/CMSModules/SmartSearch/**
+!CMS/App_Data/CMSModules/SmartSearch/*/
+!CMS/App_Data/CMSModules/SmartSearch/_StopWords/**
+!CMS/App_Data/CMSModules/SmartSearch/_Synonyms/**
+
+## Kentico Starter Sites
+# Starter site resource Files
+CMS/App_Data/DancingGoat
+
+# Starter site web templates
+CMS/App_Data/Templates/CommunitySite
+CMS/App_Data/Templates/CorporateSite
+CMS/App_Data/Templates/DancingGoat
+CMS/App_Data/Templates/EcommerceSite
+CMS/App_Data/Templates/IntranetPortal
+CMS/App_Data/Templates/PersonalSite
+
+# Starter site app themes
+CMS/App_Themes/CommunitySite
+CMS/App_Themes/CorporateSite
+CMS/App_Themes/EcommerceSite
+CMS/App_Themes/IntranetPortal*
+CMS/App_Themes/PersonalSite
+
+# Starter site ASPX templates
+CMS/CMSTemplates/CorporateSite
+
+# Starter site media libraries
+CMS/CommunitySite
+CMS/CorporateSite
+CMS/DancingGoat
+CMS/EcommerceSite
+CMS/IntranetPortal
+CMS/PersonalSite
+
+## Project specific ignores
+# Sensitive settings
+AppSettings.config
+ConnectionStrings.config
+
+# Project media libraries (recommend shared file storage)
+# e.g. CMS/{SiteCodeName}

+ 22 - 0
community/Elixir/Phoenix.gitignore

@@ -0,0 +1,22 @@
+# gitignore template for Phoenix projects
+# website: http://www.phoenixframework.org/
+#
+# Recommended template: Elixir.gitignore
+
+# Temporary files
+/tmp
+
+# Static artifacts
+/node_modules
+/assets/node_modules
+
+# Since we are building assets from web/static,
+# we ignore priv/static. You may want to comment
+# this depending on your deployment strategy.
+/priv/static/
+
+# Installer-related files
+/installer/_build
+/installer/tmp
+/installer/doc
+/installer/deps

+ 8 - 0
community/Golang/Hugo.gitignore

@@ -0,0 +1,8 @@
+# gitginore template for Hugo projects
+# website: https://gohugo.io
+
+# generated files by hugo
+/public/
+
+# executable may be added to repository
+hugo.exe

+ 19 - 0
community/Java/JBoss4.gitignore

@@ -0,0 +1,19 @@
+# gitignore for JBoss v4 projects
+
+/server/all/data
+/server/all/log
+/server/all/tmp
+/server/all/work
+/server/default/data
+/server/default/log
+/server/default/tmp
+/server/default/work
+/server/minimal/data
+/server/minimal/log
+/server/minimal/tmp
+/server/minimal/work
+
+# Note:
+# there may be other directories that contain *.xml.failed or *.war.failed files
+/server/default/deploy/*.xml.failed
+/server/default/deploy/*.war.failed

+ 33 - 0
community/Java/JBoss6.gitignore

@@ -0,0 +1,33 @@
+# gitignore for JBoss v6 projects
+#
+# Note: to ensure empty directories remain part of the repository, like
+# `/server/minimal/lib`, you should add an empty `.gitignore` or `.gitkeep` file
+# to the directory - otherwise you may have issues when starting the service.
+
+/server/all/data
+/server/all/log
+/server/all/tmp
+/server/all/work
+/server/default/data
+/server/default/log
+/server/default/tmp
+/server/default/work
+/server/minimal/data
+/server/minimal/log
+/server/minimal/tmp
+/server/minimal/work
+/server/jbossweb-standalone/data
+/server/jbossweb-standalone/log
+/server/jbossweb-standalone/tmp
+/server/jbossweb-standalone/work
+/server/standard/data
+/server/standard/log
+/server/standard/tmp
+/server/standard/work
+/server/default/deploy/*.jar.failed
+/server/default/deploy/*.jar.dodeploy
+/server/default/deploy/*.xml.failed
+/server/default/deploy/*.xml.dodeploy
+/server/default/deploy/*.war.failed
+/server/default/deploy/*.war.dodeploy
+

+ 10 - 0
community/JavaScript/Cordova.gitignore

@@ -0,0 +1,10 @@
+# gitignore template for the Cordova framework
+# website: https://cordova.apache.org/
+#
+# Recommended template: Node.gitignore
+
+# App platform binaries and built files
+/platforms
+
+# Optional to ignore plugin Git clones
+#/plugins

+ 12 - 0
community/JavaScript/Meteor.gitignore

@@ -0,0 +1,12 @@
+# gitignore template for the Meteor framework
+# website: https://www.meteor.com/
+#
+# Recommended template: Node.gitignore
+
+# protect api keys in setting json
+settings-production.json
+settings.json
+
+# protect your mup.json settings
+mup.json
+mup.js

+ 29 - 0
community/JavaScript/NWjs.gitignore

@@ -0,0 +1,29 @@
+# gitignore template for NW.js projects
+# website: https://nwjs.io/
+
+# Seen in standard and sdk versions
+credits.html
+locales/
+libEGL.dll
+libGLEv2.dll
+node.dll
+nw.dll
+nw.exe
+natives_blob.bin
+nw_100_percent.pak
+nw_200_percent.pak
+nw_elf.dll
+snapshot_blob.bin
+resources.pak
+
+# Seen only in standard
+d3dcompiler_47.dll
+ffmpeg.dll
+icudtl.dat
+
+# Seen only in sdk
+pnacl/
+chromedriver.exe
+nacl_irt_x86_64.nexe
+nwjc.exe
+payload.exe

+ 9 - 0
community/JavaScript/Nuxt.gitignore

@@ -0,0 +1,9 @@
+# gitignore template for Nuxt.js projects
+#
+# Recommended template: Node.gitignore
+
+# Nuxt build
+.nuxt
+
+ # Nuxt generate
+dist

+ 9 - 0
community/JavaScript/Vue.gitignore

@@ -0,0 +1,9 @@
+# gitignore template for Vue.js projects
+#
+# Recommended template: Node.gitignore
+
+# TODO: where does this rule come from?
+docs/_book
+
+# TODO: where does this rule come from?
+test/

+ 14 - 0
community/Linux/Snap.gitignore

@@ -0,0 +1,14 @@
+# gitginore template for creating Snap packages
+# website: https://snapcraft.io/
+
+parts/
+prime/
+stage/
+*.snap
+
+# Snapcraft global state tracking data(automatically generated)
+# https://forum.snapcraft.io/t/location-to-save-global-state/768
+/snap/.snapcraft/
+
+# Source archive packed by `snapcraft cleanbuild` before pushing to the LXD container
+/*_source.tar.bz2

+ 19 - 0
community/Logtalk.gitignore

@@ -0,0 +1,19 @@
+# gitignore template for LogTalk, a programming language that builds upon Prolog
+# website: https://logtalk.org/
+
+# Logtalk temporary file directories
+.lgt_tmp/
+lgt_tmp/
+
+# Logtalk default unit testing and doclet results and logs directories
+logtalk_tester_logs/
+logtalk_doclet_logs/
+
+# backend Prolog compiler temporary files
+.pl-history
+*.out
+*.xwam
+*.qo
+*.ql
+*.itf
+*.po

+ 23 - 0
community/PHP/Bitrix.gitignore

@@ -0,0 +1,23 @@
+# gitignore template for 1C-Bitrix, a PHP-based CMS
+# website: https://www.1c-bitrix.ru
+
+#Exclude all of core files
+/bitrix/*
+
+#But not the templates and non bitrix components
+!/bitrix/templates
+!/bitrix/components
+/bitrix/components/bitrix
+
+#Exclude bitrix gadgets
+!/bitrix/gadgets
+/bitrix/gadgets/bitrix
+
+#User can use that directory to store some stuff, but it's not really recommended, just use /local instead of this
+!/bitrix/php_interface/
+
+#Exclude database configs
+/bitrix/php_interface/dbconn.php
+
+#Exclude default file storage directory
+/upload/

+ 7 - 0
community/PHP/CodeSniffer.gitignore

@@ -0,0 +1,7 @@
+# gitignore for the PHP Codesniffer framework
+# website: https://github.com/squizlabs/PHP_CodeSniffer
+#
+# Recommended template: PHP.gitignore
+
+/vendor/*
+/wpcs/*

+ 45 - 0
community/PHP/Magento1.gitignore

@@ -0,0 +1,45 @@
+# gitignore template for Magento v1 projects
+#
+# It is recommended that you use `Magento.gitignore` as this is the latest version
+
+/PATCH_*.sh
+
+/app/etc/local.xml
+
+/media/*
+!/media/.htaccess
+
+!/media/customer
+/media/customer/*
+!/media/customer/.htaccess
+
+!/media/dhl
+/media/dhl/*
+!/media/dhl/logo.jpg
+
+!/media/downloadable
+/media/downloadable/*
+!/media/downloadable/.htaccess
+
+!/media/xmlconnect
+/media/xmlconnect/*
+
+!/media/xmlconnect/custom
+/media/xmlconnect/custom/*
+!/media/xmlconnect/custom/ok.gif
+
+!/media/xmlconnect/original
+/media/xmlconnect/original/*
+!/media/xmlconnect/original/ok.gif
+
+!/media/xmlconnect/system
+/media/xmlconnect/system/*
+!/media/xmlconnect/system/ok.gif
+
+/var/*
+!/var/.htaccess
+
+!/var/package
+/var/package/*
+!/var/package/*.xml
+

+ 53 - 0
community/PHP/Pimcore.gitignore

@@ -0,0 +1,53 @@
+# gitignore template for Pimcore CMS
+
+# pimcore source files
+/pimcore
+
+# asset files
+/website/var/assets/*
+
+# backups
+/website/var/backup/*
+
+# file cache
+/website/var/cache/*
+
+# generated PHP classes, keep definition files (.psf)
+/website/var/classes/Object*
+!/website/var/classes/objectbricks
+
+# various configuration files
+/website/var/config/system.xml
+/website/var/config/cache.xml
+/website/var/config/robots.txt
+/website/var/config/Geo*
+/website/var/config/object/*
+/website/var/config/portal/*
+/website/var/config/sqlreport/*
+
+# sent e-mail log files
+/website/var/email/*
+
+# log files
+/website/var/log/*.log
+
+# serialized recyclebin files
+/website/var/recyclebin/*
+
+# search plugin
+/website/var/search/*
+
+# various temp files
+/website/var/system/*
+/website/var/tmp/*
+
+# serialized version files
+/website/var/versions/asset/*
+/website/var/versions/document/*
+/website/var/versions/object/*
+
+# user profile images
+/website/var/user-image/*
+
+# keep .dummy files
+!.dummy

+ 8 - 0
community/PHP/ThinkPHP.gitignore

@@ -0,0 +1,8 @@
+# gitignore template for ThinkPHP v3.2.3
+# website: http://www.thinkphp.cn/
+
+# Logs and Cache files
+/Application/Runtime/
+
+# Common configure file
+/Application/Common/Conf/config.php

+ 43 - 0
community/Python/Drupal7.gitignore

@@ -0,0 +1,43 @@
+# gitignore template for Drupal 7 projects
+#
+# It is recommended that you use `Drupal.gitignore` as this is the latest version
+
+# Ignore configuration files that may contain sensitive information.
+sites/*/*settings*.php
+sites/example.sites.php
+
+# Ignore paths that contain generated content.
+files/
+sites/*/files
+sites/*/private
+sites/*/translations
+
+# Ignore default text files
+robots.txt
+/CHANGELOG.txt
+/COPYRIGHT.txt
+/INSTALL*.txt
+/LICENSE.txt
+/MAINTAINERS.txt
+/UPGRADE.txt
+/README.txt
+sites/README.txt
+sites/all/libraries/README.txt
+sites/all/modules/README.txt
+sites/all/themes/README.txt
+
+# Ignore everything but the "sites" folder ( for non core developer )
+.htaccess
+web.config
+authorize.php
+cron.php
+index.php
+install.php
+update.php
+xmlrpc.php
+/includes
+/misc
+/modules
+/profiles
+/scripts
+/themes

+ 15 - 0
community/Racket.gitignore

@@ -0,0 +1,15 @@
+# gitignore template for the Racket language
+# website: http://www.racket-lang.org/
+
+# DrRacket autosave files
+*.rkt~
+*.rkt.bak
+\#*.rkt#
+\#*.rkt#*#
+
+# Compiled racket bytecode
+compiled/
+*.zo
+
+# Dependency tracking files
+*.dep

+ 16 - 0
community/Red.gitignore

@@ -0,0 +1,16 @@
+# gitignore template for Red programming language
+# website: http://www.red-lang.org/
+
+# Red Compiled code
+*.red
+
+# Libraries
+crush.dll
+crush.dylib
+crush.so
+
+# Files generated during test
+quick-test/quick-test.log
+quick-test/runnable/
+system/tests/source/units/auto-tests/
+tests/source/units/auto-tests/