Git Product home page Git Product logo

samples's Introduction

Sample extensions

These samples demonstrate techniques for building an extension with an HTML5 UI and behavior implemented in JavaScript.

The samples are kept up to date with the latest CC2018 host applications. Make sue to check the manifest.xml file for each sample's compatible host applications. To run the extensions you must have the compatible host application installed. Requirements for each sample are listed below.

Each version of CEP comes with its own samples in the CEP-Resources repository. Under each version name, CEP_N.x, you will find the version specific samples, which cover broad use cases and topics of CEP.

Unlike the samples in the CEP-Resources repository, samples in this repository cover specific use cases covering a wide variety of topics. Check out the next section to choose a sample that suits your need.

Before running the samples

  1. The provided samples are unsigned. This will cause the signature check (built into CEP when first running an extension) to fail. To bypass the signature check, please refer to the documentation.
  2. Although these extensions are initially setup for a particular version of CEP, you can adjust the product version targeted by modifying the range inside the HostList element of the CSXS/manifest.xml file.
  3. Some folders have a nested folder strucutre. For those samples, you will need to extract sub-directories into the extension folder.

Samples list

Extension Description Supported Products
AfterEffectsPanel Demonstrates how to invoke After Effects ExtendScript, from within a CEP panel. After Effects
Anywhere Example Panel Demonstrates a Premiere Pro panel integration with Adobe Anywhere (through DOM and http). Premiere Pro, Prelude
Audition There are 4 Audition CC extensions in this repo (ApplicationCommands, PlayheadPanel, ScriptDictionary, TransportEvents) Audition
Bridge - HelloBridge A Hello World extension for Adobe Bridge. Bridge
Bridge - ShowFolder Demonstrates use of CEP APIs and ExtendScript in Adobe Bridge Bridge
CEP HTML Invisible Extension An example of an invisible extension. More information about invisible extensions can be found in the cookbooks https://github.com/Adobe-CEP/CEP-Resources/wiki/CEP-5-HTML-Extension-Cookbook-for-CC-2014#invisible Dreamweaver, Animate, InDesign, InCopy, Illustrator, Photoshop, Premier Pro, Prelude, After Effects
CEP HTML Test Extension Showcases most features and capabilities of CEP 6, including events, video, database interaction via Node, native APIs, ExternalObject, HTML FlyOut menus and lots of other good stuff! Dreamweaver, Animate, InDesign, InCopy, Illustrator, Photoshop, Premier Pro, Prelude, After Effects
CueSheeter Demonstrates extracting usage data from sequences; useful for documenting usage and clearance rights. Premier Pro
Flickr Demonstrates connecting and retrieving assets from a Cloud service (Flickr in this case). Photoshop
htmlStandAlone Demonstrates Prelude's message-driven Javascript APIs. Inside the sample, there are multiple standalone html pages that include demos for different ExtendScript functionalities you can use in Prelude. Prelude
Photoshop Events Demonstrates listening to events in Photoshop. Photoshop
Premiere Pro Panel Demonstrates a Premiere Pro panel. Premiere Pro
RSSReader Demonstrates using 3rd party NPM modules in a CEP 5 extension. InDesign/InCopy, Illustrator, Photoshop
SimpleDissolve Photoshop
Redirect Demonstrates loading an external website in an iFrame. Photoshop, Illustrator, Premiere Pro
TypeScript Demonstrates multiple sample codes thata demonstrate what's possible to build inside Premiere Pro. Premiere Pro
UI Samples Demonstrates using common JavaScript UI frameworks in CEP extensions. Photoshop, Illustrator, Premiere Pro
WebGL with three.js (Contributed by Davide Deraedt) Demonstrates WebGL with three.js Photoshop
Websockets Demonstrates using web sockets in an extension. Photoshop, Illustrator, Premiere Pro
XMP Sample Panel Demonstrates manipulating XMP metadata in CC2014 hosts. Premiere Pro, InDesign, Photoshop, Illustrator

samples's People

Contributors

arthurwei1975 avatar ashryanbeats avatar bbb999 avatar davidderaedt avatar davidepagliaro avatar dinghui0712 avatar dkstevekwak avatar embiem avatar ericdrobinson avatar erinfinnegan avatar froig avatar garyo avatar glohsehh avatar hallgrimur avatar jabogart avatar jaroslavbereza avatar jfairley avatar jimmcnulty41 avatar johnlouis-swaine-axomic avatar keir-lavelle avatar lesavage avatar ltfschoen avatar pcgeek86 avatar pwollek avatar siddharthsingh89 avatar vaporstack avatar yugguo 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  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

