Skip to content

Commit a805c35

Browse files
committed
alphabetical order of commands and removed duplicates
1 parent cd6cf52 commit a805c35

File tree

2 files changed

+79
-74
lines changed

2 files changed

+79
-74
lines changed

Default.sublime-commands

Lines changed: 57 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,71 @@
11
[
2+
{"caption": "Laravel Docs: Artisan", "command": "laravel_docs", "args": {"page": "artisan"}},
3+
{"caption": "Laravel Docs: Authentication", "command": "laravel_docs", "args": {"page": "authentication"}},
4+
{"caption": "Laravel Docs: Authorization", "command": "laravel_docs", "args": {"page": "authorization"}},
5+
{"caption": "Laravel Docs: Billing", "command": "laravel_docs", "args": {"page": "billing"}},
26
{"caption": "Laravel Docs: Blade", "command": "laravel_docs", "args": {"page": "blade"}},
3-
{"caption": "Laravel Docs: Eloquent Mutators", "command": "laravel_docs", "args": {"page": "eloquent-mutators"}},
4-
{"caption": "Laravel Docs: Providers", "command": "laravel_docs", "args": {"page": "providers"}},
5-
{"caption": "Laravel Docs: Controllers", "command": "laravel_docs", "args": {"page": "controllers"}},
7+
{"caption": "Laravel Docs: Broadcasting", "command": "laravel_docs", "args": {"page": "broadcasting"}},
8+
{"caption": "Laravel Docs: Cache", "command": "laravel_docs", "args": {"page": "cache"}},
69
{"caption": "Laravel Docs: Collections", "command": "laravel_docs", "args": {"page": "collections"}},
7-
{"caption": "Laravel Docs: Queries", "command": "laravel_docs", "args": {"page": "queries"}},
8-
{"caption": "Laravel Docs: Eloquent Serialization", "command": "laravel_docs", "args": {"page": "eloquent-serialization"}},
9-
{"caption": "Laravel Docs: Packages", "command": "laravel_docs", "args": {"page": "packages"}},
10-
{"caption": "Laravel Docs: Routing", "command": "laravel_docs", "args": {"page": "routing"}},
10+
{"caption": "Laravel Docs: Configuration", "command": "laravel_docs", "args": {"page": "configuration"}},
11+
{"caption": "Laravel Docs: Container", "command": "laravel_docs", "args": {"page": "container"}},
12+
{"caption": "Laravel Docs: Contracts", "command": "laravel_docs", "args": {"page": "contracts"}},
1113
{"caption": "Laravel Docs: Contributions", "command": "laravel_docs", "args": {"page": "contributions"}},
12-
{"caption": "Laravel Docs: Mail", "command": "laravel_docs", "args": {"page": "mail"}},
13-
{"caption": "Laravel Docs: Scheduling", "command": "laravel_docs", "args": {"page": "scheduling"}},
14-
{"caption": "Laravel Docs: Horizon", "command": "laravel_docs", "args": {"page": "horizon"}},
15-
{"caption": "Laravel Docs: Events", "command": "laravel_docs", "args": {"page": "events"}},
16-
{"caption": "Laravel Docs: Facades", "command": "laravel_docs", "args": {"page": "facades"}},
14+
{"caption": "Laravel Docs: Controllers", "command": "laravel_docs", "args": {"page": "controllers"}},
15+
{"caption": "Laravel Docs: Csrf", "command": "laravel_docs", "args": {"page": "csrf"}},
16+
{"caption": "Laravel Docs: Database", "command": "laravel_docs", "args": {"page": "database"}},
1717
{"caption": "Laravel Docs: Database Testing", "command": "laravel_docs", "args": {"page": "database-testing"}},
18-
{"caption": "Laravel Docs: Queues", "command": "laravel_docs", "args": {"page": "queues"}},
19-
{"caption": "Laravel Docs: Eloquent Relationships", "command": "laravel_docs", "args": {"page": "eloquent-relationships"}},
2018
{"caption": "Laravel Docs: Deployment", "command": "laravel_docs", "args": {"page": "deployment"}},
21-
{"caption": "Laravel Docs: Database", "command": "laravel_docs", "args": {"page": "database"}},
22-
{"caption": "Laravel Docs: Database#Configuration", "command": "laravel_docs", "args": {"page": "database"}},
23-
{"caption": "Laravel Docs: Session", "command": "laravel_docs", "args": {"page": "session"}},
24-
{"caption": "Laravel Docs: Upgrade", "command": "laravel_docs", "args": {"page": "upgrade"}},
25-
{"caption": "Laravel Docs: Installation", "command": "laravel_docs", "args": {"page": "installation"}},
26-
{"caption": "Laravel Docs: Urls", "command": "laravel_docs", "args": {"page": "urls"}},
27-
{"caption": "Laravel Docs: Authentication", "command": "laravel_docs", "args": {"page": "authentication"}},
28-
{"caption": "Laravel Docs: Redis", "command": "laravel_docs", "args": {"page": "redis"}},
29-
{"caption": "Laravel Docs: Frontend", "command": "laravel_docs", "args": {"page": "frontend"}},
30-
{"caption": "Laravel Docs: Requests", "command": "laravel_docs", "args": {"page": "requests"}},
31-
{"caption": "Laravel Docs: Session#Configuration", "command": "laravel_docs", "args": {"page": "session"}},
32-
{"caption": "Laravel Docs: Seeding", "command": "laravel_docs", "args": {"page": "seeding"}},
33-
{"caption": "Laravel Docs: Authorization", "command": "laravel_docs", "args": {"page": "authorization"}},
34-
{"caption": "Laravel Docs: Artisan", "command": "laravel_docs", "args": {"page": "artisan"}},
19+
{"caption": "Laravel Docs: Dusk", "command": "laravel_docs", "args": {"page": "dusk"}},
20+
{"caption": "Laravel Docs: Eloquent", "command": "laravel_docs", "args": {"page": "eloquent"}},
21+
{"caption": "Laravel Docs: Eloquent Collections", "command": "laravel_docs", "args": {"page": "eloquent-collections"}},
22+
{"caption": "Laravel Docs: Eloquent Mutators", "command": "laravel_docs", "args": {"page": "eloquent-mutators"}},
23+
{"caption": "Laravel Docs: Eloquent Relationships", "command": "laravel_docs", "args": {"page": "eloquent-relationships"}},
24+
{"caption": "Laravel Docs: Eloquent Resources", "command": "laravel_docs", "args": {"page": "eloquent-resources"}},
25+
{"caption": "Laravel Docs: Eloquent Serialization", "command": "laravel_docs", "args": {"page": "eloquent-serialization"}},
26+
{"caption": "Laravel Docs: Encryption", "command": "laravel_docs", "args": {"page": "encryption"}},
27+
{"caption": "Laravel Docs: Envoy", "command": "laravel_docs", "args": {"page": "envoy"}},
3528
{"caption": "Laravel Docs: Errors", "command": "laravel_docs", "args": {"page": "errors"}},
36-
{"caption": "Laravel Docs: Pagination", "command": "laravel_docs", "args": {"page": "pagination"}},
37-
{"caption": "Laravel Docs: Structure", "command": "laravel_docs", "args": {"page": "structure"}},
29+
{"caption": "Laravel Docs: Events", "command": "laravel_docs", "args": {"page": "events"}},
30+
{"caption": "Laravel Docs: Facades", "command": "laravel_docs", "args": {"page": "facades"}},
31+
{"caption": "Laravel Docs: Filesystem", "command": "laravel_docs", "args": {"page": "filesystem"}},
32+
{"caption": "Laravel Docs: Frontend", "command": "laravel_docs", "args": {"page": "frontend"}},
33+
{"caption": "Laravel Docs: Hashing", "command": "laravel_docs", "args": {"page": "hashing"}},
34+
{"caption": "Laravel Docs: Helpers", "command": "laravel_docs", "args": {"page": "helpers"}},
35+
{"caption": "Laravel Docs: Homestead", "command": "laravel_docs", "args": {"page": "homestead"}},
36+
{"caption": "Laravel Docs: Horizon", "command": "laravel_docs", "args": {"page": "horizon"}},
37+
{"caption": "Laravel Docs: Http Tests", "command": "laravel_docs", "args": {"page": "http-tests"}},
38+
{"caption": "Laravel Docs: Installation", "command": "laravel_docs", "args": {"page": "installation"}},
39+
{"caption": "Laravel Docs: Lifecycle", "command": "laravel_docs", "args": {"page": "lifecycle"}},
40+
{"caption": "Laravel Docs: Localization", "command": "laravel_docs", "args": {"page": "localization"}},
41+
{"caption": "Laravel Docs: Mail", "command": "laravel_docs", "args": {"page": "mail"}},
42+
{"caption": "Laravel Docs: Middleware", "command": "laravel_docs", "args": {"page": "middleware"}},
3843
{"caption": "Laravel Docs: Migrations", "command": "laravel_docs", "args": {"page": "migrations"}},
3944
{"caption": "Laravel Docs: Mix", "command": "laravel_docs", "args": {"page": "mix"}},
40-
{"caption": "Laravel Docs: Testing", "command": "laravel_docs", "args": {"page": "testing"}},
41-
{"caption": "Laravel Docs: Billing", "command": "laravel_docs", "args": {"page": "billing"}},
42-
{"caption": "Laravel Docs: Broadcasting", "command": "laravel_docs", "args": {"page": "broadcasting"}},
43-
{"caption": "Laravel Docs: Container", "command": "laravel_docs", "args": {"page": "container"}},
44-
{"caption": "Laravel Docs: Scout", "command": "laravel_docs", "args": {"page": "scout"}},
45-
{"caption": "Laravel Docs: Cache#Configuration", "command": "laravel_docs", "args": {"page": "cache"}},
46-
{"caption": "Laravel Docs: Hashing", "command": "laravel_docs", "args": {"page": "hashing"}},
4745
{"caption": "Laravel Docs: Mocking", "command": "laravel_docs", "args": {"page": "mocking"}},
48-
{"caption": "Laravel Docs: Filesystem", "command": "laravel_docs", "args": {"page": "filesystem"}},
49-
{"caption": "Laravel Docs: Releases", "command": "laravel_docs", "args": {"page": "releases"}},
50-
{"caption": "Laravel Docs: Validation", "command": "laravel_docs", "args": {"page": "validation"}},
51-
{"caption": "Laravel Docs: Valet", "command": "laravel_docs", "args": {"page": "valet"}},
52-
{"caption": "Laravel Docs: Envoy", "command": "laravel_docs", "args": {"page": "envoy"}},
53-
{"caption": "Laravel Docs: Localization", "command": "laravel_docs", "args": {"page": "localization"}},
54-
{"caption": "Laravel Docs: Http Tests", "command": "laravel_docs", "args": {"page": "http-tests"}},
55-
{"caption": "Laravel Docs: Homestead", "command": "laravel_docs", "args": {"page": "homestead"}},
56-
{"caption": "Laravel Docs: Dusk", "command": "laravel_docs", "args": {"page": "dusk"}},
57-
{"caption": "Laravel Docs: Views", "command": "laravel_docs", "args": {"page": "views"}},
58-
{"caption": "Laravel Docs: Eloquent Collections", "command": "laravel_docs", "args": {"page": "eloquent-collections"}},
59-
{"caption": "Laravel Docs: Csrf", "command": "laravel_docs", "args": {"page": "csrf"}},
60-
{"caption": "Laravel Docs: Encryption", "command": "laravel_docs", "args": {"page": "encryption"}},
46+
{"caption": "Laravel Docs: Notifications", "command": "laravel_docs", "args": {"page": "notifications"}},
47+
{"caption": "Laravel Docs: Packages", "command": "laravel_docs", "args": {"page": "packages"}},
48+
{"caption": "Laravel Docs: Pagination", "command": "laravel_docs", "args": {"page": "pagination"}},
6149
{"caption": "Laravel Docs: Passport", "command": "laravel_docs", "args": {"page": "passport"}},
62-
{"caption": "Laravel Docs: Middleware", "command": "laravel_docs", "args": {"page": "middleware"}},
6350
{"caption": "Laravel Docs: Passwords", "command": "laravel_docs", "args": {"page": "passwords"}},
64-
{"caption": "Laravel Docs: Eloquent", "command": "laravel_docs", "args": {"page": "eloquent"}},
65-
{"caption": "Laravel Docs: Eloquent Resources", "command": "laravel_docs", "args": {"page": "eloquent-resources"}},
66-
{"caption": "Laravel Docs: Contracts", "command": "laravel_docs", "args": {"page": "contracts"}},
67-
{"caption": "Laravel Docs: Socialite", "command": "laravel_docs", "args": {"page": "socialite"}},
68-
{"caption": "Laravel Docs: Cache", "command": "laravel_docs", "args": {"page": "cache"}},
69-
{"caption": "Laravel Docs: Notifications", "command": "laravel_docs", "args": {"page": "notifications"}},
70-
{"caption": "Laravel Docs: Lifecycle", "command": "laravel_docs", "args": {"page": "lifecycle"}},
51+
{"caption": "Laravel Docs: Providers", "command": "laravel_docs", "args": {"page": "providers"}},
52+
{"caption": "Laravel Docs: Queries", "command": "laravel_docs", "args": {"page": "queries"}},
53+
{"caption": "Laravel Docs: Queues", "command": "laravel_docs", "args": {"page": "queues"}},
54+
{"caption": "Laravel Docs: Redis", "command": "laravel_docs", "args": {"page": "redis"}},
55+
{"caption": "Laravel Docs: Releases", "command": "laravel_docs", "args": {"page": "releases"}},
56+
{"caption": "Laravel Docs: Requests", "command": "laravel_docs", "args": {"page": "requests"}},
7157
{"caption": "Laravel Docs: Responses", "command": "laravel_docs", "args": {"page": "responses"}},
72-
{"caption": "Laravel Docs: Helpers", "command": "laravel_docs", "args": {"page": "helpers"}},
73-
{"caption": "Laravel Docs: Configuration", "command": "laravel_docs", "args": {"page": "configuration"}}
58+
{"caption": "Laravel Docs: Routing", "command": "laravel_docs", "args": {"page": "routing"}},
59+
{"caption": "Laravel Docs: Scheduling", "command": "laravel_docs", "args": {"page": "scheduling"}},
60+
{"caption": "Laravel Docs: Scout", "command": "laravel_docs", "args": {"page": "scout"}},
61+
{"caption": "Laravel Docs: Seeding", "command": "laravel_docs", "args": {"page": "seeding"}},
62+
{"caption": "Laravel Docs: Session", "command": "laravel_docs", "args": {"page": "session"}},
63+
{"caption": "Laravel Docs: Socialite", "command": "laravel_docs", "args": {"page": "socialite"}},
64+
{"caption": "Laravel Docs: Structure", "command": "laravel_docs", "args": {"page": "structure"}},
65+
{"caption": "Laravel Docs: Testing", "command": "laravel_docs", "args": {"page": "testing"}},
66+
{"caption": "Laravel Docs: Upgrade", "command": "laravel_docs", "args": {"page": "upgrade"}},
67+
{"caption": "Laravel Docs: Urls", "command": "laravel_docs", "args": {"page": "urls"}},
68+
{"caption": "Laravel Docs: Valet", "command": "laravel_docs", "args": {"page": "valet"}},
69+
{"caption": "Laravel Docs: Validation", "command": "laravel_docs", "args": {"page": "validation"}},
70+
{"caption": "Laravel Docs: Views", "command": "laravel_docs", "args": {"page": "views"}}
7471
]

