Git Product home page Git Product logo

cordova-docs's Introduction

Build Status

Cordova Docs / Website

This repository contains the source code for the Cordova website at cordova.apache.org.

Technical Overview

The main parts are built as a static site with Jekyll, containing the homepage and subpages, the blog and the docs.
The plugin search is an embedded PreactJS application.

Here in the repository the code of the actual site is located in /www with its subfolder /docs, /blog and /plugins.
Some additional content is pulled in during the build process.

The site is built using a gulp script that is run by Node.JS (npm run-script build). (Alternatively you can build the site using Make.) Deployments usually happen on commits to master via Travis, which runs buildAndDeploy.sh and commits the built site to a SVN repository.

Instructions

Common Tasks

Attributions

For attributions for used open-source work, please see the attributions page: www/attributions.html.

cordova-docs's People

Contributors

agrieve avatar audreyso avatar becka11y avatar breautek avatar brycecurtis avatar cmarcelk avatar dblotsky avatar dpogue avatar erisu avatar filmaj avatar hermwong avatar infil00p avatar janpio avatar kant2002 avatar keiko713 avatar ldeluca avatar macdonst avatar mbillau avatar mike-sierra avatar mwbrooks avatar nikhilkh avatar niklasmerz avatar omefire avatar purplecabbage avatar raphinesse avatar riknoll avatar shazron avatar sintaxi avatar stevengill avatar vladimir-kotikov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cordova-docs's Issues

Docs should not encourage global npm installation

Currently the docs say to run sudo npm install -g cordova which is not great from a best practices standpoint. We should never encourage running npm with sudo because of permissions problems, and npm recommends not installing anything globally if it can be helped.

We should update our documentation to use npx cordova instead (npx requires npm >=5.2.0), and add cordova as a devDependency to our hello-world project template.

doc: Cordova JavaScript APIs (cordova.js)

Issue Type
[ ] Bug
[x] Feature Request