samples's Issues

Sample extension is not working in IDSN

This is a follow-up to this question that I posted in Adobe's Scripting SDK forum. In short, the RSSReader example does not work, in spite of adjusting the manifest.xml to

<Host Name="IDSN" Version="[10.0,12.9]"/>

to match the latest InDesign CC version. I've also set PlayerDebugMode to 1 in order to develop the extension, as per documentation. I am able to open the extension's panel but without content; trying to connect the debugger fails as well. I've also switched the logging level to INFO but get only an expected

2017-01-09 13:22:07:567 : INFO  PlugPlug version : 7.0.0.59
2017-01-09 13:22:07:567 : INFO  LogLevel : 1
2017-01-09 13:22:07:567 : ERROR Signature verification failed for extension com.adobe.htmlsample.rssreader.panel

idsn

Keyframes not being saved

I've been trying to update keyframes on a simple clip which is just an image.
I've basically followed this implementation which was the only good example I saw on playing around with keyframes.

It seems that my image is actually updated and after the script is run, it really does change the component property(Scale in this case) and leaves the final result there. The only problem is that the keyframes are not being saved from what I can tell even though logging the component[].properties[].getKeys() return an array of Time objects.

I don't know if this is actually a bug or if it's something that I've missed when reading through the script on github. Anyway, any help is appreciated!

How to get current selected image path in custom CC Bridge Extension Panel

Hi Team,

I have created a custom HTML5 Extensional Panel for CC Bridge. I just want to know how can I get the image path for an image selected in CC Bridge.

Can I get it ?

One more thing - Can I edit keywords field in Metadata panel from my custom panel? I want to do it to sort/categorise image based on these keywords.

SimpleDissolve doesn't seem to launch any UI

Hi,
I've moved the SimpleDissolveScripts into Photoshop/Presets/Scripts and when I launch: Filter > Simple Dissolve Extension... a progress bar flashes for a while but no extension with UI shows up.
Tried both on CC2014 and CC2015 - am I doing something wrong?
Thank you,

Require not defined!

Just updated the PS to the latest version (2015.1 release), and every extension that used some node modules reported this error, why??

Can't get samples working

Hello,

I would like to dive in adobe extension development but can't get it work.
I am working on OSX 10.14.4 with illustrator 23.0.4.

I have 'installed' the extensions properly and where loaded in the extension menu. When i click on a extension i just opens and display nothing:
Screenshot 2019-07-10 at 11 51 28

I have setup debug as documented, restarted etc but localhost does also nothing.

Anyone know where to look?

PProPanel doesn't work

Hi There,

it lists in the Windows->Extension Submenu on Mac inside PPRO.
But nothing happens when selecting the menu item.

Were you aiming to show folks how to insert a menu item in a Menu ? Or is a panel supposed to open.

One last question. If those panels are so powerful, how come 90% of all sample code never works,
Including this one ?

Premiere pro getValue for Position doesn't work at all! Fires an exception

Premiere Pro CC2017 bug here.

If you try to walk through all video clips of app.project.activeSequence and then walk through its components until you reach "AE.ADBE Motion" which corresponds to Rotation, Opacity etc. And then try to change the corresponding property with the name "Position" or just call getValue() of it - the exception "Bad argument" fill fire.

There's no such problem with Opacity for example. Seems position is a vector value and getValue should work some other non-documented way? There's nothing in Samples about that. Can you help?

Thank you!

Javascript core functions in extension failing on some machines, working fine on others

My Premiere panel works perfectly on some machines, but on others, the script trips up on core javascript functions - I get errors like ".indexOf() is not a function" or ".filter() is not a function" when doing some operations on arrays inside the JSX. Why would that happen on some machines but work on others if the files inside the extension folders are identical and all machines have Premiere up to date?

PProPanel shows a non-working and misleading way to enable Node.js

PProPanel is misleading. It contains the --enable-nodejs directive in the manifest but that directive does nothing, because:

  1. CEFCommandLine is in the wrong place. It's under <DispatchInfo> instead of under <Resources>.
  2. <ExtensionManifest Version="4.0">, instead of "5.0" or higher (but not "8.0" because then your extension is not loaded, of course...).

If we copy the sample to create our own panel, we expect Node.js to work since --enable-nodejs is defined. However, it doesn't work. This can be verified by debugging in Chrome (cep_node is undefined) and also by enabling verbose logging, opening ~/Library/Logs/CSXS/CEP8-PPRO.log and seeing that CEFCommandLine is not displayed for PProPanel.

Please add documentation of minimum Version and CEFCommandLine location in manifest. I just wasted a whole day on this. The sample here is correct.