scrape.py

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,41 @@
55
# Create a request with a valid User-Agent
66
req = urllib.request.Request(
77
'https://laravel.com/docs/',
8-
data = None,
9-
headers = {
10-
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
8+
data=None,
9+
headers={
10+
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) ' +
11+
'AppleWebKit/537.36 (KHTML, like Gecko) ' +
12+
'Chrome/35.0.1916.47 Safari/537.36'
1113
}
1214
)
1315

1416
# Pull the html from the main docs page and find all /docs links
1517
docs = urllib.request.urlopen(req)
1618
links = re.findall('"(/docs/.*?)"', docs.read().decode('utf-8'))
19+
found = []
1720

1821
# Format each link as a sublime command, regenerate the command file
1922
with open('Default.sublime-commands', 'w+') as f:
2023
f.write('[\n')
2124
first = True
22-
for url in set(links):
23-
if not first:
24-
f.write(', \n ')
25-
else:
26-
f.write(' ')
27-
first = False
25+
for url in sorted(set(links)):
2826

29-
topic = url.split('/')[3].title().replace('-', ' ')
27+
topic = url.split('/')[3].title().replace('-', ' ').split('#')[0]
3028
slug = url.split('/')[3].split('#')[0]
3129

32-
j = {"caption": "Laravel Docs: {}".format(topic),
33-
"command": "laravel_docs",
34-
"args": {"page" : "{}".format(slug)}}
35-
json.dump(j,f)
30+
if (topic not in found):
31+
if not first:
32+
f.write(', \n ')
33+
else:
34+
f.write(' ')
35+
first = False
36+
37+
found.append(topic);
38+
j = {
39+
"caption": "Laravel Docs: {}".format(topic),
40+
"command": "laravel_docs",
41+
"args": {"page": "{}".format(slug)}
42+
}
43+
json.dump(j, f)
3644

3745
f.write('\n]\n')

0 commit comments

Comments
 (0)