Priority
[ ] Minor
[x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS:
  • Browser:

Description
It would be great if there was some text calling out that you need to include cordova.js and cordova-plugins.js in the main HTML file in order to get access to plugins and APIs, and that it makes the global cordova object available. The only indication that this needs to happen is that they're in the files produced by cordova create.

This caused some confusion for me, because I was integrating cordova into a web project, copied over my existing html file from the web side, and wasn't aware that those script tags needed to be in my file.

Cordova plugin add <./some plugin> adds the same plugin after some local revision to git cloned plugin

This issue keeps coming to me and I hope someone can help. I created a project with cordova create and add the platform and plugins I need. And later I made some edits to its source code (java) and js files, then run 'cordova plugin remove' to remove this plugin first and 'cordova plugin add' to add the changed plugin locally and it still was the same official plugin.
No such issues with iOS cordova project. Thanks in advance.

Incorrect Link

Issue Type
[ x ] Bug
[ ] Feature Request

Priority
[ x ] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • ALL OS's

Description

Links for AppVeyor and TravisCI on the website page for cordova-plugin-globalization show build passing and are actually pointing to the page for cordova-plugin-geolocation, when it should be to it's own plugin page.

To Reproduce: Click on the AppVeyor or TravisCI link on cordova-plugin-globalization page.

Recommended dev tooling

Feature Request

List of recommended tools for someone to get started with mobile development, such as Node.js, decent editor, recommended Windows shells, etc.

Also there is no mention of prerequisite tools in the Get Started Fast section of the Cordova homepage. (I would be happy to move this part to a separate issue, if needed.)

Motivation Behind Feature

Discussion in issue #960 made me realize that this kind of information is not published in the Cordova docs.

I think we should not assume very much knowledge about dev tools from new Cordova users.

Feature Description

Alternatives or Workarounds

  • Add pointers to relevant tutorials, blog articles, and videos (there should be plenty good info already published, in many languages)

I hope to contribute the solution someday (sorry I cannot make any promises at this point).

Website Auto-Deployment Process is Broken

Bug Report

Problem

Currently the automated deployment process is broken and requires manual deployments of the website and doc. The deployment account appears to be locked out.

What is expected to happen?

  • Website and docs are updated.

What does actually happen?

  • Website and docs are not updated.

Information

We need to:

  • Unlock the deployment account.
  • Identify what causes the account to be locked. (Following release steps also got my account locked as well.)

Command or Code

None

Environment, Platform, Device

None

Version information

None

Checklist

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to most recent version
  • I included all the necessary information above Maybe

Embedding Android WebView doc looks broken

Issue Type
[x] Bug
[ ] Feature Request

Priority
[ ] Minor
[x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: N/A
  • Browser: N/A

Description

In https://cordova.apache.org/docs/en/latest/guide/platforms/android/webview.html:

Sample code seems to use a Config object class.

The one place where I see a Config class documented is in: https://developer.android.com/reference/android/util/Config

where I see no init method documented.

As a general rule the document should never assume the user implicitly knows that s/he has to import a class from a package somewhere.

This looks broken to me, hoping to see an explanation and solution someday soon.

P.S. android.util.Config class looks deprecated according to https://developer.android.com/reference/android/util/Config.

About Chinese Simplified translation

Issue Type
[ ] Bug
[X] Feature Request

Priority
[ ] Minor
[X] Major
[ ] Critical
[ ] Blocker

Description

The Simplified Chinese [简体中文] translation of cordova-doc is totally incorrect! Actually, it's just a copy of Traditional Chinese translation.
I think you can use Traditional Chinese - Simplified Chinese converter which is being used by Wikipedia. See: Automatic conversion between simplified and traditional Chinese and MediaWiki / LanguageZh.php
But I think there is high-quality Simplified Chinese translation already, maybe you can use theirs. See: Cordova中文网

Cordova Docs Layout is Messed Up

Issue Type
[X ] Bug
[ ] Feature Request

Priority
[ ] Minor
[ ] Major
[ X] Critical
[ ] Blocker

Environment

  • OS: Mac
  • Browser: Chrome

Description

Recently the Cordova Plugin docs have a CSS layout issue. See screenshot for an example and a URL of the corresponding issue.

screen shot 2018-07-13 at 3 34 44 pm

Cordova build android failed.Could not find intellij-core.jar

Issue Type
[ X ] Bug
[ ] Feature Request

Priority
[ ] Minor
[ X ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: Android
  • Browser:

Description

`
FAILURE: Build failed with an exception.
A problem occurred configuring project ':CordovaLib'.

Could not resolve all files for configuration ':CordovaLib:classpath'.
Could not find intellij-core.jar (com.android.tools.external.com-intellij:intellij-core:26.0.1).
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/external/com-intellij/intellij-core/26.0.1/intellij-core-26.0.1.jar
`

Update Contributor guidelines for GitHub Issues activation

Collection of stuff that has to be changed when switching over to Github issues:

https://cordova.apache.org/contribute/

  • Change "View All Issues" and replace Issue Search

https://cordova.apache.org/contribute/issues.html

  • Remove references to JIRA
  • Remove "Issue Priority"
  • Add link to new page that will be created via #860

https://cordova.apache.org/contribute/contribute_guidelines.html

  • Remove references to JIRA
  • Simplify "Making Pull requests" and "Git Commit Messages"

Anything missing?

Document use with fastlane

Issue Type
[ ] Bug
[x] Feature Request

Priority
[x] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: Android, iOS
  • Browser: Chrome mobile, Safari mobile

Description

I learned about fastline in [1], further discussed in [2]. Agreement is to document this in a blog post, raising this issue before it is forgotten.

https://ionic.zone/fastlane looks like a nice reference.

[1] https://lists.apache.org/thread.html/fe1d0c812b24826bec74ff07e487806a3b5ad8aa1ae882c0294cb6bd@%3Cdev.cordova.apache.org%3E
[2] https://lists.apache.org/thread.html/b3c0c671fa91feb20d526f9ff2b2dcfb3b2d1d9260001776b214ea4d@%3Cdev.cordova.apache.org%3E

Document cordova-lib API

Issue Type
[ ] Bug
[ ] Feature Request

Priority
[ ] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: all
  • Browser: all

Description

Tools such as https://github.com/dpa99c/cordova-check-plugins should be able to use cordova-lib more programmatically rather than having to spawn a hopefully updated version of the Cordova CLI. I did not see where the cordova-lib API is documented though.

Security Page

Cordova is currently missing a Security page at https://cordova.apache.org/security/ or similar where the process of reporting security bugs is documented, we just link to http://www.apache.org/security/ in the footer.

I suggest having a few sentences on the Cordova site itself, if only for better Google-ability.

The page could also list or link to previous CVEs:
https://cordova.apache.org/announcements/2015/11/20/security.html
https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-27153/Apache-Cordova.html

Some examples:
https://nodejs.org/en/security/
https://www.ruby-lang.org/en/security/

iframe support or lack thereof

Issue Type
[ ] Bug
[ ] Feature Request
[x] testing
[x] documentation

Priority
[x] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: all
  • Browser: multiple

Description

  • iframe may not work on iOS WKWebView as discussed in iOS WKWebView blog post (#867)
  • uncertain about iframe support on Windows

Should recommend using OpenJDK instead of Oracle JDK

Issue Type
[x] Bug
[ ] Feature Request

Priority
[ ] Minor
[x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: all
  • Browser: WebKit

Description

As discussed in apache/cordova-android#637, updates to Oracle JDK 8 including security updates will not be licensed for commercial use after January 2019. Recommended solution should be to use OpenJDK, as discussed in apache/cordova-android#637.

Update is needed in the following section: https://github.com/apache/cordova-docs/blob/45ee7b28111928f5d81b9f463f6d273326067770/www/docs/en/dev/guide/platforms/android/index.md#java-development-kit-jdk

I think this should to be done before we make the next major release for Cordova 9 (apache/cordova#10).

Missing documentation for OSX icons

Issue Type
[ x] Bug
[ ] Feature Request

Priority
[ x ] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: OS X

Description
The documentation page that describes how to set up icons does not include any information on the OSX platform. I am marking this issue as Minor, but only because I googled extensively and could not find any answers, which leads me to believe that it's not affecting many people. However, for those of us building an OS X app with cordova, it's pretty important! :)

List sentry.io

Issue Type

  • Bug
  • Feature Request

Priority

  • Minor
  • Major
  • Critical
  • Blocker

Environment

  • OS: all
  • Browser: all

Description

The sentry.io tool provides automatic detection and tracking of internal application errors that may happen in the field. I had a client waste quite a bit of time building this kind of system into her app before finding this tool.

Partial overlap with instabug (GH-827).

CodeSignIdentity in iOS platform guide not correct

Issue Type
[x ] Bug
[ ] Feature Request

Priority
[ ] Minor
[ x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: iOS
  • Xcode 9.4.1

Description
The documentation for iOS platform guideline, states to use codeSignIdentity "Iphone Developer" for both debug and release.
This baffled me a long time and I finally ended up figuring out that it ought to be "Iphone Distribution" when signing a release.
I am not a wizz and may have misunderstood some of the documentation, however I think it would be beneficial to a lot of users if this part was at least clarified:-)

Document that all agreements should be confirmed on the mailing list

Issue Type
[x] Bug
[ ] Feature Request

Priority
[ ] Minor
[x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: all
  • Browser: any

Description

From the query I raised in this thread on lists.apache.org:

I recently learned the following from @purplecabbage in this response to the thread:

We actually used to be a lot stricter with this, but I think the one rule
is, was, and for always should be "If it didn't happen on the list, it
didn't happen."

I think this should me made much more clear to new committers (and PMC members), new contributors, and new app developers using Cordova in general.

Further suggestions from @purplecabbage in this later reply to the same thread:

I think we could do a better job with our guide at [1] which we need to update anyway with all the github issues going on now. The Apache site also has some really good text on lazy-consensus [2]

Ultimately though, I think it comes down to all of us just doing it. If
someone shows up on this list, and we are all following a clear process, it
is probably pretty easy to jump in.

[1] https://cordova.apache.org/contribute/contribute_guidelines.html
[2] http://community.apache.org/committers/index.html

There are some other responses in the thread, along with some links into apache.org, that I think are important and should be better documented as well.

I hope I get a chance to contribute the needed clarification (someday). I am raising this issue in hopes that it will not be forgotten.

Documentation body text is hard to read

Issue Type
[x] Bug
[ ] Feature Request

Priority
[x] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: Arch Linux
  • Browser: Chromium

Description
As much as I love the Raleway typeface, it was designed as a display typeface for headlines and such, and is much too thin to be used as body text. Combine this with the pale base colour of #333, and the result is needlessly hard to read. I find myself going into my browser inspector and turning off these CSS rules, and my eyes go "ahhhhhh". And that's for someone with decent eyesight.

A straightforward fix would be to use one of the heavier Raleway weights. Alternatively, switch to a typeface more suited for body text; from Google Fonts's suggestions, Open Sans, Lato and Montserrat are all suitable.

Warn not to use cygwin

Warn not to use cygwin with cordova

Motivation Behind Feature

The cordova cli appears to be broken when performing certain operations which may lead to the abandonment or lack of adoption of cordova.

Feature Description

Just add a note on the installation page that not all operations work with cygwin.

I spent an embarrassing amount of time trying to figure out why the command "cordova plugin add" would fail when attempting to add a plugin from anywhere except the npm repository. Both the local file system and github failed similar to the following:

$ cordova plugin add ../cloned/cordova-plugin-fcm-with-dependecy-updated --verbose --save
No scripts found for hook "before_plugin_add".
No version specified for ../cloned/cordova-plugin-fcm-with-dependecy-updated, retrieving version from config.xml
No version for null saved in config.xml
Attempting to use npm info for null to choose a compatible release
Error: Not found : com.test.cordova.install

I found this did work within "git bash" on windows.

Alternatives or Workarounds

Not using cygwin. Instead use "git bash", Powershell, ...

Sections titles with apostrophes do not link correctly

Bug Report

Problem

In the Electron's documentation section, if in the navigation bar you click on the "Customizing the Application's Window Process" or on the "Customizing the Electron's Main Process" it won't link you to the appropriate section.

What is expected to happen?

It is expected that once you click on any section in the navbar, it should link you to the appropriate section in the documentation.

What does actually happen?

Nothing happens. The user remains in the same section.

Information

The problem is related to the name of the section and how we build an HTML document from .md files. When we build an HTML document, we take the names of the headings from the .md file and create an anchor tag for every 2nd layer (##) heading.

For instance:

<a class="fragment-anchor" id="customizing-the-electron's-main-process"></a>

We use heading's name as an id of the element in the navbar link as well as the document, in this case, ./docs/en/latest/guide/platforms/electron/index.html.

Since both section names "Customizing the Application's Window Process" and "Customizing the Electron's Main Process" contain an apostrophe, we also happen to use an apostrophe in the id. Unfortunately, this is what causes this issue.

Possible solutions

  • First and the simplest - change the name of the section.
  • Manually edit the id of the corresponding element it in the ./docs/en/latest/guide/platforms/electron/index.html and href of <a> element in the navbar
  • Use the backslash (\) to escape the apostrophe symbol in the href of <a> element in the navbar

Environment, Platform, Device

I believe this problem is across all the browsers and operating systems since they all build HTML in a similar way. I've successfully reproduced the problem on the newest Chrome and Safari browsers on macOS.

Checklist

  • I searched for existing GitHub issues
  • I updated all Cordova tooling to the most recent version
  • I included all the necessary information above

<source-file> element of plugin.xml accepts directory as src, but not documented

Issue Type
[x] Bug
[ ] Feature Request

Priority
[x] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Description

From apache/cordova#47:

The behavior to copy entire directory contents of a element in case of a directory in the src attribute is undocumented. It is now working on cordova-ios@latest, cordova-osx@latest, and cordova-android@6 but not cordova-android@latest. (Source files would be put into incorrect subdirectory on cordova-android@latest.)

cordova-android is keeping this behaviour (apache/cordova-android#564).
The feature should be documented.

See apache/cordova#47 for further discussion.

cordova-android 7.0.0 doesn't support API level 27, but the documentation suggests it does

Issue Type
[X] Bug
[ ] Feature Request

Priority
[ ] Minor
[X] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: Android
  • Browser: N/A

Description

When reading the documentation on the Android platform support in Cordova, it says that 7.X.X supports API level up to 27.

cordova-android Version Supported Android API-Levels Equivalent Android Version
7.X.X 19 - 27 4.4 - 8.1
6.X.X 16 - 26 4.1 - 8.0.0
5.X.X 14 - 23 4.0 - 6.0.1
4.1.X 14 - 22 4.0 - 5.1
4.0.X 10 - 22 2.3.3 - 5.1
3.7.X 10 - 21 2.3.3 - 5.0.2

However, when I tried to run the emulator ("cordova emulate android"), it didn't work, failing with "Cannot read property 'semver' of null" in platforms/android/cordova/lib/emulator.js.

The problem is that "cordova platform add android" (for cordova 8.0.0, the latest version) installs cordova-android 7.0.0, which doesn't include support for API level 27.

According to the documentation, p"every release of cordova CLI pins a version for each platform", which means that the upper limit in the above table is often misleading.

Search in docs top bar not working

Issue Type
[x] Bug
[ ] Feature Request

Priority
[ ] Minor
[x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: Linux
  • Browser: Chrome, Firefox

Description

It seems the search in the top bar of the docs doesn't work. I see it uses Algolia, so I expect a result box to appear automatically when I type, but nothing happens. If I press enter, the page reloads. I'm not sure when this last worked, but it may just be a matter of configuring Algolia.

Document how to use Android NDK libraries in plugins

As discussed in dpa99c/cordova-plugin-hello-c#8 ([1]) and storesafe/cordova-sqlite-storage#729 ([2]) the change in the project directory structure caused issues with plugins using Android NDK libraries (with JNI).

I can think of the following alternative solutions, from least-recommended to most-recommended:

[1] dpa99c/cordova-plugin-hello-c#8
[2] storesafe/cordova-sqlite-storage#729
[3] dpa99c/cordova-plugin-hello-c@b5f4d9c
[4] storesafe/cordova-sqlite-storage#729 (comment)
[5] https://stackoverflow.com/questions/34115571/add-external-jar-library-to-build-cordova-plugin-ionic-framework/34129929#34129929
[6] storesafe/cordova-sqlcipher-adapter@05a9166

Minimum Xcode version in cordova-docs & cordova-ios not consistent

Issue Type
[x] Bug
[ ] Feature Request

Priority
[ ] Minor
[x] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: iOS
  • Browser: none

Description

Minimum Xcode version is 8 according to README.md in cordova-ios or 7 according to www/docs/en/dev/guide/platforms/ios/index.md. I have not tested with either Xcode 7 or 8 in quite a while.

My vote would be to document minimum Xcode as 8.0.

Other alternative is to fix README.md in cordova-ios.

ios-deploy questions

Issue Type
[ ] Bug
[ ] Feature Request
[ ] Question

Priority
[ ] Minor
[ ] Major
[ ] Critical
[ ] Blocker

Environment

  • OS: macOS
  • Browser: ??

Description

From apache/cordova-ios#377 (comment) I realized that a couple things are not so clear:

  1. Why not make ios-deploy a dependency of cordova-ios that would then be automatically installed?
  2. Is there a risk of mismatch between a users installed ios-deploy version and a users Cordova version? Should this be documented, if so?

I think the answer to 1 is that ios-deploy sometimes needs to be installed with more system privs. I am not 100% sure of this, would love some confirmation from an expert. And I think this is not really a problem most of the time.

I think the answer to 2 is "not yet".

"Tooling" page

Currently the start page lists a number of tools that work with Cordova. But space is limited, and it should be in our interest to be able to list as many tools and services as possible.

I suggest a new "Tooling" (or "Tools to use with your apps" or similar) in the docs itself in list format, maybe grouped by category, where those can be listed with a short description. All companies offering such tools should be interested in being listed there, but also libraries and other stuff could be added.

The page could be linked below the "most important" tools listed on the website itself.

(Related: #829)

To define:

  • Page title
  • Page URL
  • Location in docs navigation
  • Categories
  • Start content

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.