Related: #74

Topic

This is an issue regarding:

  • The samples contained within this repo.

Versions

  • CEP version(s) used [must be 8.x+ for this repo]: 8.0
  • Supported CC app(s) and version(s): PPro 12.0

InDesign Drag and Drop not quite working in latest update.

Prior to the 2015.2 release if you dragged a text element over an empty document and then dropped, the text frame was created with the drop text inserted. Now you must first create a text frame and only then will dropping text work.

I just downgraded InDesign and confirmed using the CEP_HTML_Test_Extension example.

Steps to reproduce:

  1. Open InDesign and create a new document.
  2. Open "CEP HTML Test Panel 1”
  3. Click the “Drag and Drop” option
  4. Drag one of the examples - InDesign document show drop icon and gray border showing document is gaining focus but nothing happens on drop.

Permiere JS library?

Hello this isn't issue more of a question.
I am looking for a Adobe Premiere js libary i can use to build a import or project?
I make alot of elearning classes i 60 sequences so i just wrote a a script to built the premiere sequences. standard stuff intro/main/outro and put all the files in the the chapter-> sequence -> bin.
I built reverse engineered hack to build my own adobe premiere import using the final cut pro spec I just stumbeled to these samples. do you have a legitmimate librarby I can use? i can push my stuff to the web service and pull it in json/xml if that is easier.

Exchange API status?

Hi,
is it possible to know what is the state-of-the-art for Exchange API?
Are they already implemented Add-ons server side? Is there a roadmap/timeframe you can share?
Thank you very much,

Davide

Confusing API Documentation for PProPanel

There are several APIs listed in the PProPanel sample project's api_doc.html documentation that have misleading explanations. Specifically, the return value explanation is frequently at odds with the actual value returned. An example is Project.ImportFiles:

Returns 0 if Premiere Pro successfully imports the array of file paths. If suppressUI is true, no UI will be presented. if importAsNumberedStills is true, Premiere Pro will attempt to import the array as a still image sequence.

The documentation suggests that the function should return a falsey 0 in the case that the import was successful. Currently, and this is another bug, the example above always returns a boolean value of true, both on success and failure (testing was conducted with audio files).

This is the case for Premiere Pro 2017.1.

simpledissolve and Ps CC 19

Is the simpledissolve extension compatible with the most recent Photoshop CC (19.1.1)?
I did not find any information about how to install the extension, so I copied the three folders SimpleDissolveUI, SimpleDissolveScripts, SimpleDissolveApplyFilter into
%AppData%\Adobe\CEP\extensions\.

The readme implies that a menu item "Simple Dissolve Extension…" will show up in the Filter menu, however, no such menu item appears after restarting Photoshop.

Example for building a Photoshop panel with Angular 7 and Typescript

Submit an issue

Topic

This is an issue regarding:

  • Sample to showcase building CEP Panels with UI frameworks.

Description of the issue

The samples contained within this repo doesn't show how to build UI with any of the existing UI frameworks like React, Angular. I would like to have an example to show how to build a CEP Panel with Angular so we can integrate this with Typescript.

I would like to send a PR for this.

how to create extension

Can you please tell me how you build your extensions?
After making your extension, if you modify your code ,then how do you see the output?
How do you see output in developing stage ?

Unable to set Keyframe on In/Out Point

Hi,

Scripting against Premiere Pro - 13.1. Purpose: add a key-frame on the in point, one on the outpoint and 2 in between. The timing is always off. Is this a bug or am I missing something?

My Code:

var seq = app.project.activeSequence;
var ip = seq.getInPointAsTime();
var op = seq.getOutPointAsTime();

var firstVideoTrack = seq.videoTracks[0];
var clipsFromFirstVidTrack = firstVideoTrack.clips;
var theClip;
var clipComponents;

// get the selected clip
for (var i = 0; i < clipsFromFirstVidTrack.numItems; i++) {
  var currentClip = clipsFromFirstVidTrack[i];
  if (clipsFromFirstVidTrack[i].isSelected()) {
    theClip = clipsFromFirstVidTrack[i];
    clipComponents = theClip.components;
  }
}

