linkedin2cv 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.buildpacks +1 -1
- data/.gitignore +3 -2
- data/Procfile +1 -3
- data/README.md +2 -2
- data/app/routes/api.rb +27 -3
- data/app/routes/web.rb +6 -5
- data/app/views/home.erb +2 -2
- data/app/views/index.haml +1 -3
- data/bin/linkedin2cv +9 -0
- data/lib/linkedin2cv/converter.rb +25 -21
- data/lib/linkedin2cv/renderer/latex_renderer.rb +41 -33
- data/lib/linkedin2cv/version.rb +1 -1
- data/linkedin2cv.gemspec +1 -1
- data/public/app/index.html +3 -3
- data/public/app/scripts/app.js +2 -2
- data/public/app/scripts/controllers/main.js +1 -1
- data/public/app/scripts/services/linkedin2cv.js +2 -2
- data/public/app/styles/main.scss +1 -1
- data/public/app/views/main.html +1 -1
- data/public/bower.json +1 -1
- data/public/package.json +1 -1
- data/public/test/spec/controllers/main.js +1 -1
- data/public/test/spec/services/happyapi.js +6 -6
- data/public/test/spec/services/happyservice.js +1 -1
- data/spec/converter_spec.rb +0 -32
- data/spec/latex_renderer_spec.rb +32 -0
- data/spec/mocks/config.yml +5 -1
- data/spec/mocks/matt.latex +1424 -0
- data/spec/mocks/profile.json +1 -1
- data/templates/cv.erb +15 -4
- data/texlive.packages +17 -0
- metadata +10 -6
- data/app/views/hello.erb +0 -36
- data/test.rb +0 -109
- data/test.sh +0 -6
data/spec/mocks/profile.json
CHANGED
@@ -415,7 +415,7 @@
|
|
415
415
|
}
|
416
416
|
},
|
417
417
|
{
|
418
|
-
"description": "The transformation programme is an IT integration and business transformation project brought about primarily to standardise business functions & processes, and to consolidate core customer information into a single system. This would enable Melbourne IT to more efficiently manage its customers, improve service offerings and \n\nI have served in a Solution Architect type role around the Web Properties integration piece which forms the all-important pointy part of the value chain \u2013 the direct interaction between Melbourne IT and its customers.\n\nMy involvement in the project to date has included the following:\n* Acting as a Subject Matter Expert (SME), providing advice on scoping and preparing the Web sub-project
|
418
|
+
"description": "The transformation programme is an IT integration and business transformation project brought about primarily to standardise business functions & processes, and to consolidate core customer information into a single system. This would enable Melbourne IT to more efficiently manage its customers, improve service offerings and \n\nI have served in a Solution Architect type role around the Web Properties integration piece which forms the all-important pointy part of the value chain \u2013 the direct interaction between Melbourne IT and its customers.\n\nMy involvement in the project to date has included the following:\n* Acting as a Subject Matter Expert (SME), providing advice on scoping and preparing the Web sub-project\u2019s business requirements\n* High-level design for integrating existing websites, service portals, the new Oracle suite and our existing legacy systems\n* Technical lead, including mid-level and detailed designs for the implementation of 5 sub-streams.",
|
419
419
|
"endDate": {
|
420
420
|
"month": 11,
|
421
421
|
"year": 2012
|
data/templates/cv.erb
CHANGED
@@ -65,7 +65,8 @@ end
|
|
65
65
|
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
|
66
66
|
%----------------------------------------------------------------------------------------
|
67
67
|
|
68
|
-
|
68
|
+
%\documentclass{scrartcl}
|
69
|
+
\documentclass{article}
|
69
70
|
|
70
71
|
\usepackage[T1]{fontenc}
|
71
72
|
|
@@ -109,9 +110,11 @@ end
|
|
109
110
|
|
110
111
|
<% end %>
|
111
112
|
|
113
|
+
<% if !profile.member_url_resources.nil? %>
|
112
114
|
<% for @url in profile.member_url_resources.all %>
|
113
115
|
\NewEntry{website}{\href{<%= @url.url %>}{<%= @url.url %>}} % Personal website
|
114
116
|
|
117
|
+
<% end %>
|
115
118
|
<% end %>
|
116
119
|
|
117
120
|
<% if !options['home_phone'].nil? && !options['mobile_phone'].nil? %>
|
@@ -135,6 +138,7 @@ end
|
|
135
138
|
% WORK EXPERIENCE
|
136
139
|
%----------------------------------------------------------------------------------------
|
137
140
|
|
141
|
+
<% if !profile.positions.nil? %>
|
138
142
|
\noindent\spacedlowsmallcaps{Professional Experience}\vspace{1em}
|
139
143
|
|
140
144
|
<% for @position in profile.positions.all %>
|
@@ -166,9 +170,11 @@ end
|
|
166
170
|
|
167
171
|
\vspace{1em} % Extra space between major sections
|
168
172
|
|
173
|
+
<% end %>
|
169
174
|
%----------------------------------------------------------------------------------------
|
170
175
|
% PROJECTS
|
171
176
|
%----------------------------------------------------------------------------------------
|
177
|
+
<% if !profile.projects.nil? %>
|
172
178
|
|
173
179
|
\noindent\spacedlowsmallcaps{Projects}\vspace{1em}
|
174
180
|
|
@@ -203,12 +209,14 @@ end
|
|
203
209
|
|
204
210
|
\vspace{1em} % Extra space between major sections
|
205
211
|
|
212
|
+
<% end %>
|
206
213
|
%----------------------------------------------------------------------------------------
|
207
214
|
% EDUCATION
|
208
215
|
%----------------------------------------------------------------------------------------
|
209
|
-
|
216
|
+
<% if !profile.educations.nil? %>
|
210
217
|
\spacedlowsmallcaps{Education}\vspace{1em}
|
211
218
|
|
219
|
+
|
212
220
|
<% for @education in profile.educations.all %>
|
213
221
|
|
214
222
|
\NewEntry{<%=@education.start_date.year %>-<%=@education.end_date.year %>}{<%= @education.school_name %>}
|
@@ -253,6 +261,7 @@ end
|
|
253
261
|
|
254
262
|
\vspace{1em} % Extra space between major sections
|
255
263
|
|
264
|
+
<% end %>
|
256
265
|
%----------------------------------------------------------------------------------------
|
257
266
|
% PUBLICATIONS
|
258
267
|
%----------------------------------------------------------------------------------------
|
@@ -276,7 +285,7 @@ end
|
|
276
285
|
%----------------------------------------------------------------------------------------
|
277
286
|
% COMPUTER SKILLS
|
278
287
|
%----------------------------------------------------------------------------------------
|
279
|
-
|
288
|
+
<% if !profile.skills.nil? %>
|
280
289
|
\spacedlowsmallcaps{Expertise\textbackslash Skills}\vspace{1em}
|
281
290
|
|
282
291
|
\Description{\MarginText{Leadership}
|
@@ -307,14 +316,16 @@ end
|
|
307
316
|
|
308
317
|
\vspace{1em} % Extra space between major sections
|
309
318
|
|
319
|
+
<% end %>
|
310
320
|
%----------------------------------------------------------------------------------------
|
311
321
|
% OTHER INFORMATION
|
312
322
|
%----------------------------------------------------------------------------------------
|
323
|
+
<% if !profile.interests.nil? %>
|
313
324
|
|
314
325
|
\spacedlowsmallcaps{Other Information}\vspace{1em}
|
315
326
|
|
316
327
|
\Description{\MarginText{Interests}<%= profile.interests.gsub(',', '\\\ \\\ $\\\cdotp$\\\ \\\ ')%>}
|
317
|
-
|
328
|
+
<% end %>
|
318
329
|
%----------------------------------------------------------------------------------------
|
319
330
|
|
320
331
|
\AtEndDocument{\vfill%
|
data/texlive.packages
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linkedin2cv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mefellows
|
@@ -336,7 +336,8 @@ description: Turn your LinkedIn Profile into a professional resume in many forma
|
|
336
336
|
(PDF / HTML5 / LaTeX / Asciidoc)
|
337
337
|
email:
|
338
338
|
- matt.fellows@onegeek.com.au
|
339
|
-
executables:
|
339
|
+
executables:
|
340
|
+
- linkedin2cv
|
340
341
|
extensions: []
|
341
342
|
extra_rdoc_files: []
|
342
343
|
files:
|
@@ -354,9 +355,9 @@ files:
|
|
354
355
|
- app.rb
|
355
356
|
- app/routes/api.rb
|
356
357
|
- app/routes/web.rb
|
357
|
-
- app/views/hello.erb
|
358
358
|
- app/views/home.erb
|
359
359
|
- app/views/index.haml
|
360
|
+
- bin/linkedin2cv
|
360
361
|
- config.ru
|
361
362
|
- config.yml
|
362
363
|
- lib/linkedin2cv/cli/command.rb
|
@@ -394,16 +395,17 @@ files:
|
|
394
395
|
- public/test/spec/services/happyapi.js
|
395
396
|
- public/test/spec/services/happyservice.js
|
396
397
|
- spec/converter_spec.rb
|
398
|
+
- spec/latex_renderer_spec.rb
|
397
399
|
- spec/mocks/config.yml
|
400
|
+
- spec/mocks/matt.latex
|
398
401
|
- spec/mocks/profile.json
|
399
402
|
- spec/spec_helper.rb
|
400
403
|
- templates/cv.erb
|
401
404
|
- templates/foo.asciidoc
|
402
405
|
- templates/foo.latex
|
403
|
-
- test.rb
|
404
|
-
- test.sh
|
405
406
|
- teust.rb
|
406
|
-
|
407
|
+
- texlive.packages
|
408
|
+
homepage: http://linkedin2cv.herokuapp.com
|
407
409
|
licenses:
|
408
410
|
- MIT
|
409
411
|
metadata: {}
|
@@ -429,6 +431,8 @@ specification_version: 4
|
|
429
431
|
summary: Linkedin2CV
|
430
432
|
test_files:
|
431
433
|
- spec/converter_spec.rb
|
434
|
+
- spec/latex_renderer_spec.rb
|
432
435
|
- spec/mocks/config.yml
|
436
|
+
- spec/mocks/matt.latex
|
433
437
|
- spec/mocks/profile.json
|
434
438
|
- spec/spec_helper.rb
|
data/app/views/hello.erb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
<html>
|
2
|
-
<body>
|
3
|
-
<h1>Simple Echo & Chat Server</h1>
|
4
|
-
<form id="form">
|
5
|
-
<input type="text" id="input" value="send a message"></input>
|
6
|
-
</form>
|
7
|
-
<div id="msgs"></div>
|
8
|
-
</body>
|
9
|
-
|
10
|
-
<script type="text/javascript">
|
11
|
-
window.onload = function(){
|
12
|
-
(function(){
|
13
|
-
var show = function(el){
|
14
|
-
return function(msg){ el.innerHTML = msg + '<br />' + el.innerHTML; }
|
15
|
-
}(document.getElementById('msgs'));
|
16
|
-
|
17
|
-
var url = 'ws://' + window.location.host + '/socket';
|
18
|
-
alert('opening connection to: ' + url)
|
19
|
-
var ws = new WebSocket(url);
|
20
|
-
ws.onopen = function() { show('websocket opened'); };
|
21
|
-
ws.onclose = function() { show('websocket closed'); }
|
22
|
-
ws.onmessage = function(m) { show('websocket message: ' + m.data); };
|
23
|
-
|
24
|
-
var sender = function(f){
|
25
|
-
var input = document.getElementById('input');
|
26
|
-
input.onclick = function(){ input.value = "" };
|
27
|
-
f.onsubmit = function(){
|
28
|
-
ws.send(input.value);
|
29
|
-
input.value = "send a message";
|
30
|
-
return false;
|
31
|
-
}
|
32
|
-
}(document.getElementById('form'));
|
33
|
-
})();
|
34
|
-
}
|
35
|
-
</script>
|
36
|
-
</html>
|
data/test.rb
DELETED
@@ -1,109 +0,0 @@
|
|
1
|
-
|
2
|
-
API_KEY = '75t9gujk0rzk6l' #Your app's API key
|
3
|
-
API_SECRET = 'ww922LmfF9JhM8Wx' #Your app's API secret
|
4
|
-
REDIRECT_URI = 'http://localhost:3000/accept' #Redirect users after authentication to this path, ensure that you have set up your routes to handle the callbacks
|
5
|
-
STATE = SecureRandom.hex(15) #A unique long string that is not easy to guess
|
6
|
-
|
7
|
-
#Instantiate your OAuth2 client object
|
8
|
-
def client
|
9
|
-
OAuth2::Client.new(
|
10
|
-
API_KEY,
|
11
|
-
API_SECRET,
|
12
|
-
:authorize_url => "/uas/oauth2/authorization?response_type=code", #LinkedIn's authorization path
|
13
|
-
:token_url => "/uas/oauth2/accessToken", #LinkedIn's access token path
|
14
|
-
:site => "https://www.linkedin.com"
|
15
|
-
)
|
16
|
-
end
|
17
|
-
|
18
|
-
def index
|
19
|
-
authorize
|
20
|
-
end
|
21
|
-
|
22
|
-
def authorize
|
23
|
-
#Redirect your user in order to authenticate
|
24
|
-
redirect_to client.auth_code.authorize_url(:scope => 'r_fullprofile r_emailaddress r_network',
|
25
|
-
:state => STATE,
|
26
|
-
:redirect_uri => REDIRECT_URI)
|
27
|
-
end
|
28
|
-
|
29
|
-
# This method will handle the callback once the user authorizes your application
|
30
|
-
def accept
|
31
|
-
#Fetch the 'code' query parameter from the callback
|
32
|
-
code = params[:code]
|
33
|
-
state = params[:state]
|
34
|
-
|
35
|
-
if !state.eql?(STATE)
|
36
|
-
#Reject the request as it may be a result of CSRF
|
37
|
-
else
|
38
|
-
#Get token object, passing in the authorization code from the previous step
|
39
|
-
token = client.auth_code.get_token(code, :redirect_uri => REDIRECT_URI)
|
40
|
-
|
41
|
-
#Use token object to create access token for user
|
42
|
-
#(this is required so that you provide the correct param name for the access token)
|
43
|
-
access_token = OAuth2::AccessToken.new(client, token.token, {
|
44
|
-
:mode => :query,
|
45
|
-
:param_name => "oauth2_access_token",
|
46
|
-
})
|
47
|
-
|
48
|
-
#Use the access token to make an authenticated API call
|
49
|
-
response = access_token.get('https://api.linkedin.com/v1/people/~')
|
50
|
-
|
51
|
-
#Print body of response to command line window
|
52
|
-
puts response.body
|
53
|
-
|
54
|
-
# Handle HTTP responses
|
55
|
-
case response
|
56
|
-
when Net::HTTPUnauthorized
|
57
|
-
# Handle 401 Unauthorized response
|
58
|
-
when Net::HTTPForbidden
|
59
|
-
# Handle 403 Forbidden response
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
|
66
|
-
API_KEY = '75t9gujk0rzk6l' #Your app's API key
|
67
|
-
API_SECRET = 'ww922LmfF9JhM8Wx' #Your app's API secret
|
68
|
-
|
69
|
-
|
70
|
-
# Step 1: Get the auth code
|
71
|
-
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=75t9gujk0rzk6l&scope=r_fullprofile&state=DCEEFWF45453sdffef424&redirect_uri=https://localhost:8080
|
72
|
-
# Step2: Get the access token
|
73
|
-
curl -X POST -H"Content-Type: application/x-www-form-urlencoded" -v "https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&client_id=75t9gujk0rzk6l&client_secret=ww922LmfF9JhM8Wx&redirect_uri=https://localhost:8080&code=AQQ1cLiTvF59ORYKTBOYlJjPAMolXfd4jVzSFu1nog4F3J_el6qfeTGLDQxbRdeO3pre-mHH1mVxF0mxD0BccjCVXMQ0qcWvns4pIIjDXdoW6Q70-DA&state=DCEEFWF45453sdffef424"
|
74
|
-
|
75
|
-
token: AQXgQQmtBtqC24TR9dsgb6jzby4sX7YSsWu3TQ8OEHRwyXTSlrTHEGSxVrNaIJhq-NPl-CH2KC-yxdvS7k_ELRFj_XaoPIaKMhF7-lNeAI_5Tu7nbJFBXTfoxha-WSQXLJSQdcGQzIqXInb18rTTx95XRp9AYaOKOAN3EC2bD2xE48efT1M
|
76
|
-
|
77
|
-
|
78
|
-
# Profile
|
79
|
-
curl -v "https://api.linkedin.com/v1/people/~?oauth2_access_token=AQWQ_pGDPgE0WnicHmI6K8TlI4kguauErfuW4t4g9wxcTt0STraOI5l9drba2yQhe9r53qjJvKMhivuFuATQZNVXY0sOmJK22--pTD3j57aonDPokBEqrfKELQtSURoHR0MKbeuRAYEAjqzXp7u2teRuOt4C3NweYuICOva_Wbdk2VKPw-8"
|
80
|
-
|
81
|
-
# Profile details
|
82
|
-
curl -v "https://api.linkedin.com/v1/people/~?oauth2_access_token=AQXgQQmtBtqC24TR9dsgb6jzby4sX7YSsWu3TQ8OEHRwyXTSlrTHEGSxVrNaIJhq-NPl-CH2KC-yxdvS7k_ELRFj_XaoPIaKMhF7-lNeAI_5Tu7nbJFBXTfoxha-WSQXLJSQdcGQzIqXInb18rTTx95XRp9AYaOKOAN3EC2bD2xE48efT1M"
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
curl -v "https://api.linkedin.com/v1/people/~:(position,company,publication,patent,language,skills,certification,education,course,volunteer,recommendations)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
87
|
-
curl -v "https://api.linkedin.com/v1/people/~?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
88
|
-
curl -v "https://api.linkedin.com/v1/people/~:(people:(id,first-name,last-name,headline,picture-url,industry,positions:(id,title,summary,start-date,end-date,is-current,company:(id,name,type,size,industry,ticker)),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes)),num-results)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills,certifications,educations,courses,volunteer,three-current-positions,three-past-positions,num-recommenders,recommendations-received,mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),volunteer:(id,role,organization:(name),cause:(name)),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received,recommendations:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),volunteer:(id,role,organization:(name),cause:(name)),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
101
|
-
|
102
|
-
# Works
|
103
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQWLZ-F5SSlZo0hKMiC4CQTcgoFwVUgJPgHPEMmE7JeKRgj6_3aAEYW9I4WtExHLHyXBEBoZva4ctKmDgNwtVG56FMG0P41toBLIzzqKGTsHKipdpVVB6Bx7cT7vNyL6v7Bz45226bbnJ6JJNsSzorpXI9zxAEQhUUMuR-5GjhiWeIJJcN4"
|
104
|
-
|
105
|
-
curl -v "https://api.linkedin.com/v1/people/~:(last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?oauth2_access_token=AQWQ_pGDPgE0WnicHmI6K8TlI4kguauErfuW4t4g9wxcTt0STraOI5l9drba2yQhe9r53qjJvKMhivuFuATQZNVXY0sOmJK22--pTD3j57aonDPokBEqrfKELQtSURoHR0MKbeuRAYEAjqzXp7u2teRuOt4C3NweYuICOva_Wbdk2VKPw-8"
|
106
|
-
curl -v "https://api.linkedin.com/v1/people/~:(projects,main-address,phone-numbers,email-address,first-name,last-name,maiden-name,formatted-name,phonetic-first-name,phonetic-last-name,formatted-phonetic-name,headline,location:(name,country:(code)),industry,current-status,current-share,num-connections,num-connections-capped,summary,specialties,positions,picture-url,api-standard-profile-request:(url,headers),public-profile-url,last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQUAZ5-05E9BYyrXJOgnLsRSLgIKzvnPZ2Fu3ZbTWlYqxULuRJISbvan1sBCTqUSYGpI5jm1D-4IDOyJxRRTCB4Nkq4jY7oX-nhkYGqJ_IViMqZX3L-DNwYROgTnOBVZpb-QKObXFZZjMdSOnyhmpJ_E7YMAVsYHn8ph7fUhJJACw0AFq4A"
|
107
|
-
|
108
|
-
|
109
|
-
curl -v "https://api.linkedin.com/v1/people/~:(projects:(start-date,description,id,name,url,occupation),main-address,phone-numbers,email-address,first-name,last-name,maiden-name,formatted-name,phonetic-first-name,phonetic-last-name,formatted-phonetic-name,headline,location:(name,country:(code)),industry,current-status,current-share,num-connections,num-connections-capped,summary,specialties,positions,picture-url,api-standard-profile-request:(url,headers),public-profile-url,last-modified-timestamp,proposal-comments,associations,interests,publications:(id,title,publisher:(name),authors:(id,name,person),date,url,summary),patents,languages:(id,language:(name),proficiency:(level,name)),skills:(id,skill:(name)),certifications:(id,name,authority:(name),number,start-date,end-date),educations:(id,school-name,field-of-study,start-date,end-date,degree,activities,notes),courses:(id,name,number),three-current-positions:(id,title,summary,start-date,end-date,is-current,company),three-past-positions:(id,title,summary,start-date,end-date,is-current,company),num-recommenders,recommendations-received:(id,recommendation-type,recommendation-text,recommender),mfeed-rss-url,following,job-bookmarks,suggestions,date-of-birth,member-url-resources:(url,name),related-profile-views,honors-awards)?format=json&oauth2_access_token=AQUAZ5-05E9BYyrXJOgnLsRSLgIKzvnPZ2Fu3ZbTWlYqxULuRJISbvan1sBCTqUSYGpI5jm1D-4IDOyJxRRTCB4Nkq4jY7oX-nhkYGqJ_IViMqZX3L-DNwYROgTnOBVZpb-QKObXFZZjMdSOnyhmpJ_E7YMAVsYHn8ph7fUhJJACw0AFq4A"
|
data/test.sh
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
find . -type f -iname '*linkedin2cv *' | grep -v '\.git' | xargs rename 's@linkedin2cv @linkedin2cv @gi' {}
|
4
|
-
find . -type d -iname '*linkedin2cv *' | grep -v '\.git' | xargs rename 's@linkedin2cv @linkedin2cv @gi' {}
|
5
|
-
find . -type f | grep -v '\.git' | xargs sed -i 's/linkedin2cv /linkedin2cv /g'
|
6
|
-
find . -type f | grep -v '\.git' | xargs sed -i 's/Linkedin2Resume/Linkedin2Resume/g'
|