From f1406b12027957c18cea3fc091540280907efa7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Mon, 29 Jul 2024 14:45:36 +0300 Subject: [PATCH 1/3] contribution guide added --- .../showcase/doc/contribution/benefitsdoc.ts | 15 ++++++ src/app/showcase/doc/contribution/cladoc.ts | 16 ++++++ .../doc/contribution/communicationdoc.ts | 16 ++++++ .../doc/contribution/contribution.module.ts | 20 ++++++++ .../doc/contribution/helpneededdoc.ts | 26 ++++++++++ .../doc/contribution/introductiondoc.ts | 37 ++++++++++++++ .../showcase/doc/contribution/keypoints.ts | 16 ++++++ .../showcase/doc/contribution/pathwaydoc.ts | 21 ++++++++ src/app/showcase/layout/app.routes.ts | 1 + .../contribution-routing.module.ts | 10 ++++ .../contribution/contribution.component.html | 6 +++ .../pages/contribution/contribution.module.ts | 11 ++++ .../pages/contribution/contribution.ts | 51 +++++++++++++++++++ src/assets/showcase/data/menu.json | 7 ++- 14 files changed, 252 insertions(+), 1 deletion(-) create mode 100644 src/app/showcase/doc/contribution/benefitsdoc.ts create mode 100644 src/app/showcase/doc/contribution/cladoc.ts create mode 100644 src/app/showcase/doc/contribution/communicationdoc.ts create mode 100644 src/app/showcase/doc/contribution/contribution.module.ts create mode 100644 src/app/showcase/doc/contribution/helpneededdoc.ts create mode 100644 src/app/showcase/doc/contribution/introductiondoc.ts create mode 100644 src/app/showcase/doc/contribution/keypoints.ts create mode 100644 src/app/showcase/doc/contribution/pathwaydoc.ts create mode 100755 src/app/showcase/pages/contribution/contribution-routing.module.ts create mode 100755 src/app/showcase/pages/contribution/contribution.component.html create mode 100755 src/app/showcase/pages/contribution/contribution.module.ts create mode 100755 src/app/showcase/pages/contribution/contribution.ts diff --git a/src/app/showcase/doc/contribution/benefitsdoc.ts b/src/app/showcase/doc/contribution/benefitsdoc.ts new file mode 100644 index 00000000000..e9016df211b --- /dev/null +++ b/src/app/showcase/doc/contribution/benefitsdoc.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'benefits-doc', + template: ` + +

+ Contributing to PrimeNG comes with several benefits. Being part of an open-source project will enhance your career and open up exciting opportunities. Contributors and Committers will be listed on our + team page. You'll gain significant visibility in the developer community while improving yourself as a professional. +

+

You'll be invited to a private communication channel at Discord to get in touch with PrimeTek. In addition, contributors have access to all PrimeNG add-ons like Premium Templates, Blocks, and UI Kit free of charge.

+
+ ` +}) +export class BenefitsDoc {} diff --git a/src/app/showcase/doc/contribution/cladoc.ts b/src/app/showcase/doc/contribution/cladoc.ts new file mode 100644 index 00000000000..eff0cc2cda0 --- /dev/null +++ b/src/app/showcase/doc/contribution/cladoc.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'cla-doc', + template: ` + +

+ PrimeNG is a popular Vue UI library maintained by PrimeTek, a company renowned for its comprehensive set of UI components for various frameworks. PrimeTek is dedicated to providing high-quality, versatile, and accessible UI components + that help developers build better applications faster. +

+
+ ` +}) +export class ClaDoc { + +} diff --git a/src/app/showcase/doc/contribution/communicationdoc.ts b/src/app/showcase/doc/contribution/communicationdoc.ts new file mode 100644 index 00000000000..deb770b4032 --- /dev/null +++ b/src/app/showcase/doc/contribution/communicationdoc.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'communication-doc', + template: ` + +

+ Join the Contributors channel on the PrimeLand Discord server to connect with PrimeNG staff and fellow contributors. In this channel, you can discuss the areas you want to contribute to and receive feedback. This channel is open to + everyone who'd like to contribute. +

+
+ ` +}) +export class CommunicationDoc { + +} diff --git a/src/app/showcase/doc/contribution/contribution.module.ts b/src/app/showcase/doc/contribution/contribution.module.ts new file mode 100644 index 00000000000..c1dd62f3321 --- /dev/null +++ b/src/app/showcase/doc/contribution/contribution.module.ts @@ -0,0 +1,20 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { AppDocModule } from '@layout/doc/app.doc.module'; +import { AppCodeModule } from '@layout/doc/app.code.component'; +import { IntroductionDoc } from './introductiondoc'; +import { HelpNeededDoc } from './helpneededdoc'; +import { CommunicationDoc } from './communicationdoc'; +import { PathwayDoc } from './pathwaydoc'; +import { BenefitsDoc } from './benefitsdoc'; +import { ClaDoc } from './cladoc'; +import { KeyPointsDoc } from './keypoints'; + + +@NgModule({ + imports: [CommonModule, RouterModule, AppCodeModule, AppDocModule], + declarations: [IntroductionDoc, HelpNeededDoc, KeyPointsDoc, CommunicationDoc, PathwayDoc, BenefitsDoc, ClaDoc], + exports: [AppDocModule] +}) +export class ContributionDocModule {} diff --git a/src/app/showcase/doc/contribution/helpneededdoc.ts b/src/app/showcase/doc/contribution/helpneededdoc.ts new file mode 100644 index 00000000000..40bc5b8cd6c --- /dev/null +++ b/src/app/showcase/doc/contribution/helpneededdoc.ts @@ -0,0 +1,26 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'helpneeded-doc', + template: ` + +

PrimeNG is a community-driven project backed by the expertise and sponsorship of PrimeTek, and we appreciate any help you can provide. Here are some areas where you can contribute:

+

Issue Triage

+

Help us manage issues by;

+ + +

Sending Pull Requests

+

We encourage you to send pull requests, especially for issues tagged with the help-needed label.

+ +

Community Support

+

Assist other users by participating in the issue tracker, GitHub discussions, and the PrimeLand Discord server. Your expertise can help others solve problems and improve their experience with PrimeNG.

+
+ ` +}) +export class HelpNeededDoc { + +} diff --git a/src/app/showcase/doc/contribution/introductiondoc.ts b/src/app/showcase/doc/contribution/introductiondoc.ts new file mode 100644 index 00000000000..775f69ba438 --- /dev/null +++ b/src/app/showcase/doc/contribution/introductiondoc.ts @@ -0,0 +1,37 @@ +import { Component } from '@angular/core'; +import { Code } from '@domain/code'; + +@Component({ + selector: 'indroduction-doc', + template: ` + +

+ PrimeNG is a popular Angular UI library maintained by PrimeTek, a company renowned for its comprehensive set of UI components for various frameworks. PrimeTek is dedicated to providing high-quality, versatile, and accessible UI + components that help developers build better applications faster. +

+

Development Setup

+

To begin with, clone the PrimeNG repository from GitHub:

+ +

Then run the showcase in your local environment at http://localhost:3000/.

+ +

Project Structure

+

PrimeNG's project structure is organized as follows:

+ +
+ ` +}) +export class IntroductionDoc { + code1: Code = { + basic: `git clone https://github.com/primefaces/primeng.git +cd primeng` + }; + code2: Code = { + basic: `npm install +ng serve` + }; + code3: Code = { + basic: `- app + - showcase // website + - components // main directory of components and directives` + }; +} diff --git a/src/app/showcase/doc/contribution/keypoints.ts b/src/app/showcase/doc/contribution/keypoints.ts new file mode 100644 index 00000000000..b125eeac039 --- /dev/null +++ b/src/app/showcase/doc/contribution/keypoints.ts @@ -0,0 +1,16 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'keypoints-doc', + template: ` + +

+ PrimeNG has several add-ons such as UI Kit, Premium Templates, and Blocks that rely on design tokens and styling. Any core structural changes, such as adding new props, events, or updating design tokens, should be communicated with the + core team to ensure consistency and compatibility. +

+
+ ` +}) +export class KeyPointsDoc { + +} diff --git a/src/app/showcase/doc/contribution/pathwaydoc.ts b/src/app/showcase/doc/contribution/pathwaydoc.ts new file mode 100644 index 00000000000..3d0214d0877 --- /dev/null +++ b/src/app/showcase/doc/contribution/pathwaydoc.ts @@ -0,0 +1,21 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'pathway-doc', + template: ` + +

PrimeTek offers an organization structure involving contributors and the core team:

+

Contributor Role

+

After a certain period of frequent contributions, a community member is offered the Contributor role.On average, it may take about three months, but the exact duration can vary depending on the individual commitment.

+ +

Committer Role

+

If a contributor actively participates in the codebase and PRs, their role may be upgraded to a Committer level, providing direct commit access to the PrimeNG codebase.

+ +

Employment

+

PrimeTek prefers to hire team members from open source committers, so you may be offered a full-time position when a position becomes available.

+
+ ` +}) +export class PathwayDoc { + +} diff --git a/src/app/showcase/layout/app.routes.ts b/src/app/showcase/layout/app.routes.ts index 0dcfed47219..264f2cb758b 100644 --- a/src/app/showcase/layout/app.routes.ts +++ b/src/app/showcase/layout/app.routes.ts @@ -99,6 +99,7 @@ export const routes: Routes = [ { path: 'stepper', loadChildren: () => import('@pages/stepper/stepperdemo.module').then((m) => m.StepperDemoModule) }, { path: 'steps', loadChildren: () => import('@pages/steps/stepsdemo.module').then((m) => m.StepsDemoModule) }, { path: 'support', loadChildren: () => import('@pages/support/support.module').then((m) => m.SupportModule) }, + { path: 'contribution', loadChildren: () => import('@pages/contribution/contribution.module').then((m) => m.ContributionModule) }, { path: 'styleclass', loadChildren: () => import('@pages/styleclass/styleclassdemo.module').then((m) => m.StyleClassDemoModule) }, { path: 'tag', loadChildren: () => import('@pages/tag/tagdemo.module').then((m) => m.TagDemoModule) }, { path: 'table', loadChildren: () => import('@pages/table/tabledemo.module').then((m) => m.TableDemoModule) }, diff --git a/src/app/showcase/pages/contribution/contribution-routing.module.ts b/src/app/showcase/pages/contribution/contribution-routing.module.ts new file mode 100755 index 00000000000..90c36197bb2 --- /dev/null +++ b/src/app/showcase/pages/contribution/contribution-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { ContributionComponent } from './contribution'; + + +@NgModule({ + imports: [RouterModule.forChild([{ path: '', component: ContributionComponent }])], + exports: [RouterModule] +}) +export class ContributionRoutingModule {} diff --git a/src/app/showcase/pages/contribution/contribution.component.html b/src/app/showcase/pages/contribution/contribution.component.html new file mode 100755 index 00000000000..9626179e1ee --- /dev/null +++ b/src/app/showcase/pages/contribution/contribution.component.html @@ -0,0 +1,6 @@ + diff --git a/src/app/showcase/pages/contribution/contribution.module.ts b/src/app/showcase/pages/contribution/contribution.module.ts new file mode 100755 index 00000000000..32348778ded --- /dev/null +++ b/src/app/showcase/pages/contribution/contribution.module.ts @@ -0,0 +1,11 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { ContributionRoutingModule } from './contribution-routing.module'; +import { ContributionComponent } from './contribution'; +import { ContributionDocModule } from '@doc/contribution/contribution.module'; + +@NgModule({ + imports: [CommonModule, ContributionRoutingModule, ContributionDocModule], + declarations: [ContributionComponent] +}) +export class ContributionModule {} diff --git a/src/app/showcase/pages/contribution/contribution.ts b/src/app/showcase/pages/contribution/contribution.ts new file mode 100755 index 00000000000..342f1e23514 --- /dev/null +++ b/src/app/showcase/pages/contribution/contribution.ts @@ -0,0 +1,51 @@ +import { Component } from '@angular/core'; +import { BenefitsDoc } from '@doc/contribution/benefitsdoc'; +import { ClaDoc } from '@doc/contribution/cladoc'; +import { CommunicationDoc } from '@doc/contribution/communicationdoc'; +import { HelpNeededDoc } from '@doc/contribution/helpneededdoc'; +import { IntroductionDoc } from '@doc/contribution/introductiondoc'; +import { KeyPointsDoc } from '@doc/contribution/keypoints'; +import { PathwayDoc } from '@doc/contribution/pathwaydoc'; + +@Component({ + templateUrl: './contribution.component.html' +}) +export class ContributionComponent { + docs = [ + { + id: 'introduction', + label: 'Introduction', + component: IntroductionDoc + }, + { + id: 'helpneeded', + label: 'Help Needed', + component: HelpNeededDoc + }, + { + id: 'keypoints', + label: 'Key Points', + component: KeyPointsDoc + }, + { + id: 'communication', + label: 'Communication', + component: CommunicationDoc + }, + { + id: 'pathway', + label: 'Pathway', + component: PathwayDoc + }, + { + id: 'benefits', + label: 'Benefits', + component: BenefitsDoc + }, + { + id: 'cla', + label: 'CLA', + component: ClaDoc + } + ]; +} diff --git a/src/assets/showcase/data/menu.json b/src/assets/showcase/data/menu.json index 0f63465ca71..272a8ccf312 100644 --- a/src/assets/showcase/data/menu.json +++ b/src/assets/showcase/data/menu.json @@ -570,6 +570,11 @@ } ] }, + { + "name": "Contribution", + "icon": "pi pi-users", + "routerLink": "/contribution" + }, { "name": "Discover", "icon": "pi pi-search", @@ -617,4 +622,4 @@ ] } ] -} \ No newline at end of file +} From 0f1958cde0aa0509faba318737055aa03f7214ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehmet=20=C3=87etin?= <92744169+mehmetcetin01140@users.noreply.github.com> Date: Mon, 29 Jul 2024 14:49:57 +0300 Subject: [PATCH 2/3] update page title --- src/app/showcase/pages/contribution/contribution.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/showcase/pages/contribution/contribution.component.html b/src/app/showcase/pages/contribution/contribution.component.html index 9626179e1ee..b48275c42c4 100755 --- a/src/app/showcase/pages/contribution/contribution.component.html +++ b/src/app/showcase/pages/contribution/contribution.component.html @@ -1,5 +1,5 @@ Date: Mon, 29 Jul 2024 15:44:36 +0300 Subject: [PATCH 3/3] badge added --- src/assets/showcase/data/menu.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/assets/showcase/data/menu.json b/src/assets/showcase/data/menu.json index 272a8ccf312..8d9e160b547 100644 --- a/src/assets/showcase/data/menu.json +++ b/src/assets/showcase/data/menu.json @@ -573,7 +573,8 @@ { "name": "Contribution", "icon": "pi pi-users", - "routerLink": "/contribution" + "routerLink": "/contribution", + "badge": "NEW" }, { "name": "Discover",