for(var j = 0; j < clipComponents.numItems; ++j) {
  if(clipComponents[j].displayName == "Motion") {
    var motion = clipComponents[j];
    var motionScale = motion.properties.getParamForDisplayName("Scale");
    var k = motionScale.getKeys();
    if (!motionScale.isTimeVarying()) { motionScale.setTimeVarying(true); }
    motionScale.addKey(ip.seconds);
    motionScale.addKey(ip.seconds + 1);
    motionScale.addKey(op.seconds - 1);
    motionScale.addKey(op.seconds);
    var k = motionScale.getKeys();

    if (motionScale.areKeyframesSupported() == true) {
      var result = motionScale.getValueAtKey(ip);
      motionScale.setValueAtKey(ip.seconds, 100, false); // 100%
      motionScale.setValueAtKey(ip.seconds + 1, 200, false); // 200%
      motionScale.setValueAtKey(op.seconds - 1, 200, false); // 200%
      motionScale.setValueAtKey(op.seconds, 100, true); // 100%
    }
  }
}

The result:

18-06-2019 22-44-15

The result is inconsistent by the way. Sometimes the key-frames are inserted too early, sometimes too late (like in this example).

Best regards,
FreVsAlpha

HowTo comment in XMPBridge.js is slightly misleading

The example for the excellent XMPBridge unfortunately leads to an Unregistered namespaceURI schema error when used.

 *          // now we're ready to go.
 *          XMPBridge.read('NS_DC', 'title');
 *          

Instead the example should probably include reference to the fact that you can get the the namespace URI from Adobe's constants like NS_DC by calling XMPBridge.toNamespaceURI()

 *          // now we're ready to go.
 *          XMPBridge.toNamespaceURI('NS_DC', function(namespaceUri) {
 *              XMPBridge.read(namespaceUri, 'title');
 *          });

Enabling Node.js in PProPanel sample crashes the debugger

Problem: The extension refreshes by itself after resume the script execution

To reproduce the bug, first you need to enable Node.js in PProPanel:

  • Change ExtensionManifest Version from 4.0 to 6.0
  • Move CEFCommandLine from DispatchInfo to the Resources tag

manifest.xml

<?xml version="1.0" encoding="UTF-8"?>
<ExtensionManifest Version="6.0" ExtensionBundleId="com.adobe.PProPanel" ExtensionBundleVersion="11.1"
ExtensionBundleName="Premiere Pro sample panel"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<ExtensionList>
		<Extension Id="com.adobe.PProPanel" Version="10.3.0" />
	</ExtensionList>
	<ExecutionEnvironment>
		<HostList>
			<Host Name="PPRO" Version="9.0" />
		</HostList>
		<LocaleList>
			<Locale Code="All" />
		</LocaleList>
		<RequiredRuntimeList>
			<RequiredRuntime Name="CSXS" Version="6.0" />
		</RequiredRuntimeList>
	</ExecutionEnvironment>

	<DispatchInfoList>
		<Extension Id="com.adobe.PProPanel">
			<DispatchInfo >
				<Resources>
					<MainPath>./index.html</MainPath>
					<ScriptPath>./PProPanel.jsx</ScriptPath>
					<CEFCommandLine>
						<Parameter>--allow-file-access</Parameter>
						<Parameter>--allow-file-access-from-files</Parameter>
						<Parameter>--enable-nodejs</Parameter>
					</CEFCommandLine>
				</Resources>
				<Lifecycle>
					<AutoVisible>true</AutoVisible>
				</Lifecycle>
				<UI>
					<Type>Panel</Type>
					<Menu>PProPanel (SDK sample panel)</Menu>
					<Geometry>
						<Size>
							<Height>300</Height>
							<Width>180</Width>
						</Size>
					</Geometry>
				</UI>
			</DispatchInfo>
		</Extension>
	</DispatchInfoList>
</ExtensionManifest>

Steps to reproduce the bug:

  • Add a breakpoint in the Chrome debugger
  • Trigger an action to execute the code with the breakpoint
  • The script execution is stopped
  • Resume the execution (F8) or Step over/into the next function (F10/F11)
  • The extension refreshes by itself, preventing the correct debugging for the extension

Enviroment to reproduce the bug:

  • CEP 8.x (Premiere Pro 2018)
  • Windows 10
  • Extension with Node.js enabled
  • Breakpoint in any JavaScript code

Notes:

  • I couldn't reproduce it on Mac

Breakpoint
ppropanel-debugger-windows

After resume the execution, the extension reloads automatically
ppropanel-debugger-windows-2

failure to run render()

It runs well when I choose Window->Extensions->PProPanel (SDK sample panel) in Adobe Premiere Pro CC 2014.
However, when I'm trying to run it in Extendscript Toolkit CC, there are several errors:

  1. on line 424, app.encoder.setSideCarXMPEnabled(0);
  2. when I fix the bug above (to app.encoder.setSide__c__arXMPEnabled(0);), there is no error message prompted. But nothing happened when the function render() runs.

Typescript Typings for Illustrator, etc.

Hi -- The Typescript example is really useful, but seems to only have typings for Premiere. Is there any chance Adobe could generate typings for its other products? In particular, I'm interested in Illustrator. Cheers! nehal

PPro: Removing TrackItems from Track

@bbb999 as there's a rather new function Track.overwriteClip (not listed in Premiere's 11.0 Object Model), is there maybe a function to just remove a clip from a Track?

Generally: is it possible to remove entries from Collections? Like in this case a TrackItem from a TrackItemCollection of a Track.

Progressbar not works in Windows.

We can use the Script UI in Extensions, Progressbar also works fine in OSX. However, When we call ScriptUI's panel or window from CEP side, we got blank window in Windows. Definitely, Works fine same code when call from ESTK.

Please refer below article, You can find some screenshot and test extension project.

https://forums.adobe.com/thread/2505027

Ten A

Where is detailed docs about Premiere Pro Scripting DOM API?

Hi, I'm making customized panel for Premiere Pro CC 2018.
I expect my panel can perform a few functions:

  1. split(cut) a track(both audio and video) into 2 subtracks by time parameter
    ex) There are simply two panels, my panel and built-in track panel. A video track is already imported in track panel. I want split this track into 2 subtracks at 10 sec.
  2. change the start time of a track
    ex) A video track is already imported in track panel. I want move this track backward or forward 10 sec.

Can I achieve these two goals through CEP?
I'm looking around Premiere Pro Scripting DOM API (which includes classes such as App, TrackItem, ...).
Now, I'm referring to Object Model Viewer that can be reached from ExtendScript Toolkit CS5. But it seems like unfriendly and poor, so I want detailed docs about these. Can anyone give me the links or docs?

PProPanel sample - Unable to load

Hi

I am a beginner. I am just starting to learn how to write extensions/panels. I am using PPRO v12.0.
I copied the PProPanel sample to ~//Library/Application Support/Adobe/CEP/extensions directory. Changed the manifest.xml files

<ExecutionEnvironment>
		<HostList>
			<Host Name="PPRO" Version="12.0" />
		</HostList>
		<LocaleList>
			<Locale Code="All" />
		</LocaleList>
		<RequiredRuntimeList>
			<RequiredRuntime Name="CSXS" Version="8.0" />
		</RequiredRuntimeList>
	</ExecutionEnvironment>

When I open Primiere Pro, I don't see the panel in Windows -> Extensions menu.

Am I missing something here? How do I get the panel to show up?

Thanks
Anand

Flickr panel - SSL required?

Hi,

I'm trying to run the Flickr panel: I've obtained a Flickr API key that I've inserted on main.js, line 1.
I got a Failed to load resource: the server responded with a status of 403 (Forbidden) error - the server responded this way:

jQuery19109386410422157496_1426884783629({"stat":"fail","code":95,"message":"SSL is required"})

Anything that I miss here?
Thank you!

How to run without ESTK ?

how to run premiere pro script from command line without etk like after effects ?..

is that possible ?.....

download .jsx file from net and not etoolkit in system how to run this script ?

Documentation is inconsistent

The documentation for using Adobe-CEP is inconsistent and makes it more difficult for developers to get up and running on an Adobe-CEP project.

Various links on Adobe.io pages, and all cookbooks included in the Adobe-CEP Resources Repo link to extension builder 3.

nothing happens when I launch through extensions menu

Submit an issue

Note: issues submitted on this repo should be related to the samples contained within. If you have a general question about CEP, ExtendScript, or related topics, please visit the Extensions development forum.

Topic

This is an issue regarding:

  • The samples contained within this repo.
  • The documentation contained within this repo.

Versions

  • CEP version(s) used [must be 8.x+ for this repo]:
  • Supported CC app(s) and version(s):

Description of the issue

Proposed solution or attempted solutions that failed

Incorrect documentation

The documentation on http://ppro.aenhancers.com/ states that there's a function setStartTime for instances of the ProjectItem object, this is wrong. ProjectItem has the method setInPoint(value). Beyond that setInPoint and setOutPoint have quite some strange behaviour concerning the parameter. This parameter is the offset in seconds from the start of the item and not a timecode or a value in Ticks like it is used with sequences.

Drag Layer to Panel

Hi,
what should the panel display when a layer is dragged onto the squares in the DnDPSLayer.html page? On my system (OSX Yosemite, PS CC 2014.2.1) there's no thumbnail, just the CSS .hover class applied.
Thanks!

General question

What is the right forum to ask questions about CEP, extendscript, writing HTML panels, for Premiere pro?

Anand

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.